MAC - Media Access Control / Ethernet Frame

Im OSI-Schichtenmodell findet auf der 2. Schicht die Adressierung mit einer physikalischen Adresse statt. Diese physikalische Adresse wird auch MAC-Adresse genannt. Die MAC-Adresse (Media-Access-Control-Adresse) ist eine weltweit einmalige Adresse für Netzwerkteilnehmer. An dieser Stelle spricht man auch von einer BIA. BIA steht für Burned-In-Address und kann mit einer Fahrgestellnummer von Fahrzeugen verglichen werden. Die BIA (MAC-Adresse) ist fest auf dem Gerät eingebrannt und wird so i.d.R. nicht verändert. Sie ist also einmalig und fest (statisch). Sie kann jedoch manipuliert werden und bietet daher keine 100% Identifikation. Hier spricht man auch von MAC-Spoofing.

MAC-Adressen besitzen immer den gleichen Aufbau. So sind 3 Byte für den Herstellercode und 3 Byte für die Identifikation des Teilnehmers vorgesehen. Insgesamt umfasst die MAC-Adresse also eine Länge von 6 Byte (48 Bit). Die Werte der MAC-Adresse werden in hexadezimaler Form angegeben. Folgend, der Aufbau einer MAC-Adresse und ein Beispiel aus der Praxis:

Aufbau MAC-AdresseBeispiel einer MAC-Adresse aus der Praxis.

 Die oben abgebildete MAC-Adresse gehört zu einem Netzwerkadapter/Host der Firma Cisco. Der Hersteller kann leicht anhand der ersten 3 Byte im Internet identifiziert werden. Eine Suche bei Google genügt bereits.


Besonderheit Broadcast

Die MAC-Adresse wird nur im selben Netzsegment genutzt. Dies bedeutet das sie innerhalb eines Subnetzes bzw. Netzwerkes (z.B. ein LAN) genutzt werden kann, um Daten zwischen Hosts auszutauschen.

In Netzwerken findet nicht nur Kommunikation zwischen jeweils 2 Hosts statt. Es werden in bestimmten Situationen sogenannte Broadcasts in das Netzwerk geflutet. Broadcasts werden nicht geroutet und verlassen, daher nicht das Netzwerk. Mit Broadcasts erreicht man dann jeden Teilnehmer im selben Netz. So wird diese Kommunikationsart z.B. für den sogenannten ARP-Request genutzt. Bei diesem sucht ein Host die MAC-Adresse, anhand der dazu gehörenden IP-Adresse, die ihm bekannt ist. Da für das Paket eine MAC-Adresse nötig ist, flutet er das Netzwerk mit einem Broadcast an alle Teilnehmer, ob jemand die besagte IP-Adresse hat. Ist der Host mit der passenden IP-Adresse im Netzwerk, sendet er eine Antwort. Dies ist der typische Nutzen eines Broadcasts. Das MAC-Address Feld im Frame des Paketes wird mit folgender Adresse befüllt:

MAC-Broadcast Adresse


 Ethernet Frame

Wenn Daten im Netzwerk versendet werden, dann nur durch das Kapseln der Daten in Ethernet-Pakete. Ein Ethernet-Paket wird mit der Ziel- und Quell-MAC-Adresse betitelt. Diese würden im Grunde ausreichen um Daten innerhalb eines Netzwerkes zu versenden. Sofern Komponenten, die der Steuerung des Datenverkehrs dienen, zwischen dem Ziel und der Quelle liegen, funktioniert diese Art der Übertragung nicht. Hierfür werden dann höhere Netzwerkprotokolle benötigt. So wird z.B. die IP-Adresse für das Routing in ein anderes Netz genutzt. Folgend, der Aufbau eines Ethernet Frames:

Ethernet-Frame Aufbau

 Dazu nun die Erläuterung der einzelnen Felder des Ethernet Frames:

