Wolfgang Lösch

Contact© Wolfgang Lösch

Lokale Netze (LAN) — Medienzugriff (MAC-Schicht)

Stand: 2007 (weitere Aktualisierung eingestellt)

One size never fits all.

R. Callon, The Twelve Networking Truths, April 1996

Ein LAN ist im wesentlichen geprägt von der Art und Weise, wie die beteiligten Stationen und Netzkomponenten auf das Netzwerkkabel zugreifen. Die Regelung dieses Zugriffs und die damit verknüpfte Übertragung von geeigneten Datenblöcken, den sogenannten Rahmen, gehören zu den Hauptaufgaben der MAC-Schicht. In der MAC-Schicht ist es jedoch gebräuchlich, nicht von (Netzwerk-)Kabeln zu sprechen, sondern von Übertragungsmedien oder einfach von Medien.

Datenendgeräte (DTEs)

Während bisher bei vernetzten Geräten ganz allgemein von Stationen gesprochen wurde, wird in der MAC-Schicht dieser Begriff präzisiert. Jede an ein lokales Netz angeschlossene Station oder Netzkomponente, die mit einer MAC-Funktion ausgestattet ist, wird als Datenendgerät (Data Terminal Equipment, DTE) bezeichnet. Als Beispiele für Datenendgeräte seien genannt: Rechnersystem mit Netzwerkkarte (Network Interface Card, NIC), Brücke, Switch, Router. Ein Repeater oder Hub hat keine MAC-Funktion und ist daher kein Datenendgerät in diesem Sinne!

Bezüglich Anschlussart und Betriebsweise von Datenendgeräten kann man drei Varianten unterscheiden: Shared-Media/Halbduplex, Dedicated-Media/Halbduplex und Dedicated-Media/Vollduplex. Was sich dahinter verbirgt, wird im folgenden erläutert.

Duplex

Wenn ein Datenendgerät sowohl Senden als auch Empfangen kann, spricht man von Duplex-Betrieb. Dabei trifft man folgende Unterscheidung:

Halbduplex (Halbduplex):
Senden und Empfangen ist nur zeitversetzt möglich, d.h. ein Datenendgerät kann zu einem bestimmten Zeitpunkt entweder nur Senden oder nur Empfangen.
Vollduplex (Vollduplex):
Senden und Empfangen ist gleichzeitig möglich d.h. ein Datenendgerät kann zu jedem Zeitpunkt sowohl Senden als auch Empfangen. Vollduplex-Übertragung ist nur über Punkt-zu-Punkt-Verbindungen möglich.

Shared vs. Dedicated

Hinsichtlich der Frage, ob ein Übertragungsmedium ausschließlich einem Datenendgerät oder aber mehreren Datenendgeräten zur Verfügung steht, gibt es zwei Alternativen:

Shared-Media (gemeinsames Medium):
Mehrere Datenendgeräte sind an das Übertragungsmedium angeschlossen, d.h. jedes dieser Datenendgeräte muss sich das Übertragungsmedium mit den anderen Datenendgeräten teilen.
Dedicated-Media (fest zugeordnetes Medium):
Jedem Datenendgerät steht ein eigenes Übertragungsmedium zur Verfügung, das ihm eine Punkt-zu-Punkt-Verbindung zu einer anderen Netzkomponente ermöglicht. Ein typisches Beispiel hierfür ist die Verbindung zwischen einem Rechnersystem und einem Hub oder Switch.

Zugriffsverfahren

Über das Zugriffsverfahren wird geregelt, welche Station, d.h. welches Datenendgerät, zu welchem Zeitpunkt welche Datenmenge an wen übertragen darf. Die wichtigsten Varianten werden im folgenden vorgestellt.

CSMA/CD-Verfahren

Die wohl bekannteste und zugleich älteste Klasse von Zugriffsverfahren für Shared-Media-Betrieb umfasst die Verfahren für Aktivitätsüberwachung und Vielfachzugriff mit Kollisionserkennung (Carrier Sense Multiple Access with Collision Detection, CSMA/CD). Bei diesen Verfahren erzeugt jedes Datenendgerät, das senden will, ein Datenpaket und bemüht sich dann um den Zugang auf das Übertragungsmedium. Es gibt hierbei keinen Kontrollmechanismus, der festlegt, wer zu welcher Zeit an der Reihe ist. Jedes Datenendgerät konkurriert mit den anderen Datenendgeräten um das Recht, das Medium für sich zu beanspruchen.

