RS and RA Messages

Si no se desea configurar estáticamente las GUA IPv6 (Como vimos en el artículo 4. Static GUA and LLA Configuration), no hay necesidad de preocuparse. La mayoría de los dispositivos obtienen sus GUA IPv6 de forma dinámica. En este artículo explicaremos cómo funciona este proceso mediante mensajes de anuncio de router (RA - Router Advertisements) y solicitud de router (RS - Router Solicitations). Este artículo se vuelve bastante técnico, pero cuando se comprenda la diferencia entre los tres métodos que pueden usar un anuncio de router, así como el proceso EUI-64 para crear un ID de Interfaz difiere de un proceso generado aleatoriamente, habremos avanzado mucho en nuestra experiencia a lo que IPv6 respecta.

Para el GUA, un dispositivo obtiene la dirección dinámicamente a través de mensajes del Internet Control Message Protcol version 6 (ICMPv6). Los routers IPv6 envía mensajes RA de ICMPv6 periódicamente, cada 200 segundos, a todos los dispositivos con IPv6 habilitado en la red. También se enviará un mensaje RA en respuesta a un host que envía un mensaje ICMPv6 RS, que es una solicitud de un mensaje RA. AMbos mensajes se muestra en la imagen:

Pasted image 20241125111255.png

  1. Los hosts que solicitan infomración de direccionamiento envían mensajes RS a todos los routers IPv6.
  2. Los mensajes RA son enviados a todos los nodos IPv6. Si se utiliza el método 1 (Sólo SLAAC), el RA incluye el prefijo de red, la longitud del prefijo y la información del default gateway.

Los mensajes RA están en interfaces Ethernet del router IPv6. El router debe estar habilitado para el enrutamiento IPv6, que no está habilitado de forma predeterminad. Para habilitar un router como router IPv6, se debe usar el comando de configuración global ipv6 unicast-routing.

El mensaje ICMPv6 RA es una sugerencia para un dispositivo sobre cómo obtener una GUA IPv6. La decisión final depende del sistema operativo del dispositivo. El mensaje ICMPv6 RA incluye lo siguiente:

  • Network & Length Prefix: Esto le dice al dispositivo a qué red pertenece.
  • Default Gateway Address: Es un LLA IPv6, la dirección IPv6 de origen del mensaje RA.
  • DNS Addresses and Domain Names: Estas son las direcciones de los servidores DNS y un nombre de dominio.

Existen tres métodos para los mensajes de RA:

  • 1st Method: SLAAC: Tiene todo lo que se necesita, incluido el prefijo, la longitud del prefijo y la dirección del default gateway.
  • 2nd Method: SLAAC with Stateless DHCPv6 Server: Posee información, pero necesita obtener otra información como direcciones DNS, de un servidor DHCPv6 sin estado.
  • 3rd Method: Stateful DHCPv6 (Without SLAAC): Puede brindarnos la dirección del default gateway. Necesita pedir a un serivdor DHCPv6 con estado todo la otra información.

Method 1: SLAAC - (Stateless Addresss Autoconfiguration)

SLAAC es un método que permite a un dispositivo crear su propio GUA sin los servidores de DHCPv6. Usando SLAAC, los dispositivos confían en los mensajes ICMPv6 RA del router local para obtener la información necesaria.

Por defecto, el mensaje RA sugiere que el dispositivo receptor use la información en el mensaje RA para crear su propia GUA IPv6 y toda la otra información necesaria. No se requieren los servicios de un servidor DHCPv6.

SLAAC no tiene estado (Stateless...), lo que significa que no hay un servidor central (Por ejemplo, un servidor DHCPv6 con estado) que asigne GUA y mantenga una lista de dispositivos y sus direcciones. Con SLAAC, el dispositivo cliente usa la información en el mensaje RA para crear su propia GUA. Como se muestra en la imagen, las dos partes de la dirección se crean de la siguiente manera:

  • Prefix: Se anuncia en el mensaje RA.
  • Interface ID: Utiliza el proceso EUI-64 o genera un número aleatorio de 64 bits, según el sistema operativo del dispositivo.

Pasted image 20241125121539.png

  1. El router envía un mensaje RA con el prefijo para el enlace local.
  2. La PC usa SLAAC para obtener un prefijo del mensaje RA y crea su propia ID de interfaz.

