Avatar billede sibor Nybegynder
06. november 2003 - 09:38 Der er 1 løsning

PCAP - timestamps

Hej

Til et projekt, jeg er i gang med, skal jeg grappe pakker lige over MAC laget. Til dette formål bruger jeg pcap (libpcap). I den forbindelse er jeg løbet ind i et par spørgsmål, jeg ikke umiddelbart har kunnet finde svar på.

1. I et paper om BSD packet filter (som pcap benytter) fra 1993, har jeg kunnet læse, at indkomne pakker opsnappes direkte fra device dirveren (køres gennem BSD filter) inden den sendes videre op gennem protokolstakken. Denne oplysning afføder to spørgsmål:

a) Hvor starter denne protokol stak rent faktisk? Hvad er interfacet mellem protokol stakken og device driveren? Er vi kommet helt gennem MAC laget?

b) Opsnappes pakken på helt samme sted (dvs. lige mellem stakken og device driveren, når en pakke sendes fra computeren, pcap kører på?

Pcap angiver en timestamp for hver opsnappet pakke. Efter at have gransket kildekoden lidt, er jeg kommet frem til, at pcap får dette stamp via et ioctl kernel kald med request code SIOCGSTAMP. Så vidt, så godt. Dette timestamp har jeg fundet frem til må stamme fra sk_buff strucket defineret i <linux/sk_buff.h> (en instans "oprettes" til hver pakke). Spørgsmålet er nu så:

c) Hvor og hvornår gives denne stamp i sk_buff værdi?


Håber på svar fra jer kvikke hoveder derude...

Skulle nogle af jer have lidt svært ved at følge mig, så er her en lille tegning. Det er altså tiden ved MAC-laget pakker der både sendes og modtages skal registeres. Tiden over APP laget har jeg ingen probelmer med at måle.

  COMP
---------  <--- tid måles her
|  APP  |
---------
| TRANS |
---------
|  IP  |
---------  <-- tid måles her (PCAP)
|  MAC  |
---------
|  PHY  |
---------


/Jeppe
Avatar billede sibor Nybegynder
14. december 2003 - 23:59 #1
Lukker lige spm.
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

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