
|
|
Ethernet - Paketaufbau
Es gibt zwei gebräuchliche Varianten des Ethernet-Protokolls, deren Pakete sich
zwar nur geringfügig unterscheiden, die aber im Ergebnis inkompatibel sind:
Ethernet V2.0 Frame:

IEEE 802.3 Frame:

Die Präambel wird in Schicht 1 zum Paket hinzugefügt und dient der Synchronisation.
Sie gehört damit nicht zum Ethernet-Paket, sondern zur Bitübertragung und besteht
aus 8 Bytes. Die ersten sieben enthalten die Bitfolge "10101010". Bei Ethernet V2.0
folgt im achten Byte die Bitfolge "10101011". IEEE 802.3 bezeichnet dieses Byte als
Start Frame Delimiter (SFD), der Wert ist ebenfalls "10101011", daher wird die Präambel
bei IEEE 802.3 nur mit 7 Bytes angegeben.
Als nächstes folgt die Zieladresse. Sie ist sechs Byte lang und wird als MAC-Adresse
bezeichnet. Jeder Ethernet-Controller hat von seinem Hersteller eine solche Adresse
fest zugewiesen bekommen, welche aber per Software geändert werden kann. Dies ist
sogar standardkonform, es muss aber unbedingt davon abgeraten werden, dann durch
eigene Manipulation kann es dann zu doppelten MAC-Adressen im Netzwerk kommen, was
fatal wäre. Die ersten drei Byte einer MAC-Adresse lassen dabei Rückschlüsse auf den
Hersteller eines Controllers zu, der Rest wird vom Hersteller frei vergeben, muss
aber eindeutig sein. MAC-Adressen weisen noch eine Besonderheit auf: das Least
Significant Bit (LSB) im ersten Byte bedeutet eine Unicast-Adress („0“) oder eine
Gruppenadresse (Multicast, „1“). Sind alle Bits einer Adresse auf „1“ gesetzt,
handelt es sich um einen Broadcast, also eine Nachricht an alle.
Als Quelladresse wird die MAC-Adresse des eigenen Ethernet-Controllers eingesetzt.
Damit weiß der Empfänger, an wen er antworten soll.
Als nächstes folgt der eigentliche Unterschied der beiden Frame-Typen: Ethernet
V2.0 setzt hier eine 2 Byte lange Typ-Kennung ein, die das Protokoll der nächsthöheren
Schicht angibt, das in den Nutzdaten des Pakets transportiert wird. Für das
IP-Protokoll ist die Kennung beispielsweise 2048h (hexadezimal). Der 802.3-Frame
enthält an dieser Stelle die Paketlänge. Per Norm sind in Ethernet V2.0 die
möglichen Kennungen alle größer als die maximale Paketgröße des Ethernet-Frames
(1518 Bytes ohne Präambel), so dass die Protokollvariante aus diesem Feld
eindeutig hervorgeht.
Die Nutzdaten können zwischen 46 und 1500 Bytes umfassen, so dass sich eine
Gesamtlänge des Pakets von 64 - 1518 Bytes (ohne Präambel) ergibt.
Abgeschlossen wird das Paket durch eine 4 Bytes lange Frame Check Sequence. Sie
stellt eine Prüfsumme (mittels Polynomdivision) dar, anhand derer der Empfänger
prüfen kann, ob ein Frame während der Übertragung ein oder mehrere Bitfehler
erfahren hat. Ist dies der Fall, werden auf dieser Ebene (Schicht 2a) die Frames
einfach verworfen, sonst passiert weiter nichts. Es ist dann die Aufgabe der
höheren Schichten, für eine Korrektur zu sorgen.
|
|