Durch entsprechende Anpassungen sind die CSMA/CD-Verfahren auch für Dedicated-Media-Betrieb geeignet. CSMA/CD bedeutet jedoch in jedem Fall – egal ob Shared-Media oder Dedicated-Media – eine Beschränkung auf Halbduplex-Betrieb. Für Vollduplex-Betrieb sind CSMA/CD-Verfahren nicht geeignet.

Carrier Sense Multiple Access

Multiple Access bedeutet, dass jedes angeschlossene Datenendgerät selbständig und unabhängig von den anderen Datenendgeräten auf das Übertragungsmedium zugreifen kann. Um möglichst Kollisionen zu vermeiden, hört jedes sendewillige Datenendgerät das Medium ab und kann dadurch feststellen, ob ein anderes Datenendgerät bereits sendet. Dieses Abhören oder Überwachen wird als Carrier Sense bezeichnet. Erst wenn ein Datenendgerät sicher ist, dass das Medium frei ist, beginnt es mit der Übertragung. Das gesendete Datenpaket durchläuft das ganze Medium und jedes Datenendgerät prüft, ob es als Empfänger für das Paket gemeint war. Wenn dies der Fall ist, wird das Paket angenommen, ansonsten wird es ignoriert.

Den Algorithmus, der die Aktionen eines sendewilligen Datenendgerätes regelt, gibt es en folgenden drei Ausprägungen.

non-persistent:
Medium frei: Übertragung sofort beginnen.
Medium besetzt: Zufällig ermittelte Zeit abwarten und dann Medium wieder abhören.
persistent:
Medium frei: Übertragung sofort beginnen.
Medium besetzt: Medium weiter abhören.
p-persistent:
Medium frei: Übertragung mit Wahrscheinlichkeit p beginnen, d.h. bestimmte Zeit mit Wahrscheinlichkeit 1-p abwarten und dann Medium wieder abhören.
Medium besetzt: Medium weiter abhören.

Da Persistent-CSMA ein Sonderfall von p-Persistent-CSMA für p = 1 ist, wird es auch als 1-Persistent-CSMA bezeichnet.

Collision Detection

Eine Verbesserung der CSMA-Verfahren erreicht man mit einer sogenannten Kollisionserkennung (Collision Detection, CD). Während ein Datenendgerät sendet, überwacht es ständig das Medium und bricht sofort die Übertragung ab, wenn es eine Kollision feststellt. Außerdem sendet es ein spezielles Kollisionssignal (Jam Signal) aus, um alle Datenendgeräte über die Kollision zu informieren. Für ein sendendes Datenendgerät liegt eine Kollision immer dann vor, wenn es ein anderes als das von ihm gesendete Signal hört.

Das im Abschnitt CSMA/CD-Algorithmus des Kapitels Ethernet-Zugriffsverfahren beschriebene CSMA/CD bzw. Ethernet gemäß IEEE-Standard 802.3 ist ein Beispiel für eine konkrete Implementierung des Persistent-CSMA/CD-Algorithmus.

Token-Passing-Verfahren

Während bei den CSMA/CD-Verfahren der Zufall eine entscheidende Rolle spielt, handelt es sich bei der Klasse der Token-Passing-Verfahren um kontrollierte Zugriffsverfahren. Durch das Zuteilen einer Sendeerlaubnis wird sichergestellt, dass zu einer bestimmten Zeit genau ein Datenendgerät den Zugriff auf das Netz hat und übertragen kann.

