MAC-Adresse

Die MAC-Adresse (Media Access Control, auch LAN-Adresse genannt) ist die Hardware-Adresse vieler Netzwerkgeräte, die zur eindeutigen Identifikation des Geräts im Netzwerk dient.

Die MAC-Adresse wird der Sicherungsschicht, Schicht 2 des OSI-Modells, zugeordnet. Um die Sicherungsschicht mit der Vermittlungsschicht zu verbinden, wird zum Beispiel bei Ethernet das Address Resolution Protocol (ARP) verwendet.

Netzwerkgeräte brauchen dann eine MAC-Adresse, wenn sie auf Schicht 2 explizit adressiert werden können sollen, um Dienste auf höheren Schichten anzubieten. Leitet das Gerät wie ein Repeater oder Hub die Netzwerkpakete nur weiter, ist es auf der Sicherungsschicht nicht sichtbar und braucht folglich keine MAC-Adresse. Bridges und Switches untersuchen zwar die Pakete der Sicherungsschicht, um das Netzwerk physikalisch in mehrere Kollisionsdomänen aufzuteilen, nehmen aber selbst nicht aktiv an der Kommunikation teil, brauchen also ebenfalls keine MAC-Adresse.

Hubs und Switches der oberen Preisklasse verfügen über Management- und Monitoring-Dienste, die auf der Anwendungsschicht zum Beispiel über Telnet oder HTTP genutzt werden können, daher ist solchen Geräten eine MAC-Adresse zugeordnet.


Aufbau

MAC-Adressen in einem Ethernet-Typ-II-Frame

MAC-Adressen in einem Ethernet-Typ-II-Frame

Im Falle von Ethernet-Netzen besteht die MAC-Adresse aus 48 Bit, nummeriert von 47 bis 0. Die Adressen werden in der Regel hexadezimal geschrieben, wie z. B. 08-00-20-ae-fd-7e (oder auch 080020aefd7e).

In jedem Ethernet-Frame wird vor dem Typfeld und den Daten zunächst die MAC-Adresse des Empfängers und des Senders übertragen. Empfänger und Sender müssen Teil des Local Area Networks (LAN) sein. Soll ein Paket in ein anderes Netz geschickt werden, wird es auf Ethernet-Ebene zunächst an einen Router geschickt. Dieser analysiert die Daten auf der nächst höheren Schicht und vermittelt das Paket dann weiter. Er erzeugt dazu einen neuen Ethernet-Frame, wenn es sich bei dem Nachbarnetz ebenfalls um ein Ethernet handelt.

Ethernet-Broadcast-Frame

Ethernet-Broadcast-Frame

Die MAC-Adresse, bei der alle 48 Bits auf 1 gesetzt sind (ff-ff-ff-ff-ff-ff), wird als Broadcast-Adresse verwendet, die an alle Geräte in einem LAN gesendet wird. Broadcast-Frames werden ohne besondere Maßnahmen nicht in ein anderes LAN übertragen.


Herstellerkennungen


Die ersten 24 Bits (Bits 47 bis 24) beschreiben eine von der IEEE vergebene Herstellerkennung (auch OUI - Organisation Unique Identifier genannt). Die verbleibenden 24 Bit (Bits 23 bis 0) werden vom jeweiligen Hersteller für jede Schnittstelle individuell festgelegt. Compaq zum Beispiel hat eine OUI mit der Adresse 00-50-8b. Innerhalb dieser OUI darf Compaq alle verfügbaren Adressen verwenden, also 00-50-8b-xx-xx-xx. Es ergeben sich 2 hoch 24 = 16777216 (16,8 Millionen) individuelle Adressen.
Neben der OUI existiert auch ein kleiner Adressbereich (IAB - Individual Address Block), der sich insbesondere für Privatpersonen und kleine Firmen lohnt. Interessierte erhalten einen kleinen eigenen Addressbereich innerhalb der Bits 11 bis 0. Damit sind 2 hoch 12 = 4096 individuelle Adressen möglich.

 
Herstellercodes von MAC-Adressen (Auswahl)

00-50-8b-xx-xx-xx

Compaq

02-05-09-xx-xx-xx

Hewlett-Packard

00-07-E9-xx-xx-xx

Intel

08-05-20-xx-xx-xx

Sun Microsystems

07-00-39-xx-xx-xx

Toshiba

09-04-75-xx-xx-xx

3Com