Method 2: SLAAC and Stateless DHCPv6

Se puede configurar una interfaz de router para enviar un anuncio de router utilizando SLAAC y DHCPv6 sin estado.

Como se muestra en la imagen, con este método, el mensaje RA (Router Advertisements) sugiere que los dispositivos utilicen lo sigueinte:

  • SLAAC para crear su propio IPv6 GUA.
  • La dirección link-local del router, la dirección IPv6 de origen del RA para la dirección de default gateway.
  • Un servidor DHCPv6 stateless, que obtendrá otra información como la dirección del serivdor DNS y el nombre de dominio.

Un servidor DHCPv6 sin información de estado distribuye las direcciones del servidor DNS y los nombres de dominio. No asigna GUA.

Pasted image 20241125190605.png

  1. El PC Envía un RS (Router Solicitation) a todos los routers IPv6, solicitado información de direccionamiento.
  2. El router envía un mensaje RA (Router Advertisements) a todos los nodos IPv6 con Método 2 (SLAAC y DHCPv6) especificado. Brindando así información del prefijo, longitud de prefijo y default gateway. Pero la información DNS deberá ser obtenida de un servidor DHCPv6.
  3. El PC envía un mensaje de solicitud DHCPv6 a todos los servidores DHCPv6 posterior a haber utilizado SLAAC para crear la dirección IPv6 y obtener el default gateway, solicitando información del servidor DHCPv6 sin estado.

Method 3: Stateful DHCPv6

Una interfaz de router se puede configurar para enviar una RA usando DHCPv6 con estado solamente.

DHCPv6 con información de estado es similar a DHCP para IPv4. Un dispositivo puede recibir automáticamente su información de direccionamiento, inlcuida la GUA, la longitud de prefijo y las direcciones de los servidores DNS de un servidor DHCPv6 con estado.

Como se muestra en la imagen, con este método, el mensjae RA sugiere que los dispositivos usen lo siguiente:

  • La dirección LLA del router, que es la dirección IPv6 de origen del RA, para la dirección del default gateway.
  • Un servidor Stateful DHCPv6, para obtener una GUA, otra información como la dirección del servidor DNS y el nombre de dominio.

Pasted image 20241125191155.png

  1. La PC envía un RS (Router Solicitation) a todos los routers IPv6, solicitando la información del direccionamiento.
  2. El router envía un mensaje RA (Router Advertisement) a todos los nodos IPv6 con el Método 3 (Stateful DHCPv6) específicado. El router informará que es el default gateway pero que se deberá realizar una solicitud a un servidor DHCPv6 con estado para obtener la asignación de una dirección IPv6 y otra información de direccionamiento.
  3. La PC envía un mesnaje de solicitud de DHCPv6 a todos los servidores DHCPv6, solicitando la información restante del direccionamiento.

Un servidor DHCPv6 con información de estado asigna y mantiene una lista de qué dispositivos recibe cuál dirección IPv6. DHCP para IPv4 tiene información de estado.

La dirección de default gateway solo se puede obtener dinámicamente a partir del mensaje RA. El servidor DHCPv6 con información de estado o sin ella no brinda la dirección del default gateway.


EUI-64 Process vs Randomly Generated

Cuando el mensaje RA es SLAAC o SLAAC con DHCPv6 sin estado (Método 1 y 2), el cliente debe generar su propia ID de Interfaz. El cliente conoce la parte del prefijo de la dirección del mensaje RA, pero debe crear su propia ID de interfaz. EL ID de interfaz se puede crear utilizando el proceso EUI-64 o un númeor de 64 bits generado aleatoriamente, como se muestra en la imagen:

Pasted image 20241125191818.png

  1. El router envía un mensaje RA.
  2. El PC utiliza el prefijo del mensaje RA y utliza EUI-64 o un número aleatoriio de 64 bits para generar un ID de interfaz.

EUI-64 Process

El IEEE definió el identificador único extendido (EUI) o proceso EUI-64 modificado. Este proceso utliza la dirección MAC Ethernet de 48 bits de un cliente e inserta otros 16 bits en el medio de la dirección MAC para crear una Interface ID. (Explicado en 1. IPv4 vs IPv6 Terminology e 3. IPv6 Address Type > Interface ID).

