EUI-64 (Extended Unique Identifier de 64 bits) es un formato estandarizado por el IEEE utilizado para la creación automática de identificadores de interfaz únicos de 64 bits a nivel de capa de enlace y capa de red. En el ámbito del protocolo IPv6, el mecanismo EUI-64 modificado permite que un host autoconfigure de forma automática su dirección IPv6 (mediante SLAAC) utilizando su dirección MAC física de 48 bits.
Dado que el ID de interfaz en las direcciones IPv6 habituales (como las Global Unicast o Link-Local) requiere 64 bits y las direcciones MAC físicas Ethernet solo tienen 48 bits, la norma EUI-64 define un algoritmo matemático sencillo para dilatar la MAC e integrar los 16 bits faltantes de manera determinista.
¿Cómo se genera un identificador de interfaz EUI-64 desde una MAC?
El proceso de conversión de una dirección MAC de 48 bits (por ejemplo: 00:1A:2B:3C:4D:5E) a un ID de interfaz EUI-64 de 64 bits se realiza en tres pasos clave:
- 1. División de la MAC: Se toma la dirección MAC de 48 bits y se divide en dos mitades exactas de 24 bits: el OUI (identificador del fabricante) y el NIC (número de serie de la tarjeta).
- 2. Inserción del relleno
FF-FE: Se insertan los 16 bits fijos11111111 11111110en hexadecimal (FF:FE) justo en el medio de ambas mitades. - 3. Inversión del bit U/L (Universal/Local): Se toma el séptimo bit del primer octeto (bit Universal/Local) y se invierte su valor (si es
0pasa a1, y viceversa). En direcciones MAC grabadas de fábrica (que tienen este bit a 0), cambia a 1 para indicar que es una dirección administrada universalmente.
Ejemplo paso a paso del algoritmo EUI-64
| Paso de Procesamiento | Valor Hexadecimal | Explicación |
|---|---|---|
| 1. MAC original (48 bits) | 00:11:22:33:44:55 |
Dirección física de la tarjeta de red (NIC). |
2. Inserción de FF:FE |
00:11:22:FF:FE:33:44:55 |
Expansión de 48 a 64 bits. |
| 3. Inversión Bit U/L | 02:11:22:FF:FE:33:44:55 |
El primer octeto 00 (00000000 en binario) invierte su 7.º bit a 1 (00000010 = 02). |
| 4. Resultado IPv6 (Interface ID) | 211:22ff:fe33:4455 |
ID de interfaz listo para añadir al prefijo /64 (ej. fe80::211:22ff:fe33:4455). |
Evolución: EUI-64 vs. Extensiones de Privacidad (RFC 4941 / RFC 7217)
| Mecanismo de Asignación | ¿Cómo se genera el ID de interfaz? | Ventajas | Inconvenientes / Desafíos |
|---|---|---|---|
| EUI-64 Modificado | Basado directamente en la dirección MAC del hardware. | Predecible, no requiere servidor DHCPv6, ideal para servidores. | Riesgo de privacidad: rastreo del dispositivo entre distintas redes por su MAC. |
| Privacy Extensions (RFC 4941) | Generado aleatoriamente de forma periódica. | Protege la privacidad del usuario al navegar por Internet. | Dificulta la gestión y auditoría fija de equipos en redes locales. |
| Opaque Interface Identifiers (RFC 7217) | Algoritmo hash criptográfico por red. | Es estable dentro de la misma red pero diferente si cambia de red. | Sustituto moderno de EUI-64 en sistemas operativos cliente recientes. |
Características principales:
- Permite la autoconfiguración de direcciones IP de enlace local (Link-Local, comenzando por
fe80::/10) sin intervención humana ni servidor DHCP. - Facilita la autoconfiguración automática sin estado en IPv6 (**SLAAC - Stateless Address Autoconfiguration**).
- Invierte el séptimo bit (bit Universal/Local) del primer octeto para diferenciar direcciones asignadas de fábrica de las modificadas manualmente.
- Ha sido progresivamente sustituido por direcciones aleatorias estables en sistemas operativos cliente modernos (Windows, Android, iOS) para evitar que la MAC del usuario sea rastreable en Internet.
Analogía: Imagina que tienes un número de identificación personal de 6 dígitos (MAC), pero la administración necesita un formato de 8 dígitos (EUI-64). El sistema decide añadir la combinación fija "99" en medio de tu número y cambiar el primer dígito por una regla fija. Tu número sigue siendo derivado del tuyo y único en todo el país, pero se adapta al nuevo formato.
Actividad práctica
Objetivo:
Comprobar la dirección MAC del equipo e identificar si la dirección IPv6 Link-Local activa fue generada mediante el proceso EUI-64 o mediante direcciones aleatorias de privacidad.
Tareas:
- Abre la consola de comandos de tu sistema operativo (CMD/PowerShell en Windows o Terminal en Linux/Mac).
- Obtén la dirección MAC de la tarjeta de red activa y su dirección IPv6 Link-Local:
- En Windows:
ipconfig /all - En Linux:
ip addr show
- En Windows:
- Compara el ID de interfaz (los últimos 64 bits) de tu dirección IPv6 Link-Local (
fe80::...) con tu dirección MAC. - Verifica si contiene la cadena intermedia
ff:fe(offee) en el centro de los últimos octetos.- Si contiene
FF:FE, tu equipo está utilizando **EUI-64**. - Si no lo contiene, tu sistema operativo está utilizando **Extensiones de Privacidad (RFC 4941 / RFC 7217)**.
- Si contiene
- (Opcional en Linux) Puedes forzar a una interfaz a utilizar EUI-64 modificando la configuración del kernel o NetworkManager.
Preguntas de reflexión:
- ¿Por qué se introduce la secuencia hexadecimal
FF-FEexactamente en la mitad de la dirección MAC durante el proceso EUI-64? - ¿Por qué se invierte el bit U/L (Universal/Local) en el primer octeto de la dirección MAC al convertirla a EUI-64?
- ¿Qué problema de seguridad y privacidad provocó que se dejara de usar EUI-64 como método por defecto en dispositivos móviles y portátiles?
- Si una dirección MAC es
00:50:56:A1:B2:C3, ¿cuál será su identificador de interfaz EUI-64 correspondiente? - ¿En qué tipo de protocolo de autoconfiguración de IPv6 se utiliza principalmente EUI-64?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Por qué se introduce la secuencia hexadecimal FF-FE exactamente en la mitad de la dirección MAC durante el proceso EUI-64?
Porque el ID de interfaz en las direcciones IPv6 debe tener **64 bits**, mientras que las direcciones MAC físicas de Ethernet miden **48 bits**. Al insertar los 16 bits fijos de FF-FE ($11111111\ 11111110_2$) en medio del OUI y el número de serie, se amplía la longitud a los 64 bits requeridos sin perder la unicidad física del fabricante.
2. ¿Por qué se invierte el bit U/L (Universal/Local) en el primer octeto de la dirección MAC al convertirla a EUI-64?
En las direcciones MAC IEEE 802, un bit U/L en 0 indica que la dirección es globalmente única (asignada por fábrica). Sin embargo, en IPv6 se prefirió que las direcciones únicas administradas globalmente tuvieran el bit a 1 para facilitar la escritura manual de direcciones cortas asignadas localmente por administradores (donde el bit se mantiene en 0).
3. ¿Qué problema de seguridad y privacidad provocó que se dejara de usar EUI-64 como método por defecto en dispositivos móviles y portátiles?
Como la dirección MAC del dispositivo es fija e inmutable, utilizar EUI-64 hace que el ID de interfaz IPv6 **sea idéntico independientemente de la red Wi-Fi a la que se conecte el usuario**. Esto permitía a servidores web y distribuidores de publicidad rastrear la ubicación y movimientos geográficos de un portátil o smartphone a través de Internet.
4. Si una dirección MAC es 00:50:56:A1:B2:C3, ¿cuál será su identificador de interfaz EUI-64 correspondiente?
El resultado es 0250:56ff:fea1:b2c3.
Pasos:
1. Insertar FF:FE en medio: 00:50:56:FF:FE:A1:B2:C3.
2. Invertir el 7.º bit del primer octeto 00 (00000000 pasa a 00000010 = 02).
5. ¿En qué tipo de protocolo de autoconfiguración de IPv6 se utiliza principalmente EUI-64?
En el mecanismo SLAAC (Stateless Address Autoconfiguration). A través de este protocolo, los routers envían anuncios de Router (Router Advertisements) con el prefijo de red /64, y el host combina ese prefijo con su propio ID de interfaz generado por EUI-64 para obtener una dirección IPv6 completa sin necesidad de servidores DHCPv6.