Das Senderecht wird mit einer im Netz kreisenden Sendeberechtigungsmarke (Token) von Datenendgerät zu Datenendgerät weitergegeben. Ein Token ist ein spezielles Bitmuster oder Paket, das solange kreist, bis ein Datenendgerät senden will. Dieses Datenendgerät nimmt das Token an sich und hat dann das exklusive Recht, das Medium für eine Übertragung zu benutzen. Während der Übertragung überwachen die anderen Datenendgeräte das Medium und geben alle Pakete, die nicht an sie adressiert sind, an das nächste Datenendgerät weiter. Wenn das sendende Datenendgerät seine Übertragung beendet hat und/oder der Adressat das an ihn gerichtete Paket erhalten hat, wird das Token wieder zurück in den Umlauf gebracht und das nächste Datenendgerät hat die Möglichkeit, auf das Medium zuzugreifen.

Als Beispiele für konkrete Implementierungen seien genannt: Token Bus gemäß IEEE-Standard 802.4, Token Ring gemäß IEEE-Standard 802.5 und FDDI (Fiber Distributed Data Interface) gemäß ISO-Norm 9314.

Punkt-zu-Punkt-Verbindungen

Punkt-zu-Punkt-Verbindungen sind immer dann erforderlich, wenn Vollduplex-Betrieb ermöglicht werden soll. Für ein lokales Netz im Dedicated-Media/Vollduplex-Betrieb bedeutet dies, dass auf jeder Seite einer Verbindung jeweils ein Datenendgerät, d.h. ein Gerät mit MAC-Funktion, vorhanden sein muss. Repeater oder (Repeating-)Hubs können in einer solchen Umgebung nicht mehr eingesetzt werden.

Bei Punkt-zu-Punkt-Vebindungen im Vollduplex-Betrieb ist kein Zugriffsverfahren im engeren Sinne mehr erforderlich. Stattdessen werden jetzt geeignete Mechanismen für die Flusskontrolle (Flow Control), die Verstopfungskontrolle (Congestion Control) und die Überlastkontrolle benötigt. Meistens fasst man alle drei Begriffe unter dem Begriff Flusskontrolle zusammen. Außerdem müssen im Netz zusätzliche Knoten für die Vermittlung der MAC-Rahmen eingesetzt werden. Ein solcher in der MAC-Schicht operierender Vermittlungsknoten wird meist als Switch oder als Switching Hub bezeichnet und der Vorgang der MAC-Rahmenvermittlung heißt dann Frame Switching.

Als Beispiel für eine konkrete Implementierung sei wiederum CSMA/CD bzw. Ethernet gemäß IEEE-Standard 802.3 genannt, dessen Vollduplex-Variante im Abschnitt Vollduplex-Betrieb des Kapitels Ethernet-Zugriffsverfahren beschrieben wird.

MAC-Rahmen

In der MAC-Schicht erfolgt die Kommunikation zwischen Partnerinstanzen durch den Austausch von Datenblöcken, die als MAC-Rahmen (MAC Frames) bezeichnet werden.

Der MAC-Rahmen enthält entweder einen LLC-Rahmen oder eine Datenpaket der Netzwerkschicht, sowie MAC-Kontroll- und Adressinformationen in Form eines Kopfteils (MAC Header) und eines Fußteils (MAC Trailer). Der genaue Aufbau von MAC-Header und MAC-Trailer ist abhängig vom gewählten Zugriffsverfahren. Der MAC-Rahmen wird als serieller Bitstrom an die physikalische Schicht übergeben und von dieser wird der Bitstrom in Form von elektrischen oder optischen Signalen auf das Übertragungsmedium gebracht. Der konkrete Aufbau von Ethernet-MAC-Rahmen wird im Kapitel Ethernet-Zugriffsverfahren dargestellt.

MAC-Rahmen
MAC-Header
LLC-Rahmen oder Datenpaket der Netzwerkschicht
MAC-Trailer

MAC-Adressen

Die in jedem MAC-Rahmen mitgeführten Adressinformationen bestehen aus einer MAC-Adresse des Senders und einer MAC-Adresse des Empfängers. Die Aufgabe der MAC-Adresse liegt darin, die miteinander kommunizierenden Datenendgeräte eindeutig zu identifizieren. MAC-Adressen haben eine feste Länge von 48 bit.

MAC-Adressen als physikalische Adressen

Genaugenommen wird mit einer MAC-Adresse der physikalische Netzanschluss oder Netz-Zugriffspunkt eines Datenendgerätes adressiert. Die MAC-Adresse heißt daher auch physikalische Adresse.