Las direcciones MAC de Ethernet, por lo general, se representan en formato hexadecimal y consta de dos partes:

  • Organization Unic Identifier (OUI): El OUI es un código de proveedor de 24 bits (6 dígitos hexadecimales) asignado por IEEE.
  • Device-Specific Identifier: El identifiador del dispositivo es un valor único de 24 bits (6 dígitos hexadecimales) dentro de una OUI común.

Las ID de interfaz EUI-64 se representan en sistema binario y constan de tres partes:

  • OUI de 24 bits de la dirección MAC del cliente, pero el séptimo bit (Bit universal/local, U/L) se invierte. Esto quiere decir que si el séptimo bit es 0, se transforma en 1, y vicebersa.
  • El valor insertado de 16 bits fffe (En hexadecimal).
  • Identificador de dispositivo de 24 bits de la dirección MAC del cliente.

El proceso EUI-64 se ilustra en la imagen a continuación, utilizando la dirección MAC R1 GigabitEthernet de fc99 : 4775 : cee0:

Pasted image 20241125192758.png

  1. Se divide la dirección MAC entre la OUI y el identificador de dispositivo.
  2. Se inserta el valor hexadecimal fffe, que en binario es 1111 1111 1111 1110.
  3. Se convierte los primeros 2 valores hexadecimales de la OUI a binario y se voltea el bit U/L (Séptimo bit). (Las razones para invertir el valor del bit U/L se discuten en RFC 5342).

El resultado de un Interface ID generado a raíz de la dirección MAC fc:99:47:75:ce:e0 es la dirección fe:99:47:ff:fe:75:ce:e0.

El resultado de ejemplo del comando ipconfig muestra la GUA IPv6 que se crea dinámicamente mediante SLAAC y el proceso EUI-64. Una manera fácil de indentificar que una dirección probablmente se creó usando EUI-64 es la ubicación de los dígitos hexadecimales fffe en medio de la Subnet ID.

La ventaja de EUI-64 es que la dirección MAC de Ethernet se puede utilizar para determinar la ID de la Interfaz. También permite que los administradores de redes rastreen fácilmente una dirección IPv6 a un terminal mediante la dirección MAC única. Sin embargo, esto ha causado preocupaciones de privacidad entre muchos usuarios que temían que sius paquetes pudieran rastrearse hasta el equipo físico real. Debido a estas preocupaciones, se puede usar una ID de interfaz generada aleatoriamente.

C:\> ipconfig
Windows IP Configuration
Conexión de área local del adaptador Ethernet:
   Sufijo de conexión específica DNS. :
   IPv6 Address. . . . . . . . . . . : 2001:db8:acad:1:fc 99:47ff:fe75:cee0
   Link-local IPv6 Address . . . . .: fe80::fc 99:47ff:fe75:cee0
   Default Gateway . . . . . . . . . : fe80::1
C:\>

64 bits Number Randomly Generated

Dependiendo del sistema operativo, un disposituvo puede usar una ID de interfaz generada aleatoriamente en lugar de usar la dirección MAC y el proceso EUI-64. A partir de WIndows Vista, WIndows utiliza un ID de interfaz generada aleatoriamente en lugar de una creada con EUI-64. Windows XP y los sistemas operativos anteriores utlizaban EUI-64.

Una vez establecida la ID de la interfaz, ya sea a través del proceso EUI-64 o mediante la generación aleatoria, se puede combinar con un prefijo IPv6 en el mensaje RA para crear una GUA, como se muestra en los siguientes comandos:

C:\> ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
   Connection-specific DNS Suffix  . :
   IPv6 Address. . . . . . . . . . . : 2001:db8:acad:1:50a5:8a35:a5bb:66e1
   Link-local IPv6 Address . . . . . : fe80::50a5:8a35:a5bb:66e1
   Default Gateway . . . . . . . . . : fe80::1
C:\>

Para garantizar la unicidad de cualquier dirección de unidifusión IPv6, el cliente puede usar un proceso conocido como Duplicated Addresses Detection (DAD). Es similar a una solitud de ARP para su propia dirección. Si no se obtiene una respuesta, la dirección es única.