Esta inversión es biyectiva, así que no puedo entender para qué sirve.
Esta inversión es biyectiva, así que no puedo entender para qué sirve.
Respuestas:
RFC 4291 proporciona instrucciones sobre cómo crear la dirección EUI64:
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|
+----------------+----------------+----------------+----------------+
Y RFC 2373 proporciona el "por qué" detrás de voltear el séptimo bit:
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.
Pero eso es un poco bocado. Entonces, en términos más simples ... En la arquitectura de la dirección MAC, el séptimo bit significa si la dirección MAC se asignó universal o localmente. Un valor de 0 indica que la dirección se administra universalmente. Por ejemplo, cuando la IANA asigna un Identificador Organizacionalmente Único (OUI) a un proveedor de tarjetas NIC, el 7º bit será 0, lo que indica que la OUI fue asignada universalmente. Si un usuario cambia manualmente su dirección MAC, este 7º bit se establecerá en 1, lo que indica que la dirección Ethernet se administró localmente .
También hay más información sobre esto en PacketLife .
Se hace para clasificar las direcciones asignadas a mano, como prefix::1
, prefix::2
etc. , como locales.
Supongamos que está configurando una red en prefijo 2001:db8:dead:beef::/64
. Probablemente usará IP basadas en MAC para la mayoría de sus nodos. Sin embargo, para algunos nodos, como el servidor DNS, el servidor de directorio, etc., querrá usar direcciones que sean más fáciles de escribir y más fáciles de memorizar que las direcciones basadas en MAC. Para el servidor DNS, probablemente querrás usar
2001:db8:dead:beef::53
Tenga en cuenta que el bit U / L se establece en 0, que, debido a la inversión del bit, clasifica el ID de host como local.
EUI 64 significa solo una dirección MAC (48 bits) que tiene
..:FF:FE:..
en el medio para llenar todos los 64 bits. De ahí el nombre EUI-64. Para ser exactos, se refiere a EUI-64 modificado, lo que significa que EUI-64 se combina con un bitflip del séptimo bit.
El séptimo bit cambia porque en las direcciones MAC este séptimo bit indica la diferencia entre uno local (0) y global (1). Local en este sentido es, por ejemplo, una interfaz en serie.
Como todo esto es crear automáticamente una dirección pública que estará en una interfaz que es global (en términos de MAC), esto daría como resultado un 1 en la séptima posición. Cambiaron ese bit, por lo que no tiene que escribir la dirección del agujero y puede usar la notación abreviada de "::"
Ejemplo (del 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.
Respuesta corta A pesar de que cada dirección MAC terminaría en una dirección IPv6 que tendría un número HEX mayor que 0 en alguna posición en la dirección IPv6. Esto hace posible tener ceros allí para que pueda usar la notación abreviada.