Ein Datenendgerät kann durchaus mehrere MAC-Adressen haben, wenn es über mehrere Netzanschlüsse verfügt. Ein typisches Beisspiel ist ein Serversystem mit mehreren Netzwerkkarten (Network Interface Card, NIC). Jede Karte besitzt eine eigene, individuelle MAC-Adresse.

Die MAC-Schicht eines Datenendgerätes, das einen MAC-Rahmen empfängt, vergleicht die MAC-Zieladresse des Rahmens mit seiner eigenen MAC-Adresse und gibt den Inhalt des Rahmens nur dann an die höherliegenden Schichten weiter (LLC oder Schicht 3), wenn beide Adressen übereinstimmen. Ansonsten wird der Rahmen verworfen. Die MAC-Schicht beinhaltet also eine Filterfunktion für MAC-Adressen.

Format einer MAC-Adresse

In manchen Publikationen ist zu lesen, dass es für Ethernet ganz spezielle, sogenannte Ethernet-Adressen gäbe. Dies ist absoluter Unsinn. Alle bekannten Zugriffsverfahren der MAC-Schicht (wie z.B. CSMA/CD bzw. Ethernet, Token Bus, Token Ring, FDDI) verwenden einheitlich das im folgenden beschriebene MAC-Adressformat mit 48 bit langen MAC-Adressen.

Format einer MAC-Adresse
I/G U/L OUI OUA
1 bit1 bit22 bit24 bit
I/G = 0:
Individual-Adresse (Unicast Address), die genau ein Datenendgerät identifiziert.
I/G = 1:
Gruppen-Adresse (Multicast Address), die eine Gruppe von Datenendgeräten identifiziert (nur als Ziel-Adresse, nicht als Quell-Adresse möglich).
U/L = 0:
universelle Adresse (weltweit eindeutig und unveränderbar).
U/L = 1:
lokale Adresse (lokal veränderbar).

Alle Bits einer MAC-Adresse werden von links beginnend durchnummeriert, d.h. das I/G-Bit ist das erste Bit, das U/L-Bit das zweite Bit, usw. bis zum 48-ten Bit, das ganz rechts steht.

Für die Festlegung von universellen Individual-Adressen werden von IEEE für die Bits 3 bis 24 weltweit eindeutige Werte vergeben und den Herstellern zugewiesen. Man bezeichnet eine solche Bitfolge daher als Organizationally Unique Identifier (OUI). Es stehen insgesamt 222 = 4.194304 Millionen OUIs zur Verfügung. Da bei universellen Individual-Adressen stets I/G = 0 und U/L = 0 gilt, werden diese beiden Bits häufig in den OUI mit einbezogen, so dass der OUI die ersten beiden Oktette der MAC-Adresse darstellt.

Die Werte für die restlichen Bits 25 bis 48 werden von den Herstellern vergeben. Eine solche Bitfolge heißt daher Organizationally Unique Address (OUA). Mit jeder OUI können 224 = 16.777216 Millionen OUAs verknüpft werden. Insgesamt stehen also 246 ≈ 7·1013 (eine 7 mit 13 Nullen) individuelle und eindeutige MAC-Adressen zur Verfügung. Bei einer Weltbevölkerung von 6 bis 7 Milliarden kommen im statistischen Mittel somit ca. 10000 MAC-Adressen auf einen Menschen.

Darstellung einer MAC-Adresse

Für die Darstellung von MAC-Adressen verwendet man am besten die kanonische Form: Die 48 Bits werden zu Bytes bzw. Oktetten derart zusammengefasst, dass 6 Oktette entstehen, wobei die Bitreihenfolge nicht verändert wird und das I/G-Bit im 1. Oktett links steht und als Least-Significant-Bit (LSB) interpretiert wird. Unter der Festlegung, dass in jedem der 6 Oktette das LSB links steht, wird dann jedes Oktett durch zwei hexadezimale Ziffern dargestellt und die Ziffernpaare werden durch Bindestriche getrennt. Ein Beispiel mag dies veranschaulichen.

