Avatar billede ulj Nybegynder
14. november 2008 - 16:15 Der er 7 kommentarer og
1 løsning

Pcap: Se hvornår pakke blev afsendt fra afsenderen

Hej

Jeg arbejder med pcap og skal udregne packet delay/latency. Men derved har jeg behov for at vide, hvornår en modtaget pakke er blevet sendt fra afsenderen.

Er denne information mulig at få ud fra pcap?
Avatar billede bertelbrander Novice
14. november 2008 - 23:19 #1
Jeg tror ikke at afsenderen af en pakke fortæller hvornår den er sendt, så pcap kan ikke fortælle det.
Hvis du skal beregne delay og latency bliver du nok nødt til at sende nogle pakker som den anden ende sender tilbage.
Avatar billede arne_v Ekspert
15. november 2008 - 04:09 #2
Hverken IP eller TCP protokollen har et timestamp i headeren.

Så der skal være et timestamp i payload for at det kan lade sig gøre.

Og payload regner jeg med at du allerede har kode til at hente.
Avatar billede ulj Nybegynder
15. november 2008 - 10:07 #3
Jeg har analyseret de forskellige pakketyper og headers i Wireshark, og nej, jeg har heller ikke kunne finde information omkring afsendelsestidspunkt. Forresten så er latency et synonym for delay, mener jeg.

At sende en pakke tilbage til afsenderen igen med et timestamp kan kun anvendes til RTT (Round Trip Time). At dividere RTT med 2 giver et upræcist resultat, da pakken kan være længere tid om at komme tilbage end den tid den var om at komme frem. Desuden måler jeg RTT med gode gamle "Ping" (programmet).

Nej, IP eller TCP har ikke timestamp i header - det er korrekt. Det er også derfor, at det er en Pcap header som Pcap selv smider på hver pakke, som fortæller mig hvornår pakken er blevet modtaget. På denne måde er jeg i stand til at udregne jitter.
Avatar billede ulj Nybegynder
15. november 2008 - 10:12 #4
Det bekræftiger min egen formodning om, at det ikke var muligt at få denne information ud.

Jeg synes i begge fortjener point, så hvis i begge smider et svar, så deler i pointene :-)
Avatar billede bertelbrander Novice
15. november 2008 - 12:41 #5
Hvis du kender den præcise tid på begge maskiner, kan du godt måle tiden i hver retning, men det kræver en meget præcis tid.

Jeg samler ikke på point.
Avatar billede arne_v Ekspert
15. november 2008 - 18:54 #6
NTP burde kunne holde dem indenfor 25 ms.

Hvis der skal måles ned til 2 cifrede ms, så er der ikke kun problemer med det, men også
problemer med tiden fra pakken ankommer til programmet læser data (jeg antager et
ikke-realtime OS).

Og et svar fra mig.
Avatar billede arne_v Ekspert
15. november 2008 - 18:54 #7
en gang mere
Avatar billede ulj Nybegynder
18. november 2008 - 14:46 #8
Du har fået point, arne.

Jeg har droppet at måle delay, og måler derfor kun jitter. Delay måles af et andet program, ping.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester