/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Timestamp i pcap
Fra : Jeppe Vesterbaek


Dato : 06-11-03 10:36

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


 
 
Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste