Ethernet rammeformat

Fra IT2
Hopp til: navigasjon, søk

Utformingen av en ramme, med hodefelter og nyttelast, kalles rammens format. Ethernet-rammen inneholder foruten nyttelasten en del nødvendig informasjon for at rammen skal kunne transporteres i Ethernet-nettverket. En Ethernet-ramme må minimum være 64 byte lang og maksimalt 1518 (inkludert hodefelter og nyttelast). Rammen består i grove trekk av mottatkers- og avsenders-MAC-adresse, et felt for å angi hvilken protokoll som brukes i nyttelasten, sjekksum for å muliggjøre integritetssjekk og selve nyttelasten.

Det finnes flere ulike og delvis inkompatible rammeformater. Hvilket format som brukes når en node skal sende ut en ramme, avhenger av hvilken protokoll som benyttes på nettverkslaget. Denne artikkelen tar for seg rammeformatet som brukes dersom man kommuniserer med TCP/IP. Hvilken hastighet som benyttes har ingenting å si for rammeformatet. Navnet på selve rammetformatet som blir omhandlet i denne artikkelen heter IEEE 802.3 med EtherType-felt (også kjent som Ethernet II frame elller DIX frame). Grunnet til at akkurat dette rammeformatet ble valgt, er fordi det er det klart mest bruke av rammeformatene (det brukes av ARP, IPv4 og IPv6 over Ethernet).

Figuren nedenfor viser formatet til denne typen Ethernet-rammen. Betegnelsene på hodefeltene er i all hovedsak brukt slik de står i standardiseringsdokumentene.



Eramme2.jpg


  • Preamble: Blir vanligvis ikke regnet som en del av rammen. Det er en serie på 56 bit som alternerer mellom 1 og 0 og brukes for å synkronisere mottakeren av signalstrømmen. Innhold: 101010101010....
  • Start Frame Delimiter(SFD): Blir heller ikke vanligvis regnet som en del av rammen. Det er en serie på 8 bit som brukes for å gi mottakeren av signalet beskjed om at nå begynner selve rammen. Dette er i realiteten en fortsettelse av preamble, men de to sistene bitene er 11 istedet for 10. Innhold: 10101011.
  • Destination Adress: Dette er mottakerens MAC-adresse. Eksempel på innhold (i kolon-hex-notasjon): 00:08:A1:4B:23:56.
  • Source Adress: Dette er avsenders MAC-adresse. Eksempel på innhold (i kolon-hex-notasjon): 00:04:75:9C:D3:24.
  • Type: Et felt som beskriver innholdet av nyttelasten. IEEE vedlikeholder EtherType-registeret med oversikt over mulige verdier i dette feltet. Eksempel på innhold: 0x0800^2 (=IPv4).
  • Payload: Dette er selve nyttelasten. Inneholder for eksempel IP- eller ARP-pakke.
  • Pad: Ekstra felt for små nyttelaster. Som nevnt tidligere kan en Ethernet-ramme minimum være på 64 byte, inkludert hodefelter og nyttelast, men eksklusive Preamble og SFD. Dette er en forutsetning for at kollisjonsdeteksjonen i CSMA/CD skal fungere når man bygger nettverk med avstander helt opp i maksimalt av hva standardene tillater. Dersom nyttelasten er liten, kan rammen rammen bli mindre enn 64 byte. Da må noden som genererer rammen, fylle på med ekstra bit (padding). Dette er typisk en serie med binære 0-er. Eksempel på innhold: 0000000000000.
  • Frame Control Sequence (FCS). Dette er en sjekksum som genereres av avsenderen slik at mottakeren kan sjekke om rammen er intakt (at den ikke er korrupt). Avsenderen genererer sjekksummen ved hjelp av CRC-algoritmen (Cyclic Redundancy Check), med resten av rammen som inndata til funksjonen. Når rammen kommer frem til mottakeren, gjøres en ny kalkulering og resultatet sammenlignes med verdien i FCS-feltet. Dersom de to verdiene stemmer, er rammen inntakt og kan sendes til lag 3-funksjonalitet for videre behandling. Dersom verdiene ikke skulle stemme, blir rammen forkastet. Ved feil er det med andre ord opp til høyere lags protokoller som TCP å sørge for eventuell resending.