Ethernet/Frame: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 211: Zeile 211:
*Beim Ethernet lautet die Magic Number 0xC704DD7B.
*Beim Ethernet lautet die Magic Number 0xC704DD7B.
[[Kategorie:Ethernet]]
[[Kategorie:Ethernet]]
=== Mindestgröße der Frames ===
Ein Frame muss mindestens 64 Byte groß sein
* 68 Byte bei Tagged
* Minimale Slot-Time zur Erkennung von Kollisionen
* Andernfalls werden Bit ergänzt
{| class="wikitable"
! Standard !! Mindestgröße Daten
|-----
|Ethernet II
|46 Bytes
|-----
|Ethernet 802.3
|42 Bytes
|-----
|}
{| class="wikitable"
|+ VLAN 802.1q (tagged)
! Standard !! Mindestgröße Daten
|-----
|Ethernet Version 2.0 tagged
|46 Bytes
|-----
|IEEE 802.3 tagged
|46 Bytes
|-----
|}

Version vom 3. Dezember 2022, 21:49 Uhr

Ethernet Formate

  • Es gibt vier Typen von Ethernet-Frames.
    • Ethernet-Version I (nicht mehr benutzt, Definition 1980 durch Konsortium DEC, Intel und Xerox).
    • Der Ethernet-Version-2- oder Ethernet-II-Frame, der sogenannte DIX-Frame (Definition 1982 durch das Konsortium DEC, Intel und Xerox).


Seit 1983 entsteht der Standard IEEE 802.3, dieser definiert zwei weitere Frame-Formate:

  1. IEEE 802.3 3.1.a Basic MAC frame
  2. IEEE 802.3 3.1.b Tagged MAC frame
  • definiert das 16-bit-Feld nach den MAC-Adressen als Type/Length-Feld.
  • Ethernet ist quasi ein Synonym für diesen Standard.

Ethernet Version 2

Das heute ausschließlich verwendete Ethernet-Datenblockformat

Ethernet-Version-2 Frame
Ethernet Version 2 Tagged
Ethernet-II Standard mit 802.1Q VLAN-Tag

Ethernet 802.3 Raw (Novell)

802.3raw, die vermeintliche Rohversion des 802.3-Pakets

Ethernet IEEE 802.3 Basic

Neu sind „DSAP“ und „SSAP“, ersetzt Type-Field
Ethernet 802.3 Tagged
Ethernet-II nach IEEE 802.3 (mit 802.1Q VLAN-Tag)
  • das Ethernetframe ist auf der Sicherungsschicht (Schicht 2) des OSI-Modells.

Aufbau nach IEEE 802.3

  • Ethernet überträgt die Daten seriell, beginnend jeweils mit dem untersten, niederwertigsten Bit (der „Einerstelle“) eines Bytes.
  • Bytes der breiteren Felder werden als BigEndians übertragen (Byte mit der höheren Wertigkeit zuerst).
  • Das erste Bit eines Frames ist das Multicast-Bit (Multicastadressen: meist das erste Byte mit einer ungeraden Zahl).

Präambel und Start Frame Delimiter (SFD)

Präambel
  • Datenpräambel oder Präambel ist ein Signal, das in einem Rechnernetz übertragenen Nachrichten vorangestellt wird.
  • Besteht aus einer sieben Byte langen, alternierenden Bitfolge („101010…1010“).
  • Dient zur Bit-Synchronisation der Netzwerkgeräte.
SFD (Start Frame Delimiter)
  • Folgt auf die Präambel.
  • Besteht aus einer festen Bitsequenz „1010 1011“.
  • Kennzeichnet den Beginn des Frames (dient als Startmuster).
  • Dient dem Empfänger als Zeichen für den beginnenden Frame-Anfang.

Ziel- und Quell-MAC-Adresse

Allgemeines
  • Die Quelladresse identifiziert den Sender, die Zieladresse den Empfänger.
  • Diese Adresse kann auch eine Multicast- oder Broadcast-Adresse sein.
  • Gekaufte Netzwerkkarten haben eine weltweit eindeutige MAC-Adresse, die global von einem Konsortium und der Herstellerfirma verwaltet wird.