Präambel: Um die Datenübertragung zu gewährleisten müssen sich Sender und Empfänger synchronisieren. Dies wird durch eine wechselnde 7 Byte lange Bitfolge gewährleistet. Z.B. 1010101
SFD: Damit der Empfänger weiß das der Ethernet Frame beginnt wird der sogenannte Start-Frame-Delimiter genutzt. Er besitzt eine feste Bitfolge: 10101011
Destination MAC-Address: Mit der Destination MAC-Address wird die Ziel MAC-Adresse bekannt gegeben. Wird das Datenpaket empfangen liest der Empfänger dieses Feld und kann daran erkennen ob es für ihn bestimmt ist.
Source MAC-Address:

Über die Source MAC-Address wird gewährleistet das dem Empfänger bekannt gegeben wird wer ihm das Paket gesendet hat. Man spricht im Deutschen auf von der Quelle.

VLAN-Tag: Dieser ist nur im Ethernet-Frame mit VLAN-Tag vorhanden (heute sehr oft zu finden). Netzwerke können in Virtuelle Netzwerke unterteilt werden. So bleibt es zwar Physisch ein Netzwerk, ist aber Logisch unterteilt. Mit diesem Feld (Tag) wird das Paket markiert um es zu einem VLAN zuordnen zu können.
Typ: Mit diesem Feld wird angegeben welches Netzwerkprotokoll von der Payload genutzt wird. Möglich wäre z.B. IPv4 oder IPv6.
Payload: Die Nutzdaten welche maximal 1500 Byte im Frame einnehmen können.
Pad: Jeder Frame hat eine Mindestgröße von mindestens 64 Byte. Werden diese durch die Payload nicht erreicht so wird der Frame in diesem Feld aufgefüllt um die Mindestgröße zu erreichen.
FCS: Da bei der Übertragung Fehler entstehen können und die Daten beim Empfänger verändert empfangen werden können, werden die Daten beim Empfangen überprüft. Dies wird durch die anwendung einer 32-Bit-CRC-Prüfsumme gewährleistet. Es wird also eine Prüfsumme übertragen und eine neue nach der Übertragung gebildet. Diese werden dann miteinander verglichen.

Address Resolution Protocol (ARP)

Das Address Resolution Protocol oder kurz ARP dient dem herausfinden einer MAC-Adresse anhand einer IP-Adresse da diese für die Übertragung notwendig ist. Um eine MAC-Adresse herauszufinden wird ein Broadcast mit der bekannten Ziel-IP-Adresse an alle Netzwerkteilnehmer gesendet. Gehört einem Netzwerkteilnehmer die gesuchte IP-Adresse sendet er seine MAC-Adresse an den Suchenden. Diese wird dann in einem ARP-Cache mit der IP-Adresse verbunden. Der ARP-Cache ist wie ein Telefonbuch in dem IP- und ihre dazu gehörenden MAC-Adressen stehen.

 


Neighbor Discovery Protocol (NDP)

Bei IPv6 wird nicht mit dem ARP gearbeitet obwohl es theoretisch möglich ist. Mit IPv6 wurden viele neue Funktionen und Möglichkeiten eingeführt. So ist es auch mit dem sogenannten NDP bzw. Neighbor Discovery Protocol. Grundlegend funktioniert es wie das ARP jedoch bietet es mehr Funktionen. So können neben den MAC-Adressen auch Router oder nicht mehr erreichbare Nachbarn identifiziert werden.  Folgend die Funktionen:

Das NDP arbeitet mit verschiedenen Caches um die im Netzwerk gelernten Parameter zu speichern. So speichert Das NDP im Destination Cache Adressen an die bereits erfolgreich Daten gesendet wurden und welcher der nächste Hop wäre.

In der Default Router List werden die im Netzwerk vorhandenen Router gespeichert. Hierbei ist zu beachten das jeder Eintrag eine sogenannte Verfallsvorgabe besitzt welche bestimmt wann der Eintrag ausläuft.

Über den Neighbor Cache werden alle Netzwerkteilnehmer gespeichert mit denen innerhalb einer Zeitspanne X kommuniziert wurde. Zusätzlich sind hier MAC-Adresse und Alter des Eintrages festgehalten.

Die Prefix List beinhaltet die Präfixe welche im Netzwerk gelten. Dazu werden auch Verfallsvorgaben gespeichert.