Die Adressen der Schnittstellen jedes netzwerkfähigen Geräts sollten theoretisch weltweit eindeutig vorbelegt sein (es sind aber schon Einzelfälle bekannt geworden, bei denen zwei Netzwerkkarten im gleichen Netzwerk identische MAC-Adressen besaßen, was zu zunächst völlig unerklärlichen Fehlern führte). Dies kann zur automatischen Konfiguration von Geräten eingesetzt werden und wird von Protokollen wie RARP, BOOTP und DHCP ausgenutzt. Die Software unterstützt jedoch auch häufig, jeden beliebigen Wert als MAC-Adresse verwenden zu können. Dies wird zum Beispiel bei Backup-Systemen genutzt, wo Ersatzgeräte die MAC-Adresse eines ausgefallenen Geräts übernehmen können.

Manche Softwareprogramme verwenden die MAC-Adresse der ersten Netzwerkkarte zur Identifikation des Rechners, auf dem lizenzierte Programme ausgeführt werden dürfen. Auch die Berechnung einer universellen Identifikation (UUID oder GUID) verwendet neben anderen Teilen diese MAC-Adresse. Da die MAC-Adresse geändert werden kann, raten Datenschützer allerdings davon ab die MAC-Adresse als alleiniges Authentifizierungskriterium zu verwenden.

komplette Hersteller-Code-Liste hier zum Download


Herstellerunabhängige Kennungen

Neben der Broadcast-Adresse FF-FF-FF-FF-FF-FF, die alle Geräte in einem lokalen Netzwerk adressiert, werden Multicast-Adressen im Bereich 01-00-5e-xx-xx-xx verwendet. Der IP-Multicast-Adresse 240.0.0.1 ist die Multicast-MAC-Adresse 01-00-5e-00-00-01 fest zugeordnet.

Für hochverfügbare Router ist die herstellerunabhängige Kennung 00-00-5E-00-01-ID (im Bereich 00-00-5E) reserviert, wobei das letzte Byte ID für die Kennung des virtuellen Routers steht. Sie bleibt gleich, selbst wenn ein anderer Router den Dienst übernimmt.

Die Herstellerkennung AC-DE-48 ist in der Datenbank als "Privat" gekennzeichnet. Adressen aus diesem Bereich können daher für lokale Zwecke eingesetzt werden.


Abfrage und Setzen einer MAC-Adresse

Die MAC-Adresse steht häufig bereits, zum Teil als Seriennummer getarnt, auf der Netzwerkkarte aufgedruckt. Daneben kann man sie per Software auslesen, je nach Betriebssystem sind hierzu verschiedene Kommandos nötig:

Betriebssystem

Auslesen

Setzen

Linux

ifconfig

ifconfig <Interface Name> hw ether <mac-adresse>

Mac Adressen von anderen Computern im Netzwerk in /proc/net/arp

Mac OS X

ifconfig

sudo ifconfig <Interface Name> ether <mac-adresse>
oder: sudo ifconfig <Interface Name> lladdr <mac-adresse>

OpenBSD

netstat -in

(bitte ergänzen)

SCO Unix

ndstat

(bitte ergänzen)

Solaris

ifconfig -a

ifconfig <Interface Name> ether <mac-adresse>

Windows

(Kommandozeile (Eingabaufforderung)) ipconfig /all oder getmac

* Win 2000:

  • Methode 1

  1. Start->Einstellungen->Netzwerk und DFÜ-Verbindungen
  2. Rechtklick auf die Karte deren MAC geändert werden soll -> Eigenschaften
  3. Registerkarte "Allgemein"->Konfigurieren
  4. Registerkarte "Erweiterte Einstellungen"
  5. Eigenschaft -> MAC Address oder Networkadress wählen, in dem Feld "Wert" eine MAC ohne Trennzeichen eingeben
  • Methode 2

  1. In Start->Ausführen->"cmd" eingeben und mit OK eine Konsole starten
  2. "ipconfig /all" eingeben und mit Enter den Befehl ausführen
  3. Den Text hinter "Beschreibung...:" exakt merken/kopieren
  4. Die Physikalische Adresse auch dokumentieren
  5. den Befehle "net config rdr" ausführen und die lange GUiD in geschweiften Klammer dokumentieren
  6. Start->Ausführen "regedt32" und [OK]
  7. In dem Baum nach "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}" navigieren.
  8. Einer der Unterordner enthält die Daten zu der Netzwerkkarte. Das Feld "DriverDesc" ist der "Beschreibung" Wert von dem Befehl ipconfig.
  9. Einen REG_SZ Schlüssel mit Value Name "NetworkAddress" anlegen. Als Wert die 12 stellige MAC ohne Trennzeichen angeben.
  10. Programme beenden und Reboot
  • Windows XP:
  1. WinXP: Eigenschaften d. Netzwerkkarte->Erweitert->Network Address