Aufbau
  • MAC-Adressen werden traditionell als Hex-Zahlen dargestellt, die mit Doppelpunkten getrennt sind, z. B. „08:00:01:EA:DE:21“.
  • Quell- und Ziel-Mac-Adressen haben eine Länge von sechs Bytes (48 Bit).
  • Zwei Bit der MAC-Adresse werden zu ihrer Klassifizierung verwendet.
Klassifizierung
  • Dabei wird entschieden:
    • ob Unicast- oder Broadcast-/Multicast-Adresse.
    • ob die MAC-Adresse (46 Bit) global oder lokal administriert werden.


Weiteres zu MAC-Adressen: MAC-Adresse

VLAN-Tag (TPID/TCI)

  • Im Tagged-MAC-Frame (IEEE 802.1Q) folgen vier Bytes als VLAN-Tag.

Weiteres zu VLAN: VLAN

Typ-Feld (Ether-Type)

  • Ethertype beschreibt das Format bzw. das Protokoll zur Interpretation des Datenblocks.
    • Zulässige Werte für Ethertype werden von der IEEE administriert (beschränkt sich auf die Vergabe neuer Ethertype-Werte).
    • Gibt Auskunft über das verwendete Protokoll der nächsthöheren Schicht innerhalb der Nutzdaten.
  • Die Werte sind größer als 0x0600 (sonst ist das ein Ethernet-I-frame mit Längenfeld in dieser Position).
  • Ist ein VLAN-Tag vorhanden, darf das daran anschließende Typ-Feld nicht 0x8100 sein (0x8100 ist zur Kennzeichnung eines VLAN-Tags reserviert).
Typfeld Protokoll
0x0800 IP Internet Protocol, Version 4 (IPv4)
0x0806 Address Resolution Protocol (ARP)
0x0842 Wake on LAN (WoL)
0x8035 Reverse Address Resolution Protocol (RARP)
0x809B AppleTalk (EtherTalk)
0x80F3 Appletalk Address Resolution Protocol (AARP)
0x8100 VLAN Tag (VLAN)
0x8137 Novell Internetwork Packet Exchange (IPX)
0x8138 Novell
0x86DD IP Internet Protocol, Version 6 (IPv6)
0x8847 MPLS Unicast
0x8848 MPLS Multicast
0x8863 PPP over Ethernet PPPoE Discovery
0x8864 PPP over Ethernet PPPoE Session
0x8870 Jumbo Frames
0x888E 802.1X Port Access Entity
0x8892 Echtzeit-Ethernet PROFINET
0x88A2 ATA over Ethernet ATA over Ethernet Coraid AoE
0x88A4 Echtzeit-Ethernet (EtherCAT)
0x88A8 Provider Bridging
0x88AB Echtzeit-Ethernet Ethernet Powerlink (Ethernet POWERLINK)
0x88B8 IEC61850 Generic Object Oriented Substation Events (GOOSE)
0x88CC Link Layer Discovery Protocol (LLDP)
0x88CD Echtzeit-Ethernet Sercos III
0x88E1 HomePlug AV
0x88E5 MACsec
0x8906 Fibre Channel over Ethernet
0x8914 FCoE Initialization Protocol (FIP)
0x8947 GeoNetworking protocol

Nutzdaten

  • auch Payload genannt.
  • Pro Datenblock können maximal 1500 Bytes an Nutzdaten übertragen werden.
  • Die Nutzdaten werden von dem unter Type angegebenen Protokoll interpretiert.
  • Die Datenbytes werden in aufsteigender Byte-Reihenfolge verschickt.
  • Jumbo Frames, Super Jumbo Frames und Jumbogramme erlauben auch größere Datenblöcke, diese Spezialmodi bewegen sich aber offiziell abseits von Ethernet (beziehungsweise IEEE 802.3).

Jumbo Frames

  • bezeichnet nicht standardisierte und übergroße Frames.
  • Frames länger als die Standardgröße (IEEE 802.3), werden als Jumbo Frames bezeichnet.


