IEEE MAC Address
Bei den von IEEE standardisierten LAN-Topologien haben alle Stations-Adressen ein einheitliches Format; FDDI hat dieses Adress-Format übernommen: MAC-Adressen sind 6 Bytes lang, mit einer Hersteller-Kennung in den ersten drei Bytes sowie dem eigentlichen Stations-Zähler in den zweiten drei Bytes (die von IEEE zwecks Abwärtskompatibilität ebenfalls zugelassenen 2-Byte-Adressen sind heute praktisch belanglos).
Gleichwohl gibt es Unterschiede in der binären Darstellung der MAC-Adressen (MSB vs. LSB, kanonisch vs. non-kanonisch).
MSB <> LSB / kanonisch <> Non-kanonisch
Bei Ethernet werden die einzelnen Oktette dergestalt gesendet, daß das LSB (das niederwertigste Bit) zuerst übertragen wird; diese Übertragungsweise wird 'kanonisch' genannt.
Bei Token-Ring und FDDI wird das MSB (das höchstwertigste Bit) zuerst übertragen; diese Übertragungsweise wird 'non-kanonisch' genannt.
Bridges zwischen Ethernet einerseits und FDDI/Token-Ring andererseits verlangen daher ein Umsetzen der jeweiligen MAC-Adresse.
Bestandteile der MAC-Adresse
Hersteller-Kennung
Die 6 Bytes lange MAC-Adresse enthält in den ersten 3 Bytes eine Hersteller-Kennung (vendor value) sowie anschließend in den verbleibenden 3 Bytes den eigentlichen Stations-Zähler. Die Hersteller-Kennungen werden weltweit vom IEEE verwaltet bzw. zugewiesen. Da ständig neue Hersteller-Kennungen vergeben werden, müssen die entsprechenden Tabellen von Protokoll-Analysatoren laufend gepflegt werden.
Siehe:
Diese burned-in Adressen können per Treiber-Anweisung für die jeweilige Sitzung durch (fast) beliebige 6-Byte-Folgen ersetzt werden.
Wenn statt der werkseitig eingebrannten (burned-in) MAC-Adresse eine über den Treiber zugewiesene, logische Adresse verwendet wird, wird das sog. U/L-Bit auf '1' gesetzt (siehe unten).
Mit logischen MAC-Adressen wird vorwiegend im Token-Ring gearbeitet (siehe unten) sowie bei DECnet im Ethernet.
Bei Ethernet kann das Verfahren zur Mehrfach-Verwendung eine MAC-Adresse führen; bei Token-Ring ist im MAC-Protokoll ein Schutz gegen diesen Fehler gegeben.
In den ersten drei Bytes, welche die Hersteller-Kennung beinhalten, sind jedoch noch weitere Informationen codiert in Form der I/G- bzw. U/L-Bits.
I/G-Bit und U/L-Bit
Die ersten zwei Bits einer Empfänger-Adresse (Destination Address) haben besondere Bedeutung:
I/G = 0
Individual Address: Der Empfänger ist eine einzelne Maschine.
I/G = 1
Group Address: Es liegt ein Multicast (an einige) oder Broadcast (an alle) vor.
U/L = 0
Universally Administered Address (nur mit 1. bit = 0): Es liegt die werksseitig eingebrannte Stations-Adresse vor.
U/L = 1
Locally Administered Address (nur mit 1. bit = 0): Es liegt eine über den Karten-Treiber vergebene logische (nicht in die Hardware eingebrannte) Adresse vor. Solche Adressen haben im ersten Byte typischerweise "02"h stehen (sofern die verbleibenden 6 Bits des 1. Bytes ungenutzt bleiben). Das U/L-Bit wird automatisch vom Treiber auf '1' gesetzt, wenn über den Treiber die Anweisung kommt, eine andere als die werksseitig eingebrannte MAC-Adresse zu verwenden; es kann also keine andere Hardware-MAC-Adresse imitiert werden (sehr wohl aber eine andere logische Adresse).
Bei Absender-Adressen (Source Address) verliert das 1. Bit seine I/G-Funktion (Grund: Absender kann niemals eine Multicast- oder Broadcast-Adresse ein) und bleibt bei Ethernet ungenutzt, während es bei Token-Ring als RII-Bit (Routing Information Indicator) verwendet wird (RII = 1 zeigt an, daß Source-Routing-Daten hinter der Source Address liegen).
Token-Ring / Logische Adressen:
Destination Address (6 Bytes) (Token-Ring)
Source Address (6 Bytes) (Token-Ring)