Allgemein:
Die ursprüngliche Ethernet Definitionen stammen aus den 1980er Jahren und
wurden zunächst von Rank Xerox (Ethernet I) und im weiteren Verlauf dann zusammen
mit Intel und DEC (Ethernet II) entwickelt. Hieraus ging später der Standard
IEEE 802.3 zur Spezifikation des Datenframe Aufbaus hervor. Da beide Datenformate
im Aufbau unterschiedlich waren, wurde bzgl. der Kompatibilität das sogenannte
IEEE 802.2 SNAP Format (Sub Network Access Protocol) entwickelt. Ethernet ist
auf OSI Schicht 1 (Übertragung) und 2 (Sicherung) angesiedelt. Als Übertragungsmedien
werden Koaxialkabel bzw. verdrillte Kupferdoppeladern (twisted pair) benutzt.
Datenformate:
Der Ethernet Datenblock besteht im wesentlichen aus zwei Teilblöcken.
Einmal gibt es eine Präambel, welche aus 7+1Bytes besteht und den Start des Blocks
signalisiert. Die Präambel benutzt eine alternierende Bitfolge in den 7 Bytes
(0xAA). Das achte Byte schliesst die Präambel mit 0xAB ab.
(Hinweis: Die eigentliche Datenübertragung erfolgt immer mit dem niedrigsten
Bit voran. Daher wäre richtigerweise das Format als 0x55 und 0xD5 zu bezeichnen.)
Mit Hilfe dieser Startsequenz können sich alle, ans Netz angeschlossenen
Devices synchronisieren. Unmittelbar nach der Präambel kommt der eigentliche
Ethernet-Frame. Dieser besteht seinerseits ebenfalls aus mehreren Teilblöcken.
Nachfolgend ist der Aufbau der jeweiligen Frames dargestellt:
- Ethernet II:
- IEEE 802.3:
- IEEE 802.2 SNAP:
MAC Adresse (media access control):
Mit Hilfe der gerätespezifischen und einmalig vorhandenen MAC Adresse wird der
Empfänger des Datenframes angewiesen diesen auszuwerten. Gleichzeitig wird mit
der Sender MAC innerhalb des Ethernet Frames definiert, wer die Daten versendet.
Die MAC Adresse besteht aus 6 Bytes bzw. 2+46bit.
Im Bit0 des höchstwertigen Bytes kann definiert werden, ob es sich um eine
Unicast Adresse (Bit0=0), oder um eine Multicast/Broadcast-Adresse (Bit0=1)
handelt.
Im Bit1 des höchstwertigen Bytes wird vorgegeben, ob die MAC Adresse global
(Standardvorgabe Bit1=0) oder lokal (Bit1=1) verwaltet wird.
Frame Type:
Das Frame-Type Feld besteht aus 2 Bytes und informiert darüber mit welchem
Protokoll (in der nächst höheren OSI-Schicht) die Nutzdaten interpretiert werden.
Ist hier der Wert kleiner 0x0600 vorgegeben, so handelt es sich um ein
Ethernet I Frame. Weitere Vorgaben können sein:
0x0800 ⇒ IPv4 (Internet Protocol Version 4)
0x0806 ⇒ ARP (Address Resolution Protocol)
0x86DD ⇒ IPv6
0x8892 ⇒ ProfiNet
0x88A4 ⇒ EtherCAT
Datenfeld:
Das Datenfeld beinhaltet die eigentlichen Nutzdaten. Das Datenfeld hat eine
minimale und eine maximale Größenbeschränkung. Hierbei besteht die kleinste
Datenmenge aus 38/43/46 Bytes (IEEE 802.2/IEEE 802.3/Ethernet II). Sollen
trotzdem weniger Nutzdaten übertragen werden, müssen die restlichen Bytes
im Datenfeld mit sogenannten Füllbytes belegt werden. Diese sorgen auch dafür,
dass die Ethernet-Frame Größe 64 Bytes nicht unterschreitet. Das ausgewählte
Protokoll erkennt und ignoriert dann diese Füllbytes.
Die maximale Nutzdatenlänge sind 1492/1497/1500 Bytes (IEEE 802.2/IEEE 802.3/
Ethernet II).
CRC32:
Die 32bit Prüfsumme wird über den gesamten Ethernet-Frame gebildet. Im Gegensatz
zu einer normalen CRC32 Berechnung wird hierbei jedoch eine Invertierung der
ersten 32bit (Destination MAC Address) und des Endergebnisses selbst vorgenommen.
LLC Header:
Der LLC Header spezifiziert die Schnittstelle zwischen der Protokollebene
und der Übertragungsebene im OSI Modell.
SNAP Header:
Der SNAP-Header ist aus Kompatibilitätsgründen zu Ethernet II eingeführt
worden. Der Header besteht aus 5 Bytes, bei denen die ersten 3 Bytes den
Namen OUI (Organizationally Unique Identifer) und zumeist den Wert 0
besitzen. Die letzten 2 Bytes sind identisch mit dem
Frame-Typ. Weiterhin ist der vorher liegende LLC-Header mit der Byte
Kombination 0xAA,0xAA,0x03 definiert.
Sie benötigen eine spezielle Applikation?
Dann nehmen Sie gleich
Kontakt mit uns auf oder informieren Sie sich über unser
Entwicklungsangebot