Die MAC-Adresse (Media Access Control, Ethernet-ID oder bei Apple Airport-ID und Ethernet-ID genannt) ist die Hardware-Adresse jedes einzelnen Netzwerkadapters, 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 verwendet.
Netzwerkgeräte brauchen dann eine MAC-Adresse, wenn sie auf Schicht 2 explizit adressiert werden 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.
Ein Switch benötigt nur dann eine MAC-Adresse, wenn er managebar ist bzw. Monitoring-Dienste anbietet (zum Beispiel über Telnet, SNMP oder HTTP). Bridges verwenden die MAC-Adresse für den Spanning Tree Algorithmus.
Aufbau
Im Falle von Ethernet-Netzen besteht die MAC-Adresse aus 48 Bit (sechs Bytes), nummeriert von 47 bis 0. Die Adressen werden in der Regel hexadezimal geschrieben, wie z. B. 08-00-20-ae-fd-7e
oder 08:00:20:ae:fd:7e
(auch: 080020aefd7e
).
In jedem Frame nach Ethernet-II-Variante 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 untergeordneten 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. Dazu ersetzt ein Router die MAC-Adressen, d. h. wenn Router R1 ein Ethernet-Frame empfängt und es an den Router R2 weitergeben soll, ersetzt R1 die Quelladresse mit seiner eigenen MAC-Adresse und die Zieladresse mit der Mac-Adresse von R2.
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.
Besondere Kennungen
Das niederwertigste Bit (LSB – Least Significant Bit) des ersten Bytes (Bit 40) einer MAC-Adresse gibt an, ob es sich um eine Einzeladresse oder Gruppenadresse (I/G für Individual/Group) handelt. Bei einem Broadcast oder Multicast wird I/G = 1 gesetzt, sonst und bei Quelladressen ist I/G = 0.
Das folgende Bit 41 (genannt U/L für Universal/Local) zeigt an, dass die MAC-Adresse global eindeutig ist (U/L = 0) oder lokal administriert wird und nur dort eindeutig ist (U/L = 1).
Herstellerkennungen
00-50-8b-xx-xx-xx |
Compaq |
00-07-E9-xx-xx-xx |
Intel |
00-60-2F-xx-xx-xx |
Cisco |
00-15-F2-xx-xx-xx |
ASUS |
Die ersten 24 Bits (Bits 47 bis 24) beschreiben eine von der IEEE vergebene Herstellerkennung (auch OUI – Organizationally Unique Identifier genannt, die weitgehend in einer Datenbank einsehbar sind[1]). 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 224 = 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 Adressbereich innerhalb der Bits 11 bis 0. Damit sind 212 = 4096 individuelle Adressen möglich.
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 Software verwendet 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.
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 224.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 Herstellerkennungen, die – wie zum Beispiel AC-DE-48
– in der OUI-Datenbank als „privat“ gekennzeichnet wurden, sind für Firmen registriert, die ihre Identität nicht öffentlich preisgeben wollen. Adressen aus diesen Bereichen können daher nicht, wie man vermuten würde, für lokale Zwecke eingesetzt werden.
Abfrage und Setzen einer MAC-Adresse
Die MAC-Adresse steht häufig bereits, zum Teil in die Seriennummer integriert, auf der Netzwerkkarte. Daneben kann man sie per Software auslesen, je nach Betriebssystem sind hierzu verschiedene Kommandos nötig:
Betriebssystem | Auslesen | Setzen |
---|---|---|
AIX | netstat -ia |
(bitte ergänzen) |
FreeBSD | ifconfig -a |
ifconfig <Interface Name> link <mac-adresse>
|
HP-UX | lanscan |
lanadmin -A 0x<mac-adresse>
|
IRIX | netstat -ia |
(bitte ergänzen) |
Linux | ifconfig MAC-Adressen von anderen Computern im Netzwerk: cat /proc/net/arp |
ifconfig <Interface Name> hw ether <mac-adresse>
|
Mac OS X | ifconfig MAC-Adressen von anderen Computern im Netzwerk: arp -a |
ifconfig <Interface Name> ether <mac-adresse> oder: ifconfig <Interface Name> lladdr <mac-adresse> oder: /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport --mac=<mac-adresse> für AirPort Extreme (802.11n) WLAN (beide Methoden funktionieren nicht für alle Modelle) |
NetBSD | ifconfig -a |
Zur Zeit nicht möglich. |
NeXTStep | ifconfig -a |
(bitte ergänzen) |
OpenBSD | ifconfig -a |
ifconfig <Interface Name> lladdr <mac-adresse>
|
OS/2 | netstat -n |
über LAPS/MPTS |
SCO Unix | ndstat |
(bitte ergänzen) |
Solaris | ifconfig -a |
ifconfig <Interface Name> ether <mac-adresse>
|
Tru64 | netstat -ia |
(bitte ergänzen) |
Windows 95, 98, ME | winipcfg.exe (im Windows-Installationsordner)
|
In der Windows-Registrierungsdatenbank (regedit ) den Schlüssel networkaddress suchen und dort die gewünschte Adresse eingeben. Die Änderung erfordert einen Neustart des Systems.
Es gibt auch Programme zum Setzen der Adresse. |
Windows 2000 | ipconfig /all oder
|
In den Systemeinstellungen Netzwerk und DFÜ-Verbindungen die Eigenschaften des Netzwerk-Interfaces, dessen MAC-Adresse ausgewählt werden soll, anzeigen. In der Registerkarte „Allgemein“ unter „Konfigurieren“, dort Registerkarte „Erweiterte Einstellungen“ die Eigenschaft MAC Address oder Networkadress wählen und in dem Feld "Wert" die gewünschte Adresse ohne Trennzeichen eingeben.
Es gibt auch Programme zum Setzen der Adresse. |
Windows XP | getmac in der Eingabeaufforderung, auch die Programme von Windows 2000 funktionieren.
|
Auch hier gibt es Programme zum Setzen der Adresse.
Obwohl die Möglichkeit statischer ARP-Einträge dokumentiert ist, werden in einigen Versionen von Windows de facto nach wie vor ARP-Pakete ausgewertet, so dass statische Einträge dort nicht sinnvoll sind. |
Windows Vista | getmac in der Eingabeaufforderung sowie ipconfig /all in der Eingabeaufforderung. Hier wird die MAC-Adresse Physikalische Adresse genannt.
|
Auch hier gibt es Programme zum Setzen der Adresse. |
Windows Mobile 5.0 (Pocket PC) | mit dem Verbindungsmanager Start → Einstellungen → Verbindungen → Wireless LAN → Erweitert (Englische Version: Start → Setup → Connection → Wireless LAN → Advanced ) Die MAC-Adresse erscheint dann im MAC-Feld oder WiFi aktivieren, Verbindungsmanager aufmachen, dann unten rechts auf MENÜ gehen und dort ÜBER auswählen. Hier bekommt man auch die Information über die MAC-Adresse. Das W-LAN muss dazu angeschaltet sein. Sonst bleiben die Felder leer. |
(bitte ergänzen) |
Erwerb eines eigenen MAC-Adressraumes
Auf einer Webseite des IEEE[2] können Preise für die Registrierung eigener MAC-Adressbereiche eingesehen werden. Für eine eigene OUI werden 1.650 US-Dollar verlangt. Für jährlich 1.000 US-Dollar kann man diesen Adressbereich auch geheim halten (anderen ist also der eigene Adressbereich nicht bekannt; man wird in der OUI-Datenbank nicht eingetragen). Für einen eigenen IAB werden 550 US-Dollar verlangt.
Quellen
Weblinks
- Online MAC-Adressen-Entschlüsselung (englisch)
- IEEE OUI and Company_id Assignments – Herstellerabfrage anhand von MAC-Adresse