Bitmuster:
00110101 01111011 00010010 00000000 00000000 00000001
Kanonische Form:
AC-DE-48-00-00-80

Die Umformung des ersten Oktetts im vorangegangenen Beispiel geschieht folgendermaßen:

0011010110101100 = [1010][1100] = AC (hex).

MAC-Multicast und MAC-Broadcast

Wenn ein MAC-Rahmen an mehrere bzw. an alle Datenendgeräte eines Netzes verschickt werden soll, spricht man von einem Multicast bzw. einem Broadcast. Entsprechende Multicast- bzw. Broadcast-Adressen gibt es verständlicherweise nur als Ziel-Adressen.

Bei einem Broadcast lautet die MAC-(Ziel-)Adresse folgendermaßen:

Bitmuster:
11111111 11111111 11111111 11111111 11111111 11111111
Kanonische Form:
FF-FF-FF-FF-FF-FF

Broadcasts werden nicht gern gesehen, da sie ein Netz sehr stark belasten können. Im Extremfall eines sogenannten Broadcast-Sturms kann ein Netz sogar ganz zum Erliegen kommen.

Die folgende Tabelle zeigt einige standardisierte Multicast-Adressen:

Einige MAC-Multicast-Adressen
MAC-Multicast-Adresse Verwendungszeck
01-80-C2-00-00-00 Spanning Tree Protocol
01-80-C2-00-00-10 Brücken-Management
01-00-5E-00-00-00 Internet Protocol (IP) Multicast
CF-00-00-00-00-00 Ethernet Configuration Test Protocol (Loopback)

Brücken und Switches

Wenn zwei Datenendgeräte, die an verschiedene LANs bzw. Netzsegmente angeschlossenen sind, miteinander kommunizieren wollen, dann müssen die LANs bzw. Netzsegmente irgendwie verbunden werden. Ein Gerät, das eine solche Verbindung innerhalb der MAC-Schicht realisiert, heißt Brücke (Bridge), bzw. genauer MAC-Brücke (MAC Level Bridge). Jeder Anschluss (Port) einer Brücke besitzt eine eigene MAC-Adresse.

Die folgende Abbildung zeigt eine Brücke im Schichtenmodell.

MAC-Brücke im Schichtenmodell
MAC-Brücke im Schichtenmodell

Funktionsweise einer Brücke

Die Brücke in der obigen Abbildung verbindet zwei LANs (A und B). Sobald ein Datenendgerät in einem der LANs einen MAC-Rahmen absendet, der auf seiner Reise durch das LAN selbstverständlich auch an der Brücke vorbeikommt, muss die Brücke aktiv werden. Hierbei wendet die Brücke folgende Regeln an:

Wenn die Brücke ausfällt, bleiben die beiden (individuellen) LANs voll funktionsfähig, lediglich ein Datenverkehr zwischen den LANs ist nicht mehr möglich. Auch bei vorschriftsmäßigem Funktionieren der Brücke behalten die einzelnen LANs ihre charakteristischen Merkmale (wie z.B. maximale Ausdehnung, maximale Zahl von Datenendgeräten, Übertragungsrate, usw.).

Einsatzgebiete

Folgende Einsatzgebiete sind typisch für MAC-Brücken:

Werden zwei LANs über eine gebrückte Fernverbindung gekoppelt, dann werden die beiden mit Brücken-Funktionalität ausgestatteten Kopplungselemente als Einheit betrachtet und diese Einheit wird als Remote Bridge bezeichnet.

Von der Brücke zum Switch

Ein Switch ist eine auf Höchstleistung getrimmte Multiport-Brücke. Da der Switch häufig anstelle eines (Repeating-)Hubs oder Sternkopplers eingesetzt wird, ist auch die Bezeichnung Switching Hub gebräuchlich. Mittlerweile gibt es auch Kopplungselemente der Schicht 3 und noch höherer Schichten, die die Bezeichnung Switch tragen. Zur Unterscheidung spricht man daher in der MAC-Schicht von einem Layer-2-Switch (L2-Switch).

Die in Ethernet-Netzwerken eingesetzten Brücken und Switches werden im Kapitel Ethernet-Brücken, Switches und VLANs erläutert.