Maximum Transmission Unit (MTU)
  • beschreibt die maximale Paketgröße eines Protokolls der Vermittlungsschicht (gemessen in Oktetten (Bytes)).
  • die Maximum Transmission Unit (MTU) kann ohne Fragmentierung in den Frame eines Netzes der Sicherungsschicht (Schicht 2) übertragen werden.

maximale Größe eines Frames der Sicherungsschicht

  • Maximale Rahmengröße = Größte MTU aller benutzten Protokolle der Vermittlungsschicht + Größe der Sicherungsschichtheader

Padding-Feld (PAD-Feld)

  • Wird verwendet um den Ethernet-Frame auf die Minimalgröße von 64 Byte zu bringen.
  • Wichtig bei alten Übertragungsverfahren, um Kollisionen in der sogenannten Collision-Domain sicher zu erkennen.
  • Präambel und SFD (8 Bytes) werden bei der Mindestlänge des Frames nicht mitgezählt (ein VLAN-Tag schon).
  • Ein PAD-Feld wird somit erforderlich, wenn als Nutzdaten weniger als 46 bzw. 42 Bytes (ohne bzw. mit 802.1Q-VLAN-Tag) zu übertragen sind.
  • Das in Type angegebene Protokoll muss dafür sorgen, dass diese als Pad angefügten Bytes (auch „Padding Bytes“ genannt) nicht interpretiert werden (üblicherweise eine eigene Nutzdaten-Längenangabe).

Frame Check Sequence (FCS)

Allgemeines
  • Das FCS-Feld stellt eine 32-Bit-CRC-Prüfsumme dar.
  • Die FCS wird über dem eigentlichen Frame berechnet, also beginnend mit der Ziel-MAC-Adresse und endend mit dem PAD-Feld.
  • Die Präambel, der SFD und die FCS selbst sind nicht in der FCS enthalten.
Ablauf
  • Wird ein Paket beim Sender erstellt, wird eine CRC-Berechnung über die Bitfolge durchgeführt und die Prüfsumme an den Datenblock angehängt.
  • Der Empfänger führt nach dem Empfang die gleiche Berechnung aus.
  • Stimmt die empfangene nicht mit der selbst berechneten Prüfsumme überein, geht der Empfänger von einer fehlerhaften Übertragung aus, und der Datenblock wird verworfen.
Berechnung
  • Zur Berechnung der CRC-32-Prüfsumme werden die ersten 32 Bits der Mac-Adresse invertiert und das Ergebnis der Prüfsummenberechnung wird ebenfalls invertiert (Vermeidung des Nullproblems).
  • In üblichen CRC-Implementierungen als rückgekoppelte Schieberegister werden Datenbits in übertragener Reihenfolge, also vom LSB (least significant bit) zum MSB (most significant bit), durch ein Schieberegister geschickt, das aber selbst vom LSB aus beschickt wird.
  • In Schieberichtung steht damit das MSB der CRC zuerst zur Verfügung und gerät auch in Abweichung zu allen anderen Daten zuerst auf die Leitung.
  • Wird nun der Datenstrom beim Empfänger inklusive empfangenem CRC-Wert in das Schieberegister geschrieben, enthält die CRC im fehlerfreien Fall den Wert Null.
  • Ein von Null abweichender Wert deutet auf einen Übertragungsfehler hin.
  • Durch die Invertierung der ersten 32 Bit und der CRC-Summe ist das Ergebnis nicht mehr Null.
  • Wenn kein Übertragungsfehler aufgetreten ist, dann enthält das Schieberegister immer dieselbe Zahl, auch Magic Number genannt.
  • Beim Ethernet lautet die Magic Number 0xC704DD7B.

Mindestgröße der Frames

Ein Frame muss mindestens 64 Byte groß sein

  • 68 Byte bei Tagged
  • Minimale Slot-Time zur Erkennung von Kollisionen
  • Andernfalls werden Bit ergänzt
Standard Mindestgröße Daten
Ethernet II 46 Bytes
Ethernet 802.3 42 Bytes
VLAN 802.1q (tagged)
Standard Mindestgröße Daten
Ethernet Version 2.0 tagged 46 Bytes
IEEE 802.3 tagged 46 Bytes