Diese Umkehrung ist bijektiv, daher kann ich nicht herausfinden, wozu sie dient.
Diese Umkehrung ist bijektiv, daher kann ich nicht herausfinden, wozu sie dient.
Antworten:
RFC 4291 enthält Anweisungen zum Erstellen der EUI64-Adresse:
Links or Nodes with IEEE 802 48-bit MACs
[EUI64] defines a method to create an IEEE EUI-64 identifier from an
IEEE 48-bit MAC identifier. This is to insert two octets, with
hexadecimal values of 0xFF and 0xFE (see the Note at the end of
appendix), in the middle of the 48-bit MAC (between the company_id
and vendor-supplied id). An example is the 48-bit IEEE MAC with
Global scope:
|0 1|1 3|3 4|
|0 5|6 1|2 7|
+----------------+----------------+----------------+
|cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+
where "c" is the bits of the assigned company_id, "0" is the value of
the universal/local bit to indicate Global scope, "g" is
individual/group bit, and "m" is the bits of the manufacturer-
selected extension identifier. The interface identifier would be of
the form:
|0 1|1 3|3 4|4 6|
|0 5|6 1|2 7|8 3|
+----------------+----------------+----------------+----------------+
|cccccc1gcccccccc|cccccccc11111111|11111110mmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+----------------+
Und RFC 2373 liefert das "Warum" hinter dem Umdrehen des 7. Bits:
The motivation for inverting the "u" bit when forming the interface
identifier is to make it easy for system administrators to hand
configure local scope identifiers when hardware tokens are not
available. This is expected to be case for serial links, tunnel end-
points, etc. The alternative would have been for these to be of the
form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler ::1,
::2, etc.
Aber das ist ein bisschen mundvoll. Einfacher ausgedrückt ... In der MAC-Adressarchitektur gibt das 7. Bit an, ob die MAC-Adresse universell oder lokal zugewiesen wurde. Der Wert 0 gibt an, dass die Adresse universell verwaltet wird. Wenn IANA beispielsweise einem NIC-Kartenhersteller eine OUI (Organizationally Unique Identifier) zuweist, ist das 7. Bit 0, was darauf hinweist, dass die OUI universell zugewiesen wurde. Sollte ein Benutzer seine MAC-Adresse manuell ändern, wird dieses 7. Bit auf 1 gesetzt, was anzeigt, dass die Ethernet-Adresse lokal verwaltet wurde .
Weitere Informationen hierzu finden Sie auch bei PacketLife .
Es wird zum Klassifizieren von Hand zugeordneten Adressen erfolgt wie prefix::1
, prefix::2
usw. als lokal.
Angenommen, Sie richten ein Netzwerk mit Präfix ein 2001:db8:dead:beef::/64
. Sie werden wahrscheinlich MAC-basierte IPs für die meisten Ihrer Knoten verwenden. Für einige Knoten, wie z. B. den DNS-Server, den Verzeichnisserver usw., sollten Sie Adressen verwenden, die einfacher einzugeben und leichter zu speichern sind als die MAC-basierten Adressen. Für den DNS-Server möchten Sie wahrscheinlich verwenden
2001:db8:dead:beef::53
Beachten Sie, dass das U / L-Bit auf 0 gesetzt ist. Aufgrund der Inversion des Bits wird die Host-ID als lokal klassifiziert.
EUI 64 bedeutet nur eine MAC-Adresse (48 Bit)
..:FF:FE:..
in der Mitte, um alle 64 Bits zu füllen. Daher der Name EUI-64. Um genau zu sein, meinen Sie modifiziertes EUI-64, was bedeutet, dass EUI-64 mit einem Bitflip des 7. Bits kombiniert ist.
Das siebte Bit wird geändert, da dieses 7. Bit in den MAC-Adressen den Unterschied zwischen einem lokalen (0) und einem globalen (1) anzeigt. Lokal in diesem Sinne ist beispielsweise eine serielle Schnittstelle.
Da dies alles dazu dient, automatisch eine öffentliche Adresse zu erstellen, die sich alle auf einer globalen Schnittstelle befindet (in MAC-Begriffen), würde dies zu einer 1 an der 7. Position führen. Sie haben dieses Bit geändert, sodass Sie die Lochadresse nicht aufschreiben müssen und die Kurzschreibweise "::"
Beispiel (aus dem RFC 2373):
...
The alternative would have been for these to be of the
form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler ::1,
::2, etc.
Kurze Antwort Obwohl jede MAC-Adresse in einer IPv6-Adresse enden würde, deren HEX-Nummer an einer bestimmten Stelle in der IPv6-Adresse höher als 0 wäre. Dies ermöglicht es, Nullen dort zu haben, sodass Sie die Kurzschreibweise verwenden können.