SLAAC y DHCPv6 Introducción y Funcionamiento
SLAAC y DHCPv6 Introducción y Funcionamiento

SLAAC y DHCPv6: Introducción y Funcionamiento

SLAAC VS DHCPV6
  • Funcionamiento de SLAAC - 10/10
    10/10
  • SLAAC vs DHCPv6 - 10/10
    10/10
  • Operaciones de DHCPv6 - 10/10
    10/10
10/10

Resumen

Se analiza la funcionalidad tanto de SLAAC como de DHCPv6, y las opciones de configuración para obtener información de una dirección IPv6 de forma automática.

En esta sección, se explora la funcionalidad de SLAAC y DHCPv6. También las opciones de obtener una dirección IPv6 de forma automática.

¡Bienvenido a CCNA desde Cero!: Este tema forma parte del Capítulo 8 del curso de Cisco CCNA 2, para un mejor seguimiento del curso puede ir a la sección CCNA 2 para guiarse del índice.

De manera similar a lo que ocurre con IPv4, las direcciones IPv6 de unidifusión global pueden configurarse manualmente o de forma dinámica. Sin embargo, existen dos métodos en los que las direcciones IPv6 de unidifusión global pueden asignarse dinámicamente:

  • Configuración automática de dirección sin estado (SLAAC), como se muestra en la Imagen 1.
  • Protocolo de configuración dinámica de host para IPv6 (DHCPv6 con estado)
Configuración automática de dirección sin estado ICMPv6
Imagen 1: Configuración automática de dirección sin estado ICMPv6

1. Introducción a SLAAC

SLAAC (Configuración automática de dirección independiente del estado) es un método en el cual un dispositivo puede obtener una dirección IPv6 de unidifusión global sin los servicios de un servidor de DHCPv6. ICMPv6 se encuentra en el centro de SLAAC. ICMPv6 es similar a ICMPv4, pero incluye funcionalidad adicional y es un protocolo mucho más sólido. SLAAC utiliza mensajes de solicitud y de anuncio de router ICMPv6 para proporcionar direccionamiento y otra información de configuración que normalmente proporcionaría un servidor de DHCP:

  • Mensaje de solicitud de router (RS):cuando un cliente está configurado para obtener la información de direccionamiento de forma automática mediante SLAAC, el cliente envía un mensaje RS al router. El mensaje RS se envía a la dirección IPv6 de multidifusión de todos los routers, FF02::2.
  • Mensaje de anuncio de router (RA): los routers envían mensajes RA para proporcionar información de direccionamiento a los clientes configurados para obtener sus direcciones IPv6 de forma automática. El mensaje RA incluye el prefijo y la longitud de prefijo del segmento local. Un cliente utiliza esta información para crear su propia dirección IPv6 de unidifusión global. Los routers envían mensajes RA de forma periódica o en respuesta a un mensaje RS. De manera predeterminada, los routers Cisco envían mensajes de RA cada 200 segundos. Los mensajes RA siempre se envían a la dirección IPv6 de multidifusión de todos los nodos, FF02::1.

Como lo indica el nombre, SLAAC quiere decir “sin estado”. Un servicio sin estado significa que no hay ningún servidor que mantenga la información de la dirección de red. A diferencia de DHCP, no hay servidor de SLAAC que tenga información acerca de cuáles son las direcciones IPv6 que están en uso y cuáles son las que se encuentran disponibles.

2. Funcionamiento de SLAAC

Un router debe tener el routing IPv6 habilitado antes de poder enviar mensajes RA:

Router(config)# ipv6 unicast-routing

2.1. El cliente envía un mensaje RS

En la topología de ejemplo (Imagen 2), la PC1 está configurada para obtener la información de dirección IPv6 de manera automática. Desde el arranque, la PC1 no recibió un mensaje RA, de modo que envía un mensaje RS a la dirección de multidifusión de todos los routers para informarle al router IPv6 local que necesita un RA.

El cliente envía un mensaje RS
Imagen 2: El cliente envía un mensaje RS

2.2. El router envía un mensaje RA

Como se muestra en la Imagen 3, el R1 recibe el mensaje RS y responde con un mensaje RA (se incluyen el prefijo y la longitud de prefijo de la red). El mensaje RA se envía a la dirección IPv6 de multidifusión de todos los nodos, FF02::1, con la dirección link-local del router como la dirección IPv6 de origen.

El router envía un mensaje RA
Imagen 3: El router envía un mensaje RA

2.3. El cliente crea una dirección de unidifusión global

La PC1 recibe el mensaje RA que contiene el prefijo y la longitud de prefijo para la red local y utiliza esta información para crear su propia dirección IPv6 de unidifusión global. La PC1 ahora tiene un prefijo de red de 64 bits, pero necesita una ID de interfaz (IID) de 64 bits para crear una dirección de unidifusión global.

El cliente crea una dirección de unidifusión global
Imagen 4: El cliente crea una dirección de unidifusión global

Hay dos maneras en las que la PC1 puede crear su propia IID única:

  • Mediante el proceso EUI-64: la PC1 crea una IID utilizando su dirección MAC de 48 bits.
  • De generación aleatoria: la IID de 64 bits puede ser un número aleatorio generado por el sistema operativo cliente.

Como se muestra en la Imagen 4, la PC1 puede crear una dirección IPv6 de unidifusión global de 128 bits combinando el prefijo de 64 bits con la IID de 64 bits. La PC1 utiliza la dirección link-local del router como su dirección IPv6 de gateway predeterminado.

2.4. El cliente realiza la detección de direcciones duplicadas

Dado que SLAAC es un proceso sin estado, PC1 debe verificar que esta dirección IPv6 creada recientemente sea exclusiva antes de poder utilizarla. Como se muestra en la Imagen 5, la PC1 envía un mensaje de solicitud de vecino ICMPv6 con una dirección multicast especialmente creada, denominada dirección multicast de nodo solicitado, que duplica los últimos 24 bits de la dirección IPv6 de la PC1. Si ningún otro dispositivo responde con un mensaje de anuncio de vecino, prácticamente se garantiza que la dirección es única y puede ser utilizada por la PC1. Si la PC1 recibe un anuncio de vecino, la dirección no es única, y el sistema operativo debe determinar una nueva ID de interfaz para utilizar.

El cliente realiza la detección de direcciones duplicadas
Imagen 5: El cliente realiza la detección de direcciones duplicadas

Este proceso forma parte de la detección de vecinos ICMPv6 y se conoce como “detección de direcciones duplicadas (DAD)”.

3. SLAAC vs DHCPv6

La decisión de si un cliente se configura para obtener su información de dirección IPv6 de forma automática mediante SLAAC, mediante DHCPv6 o mediante una combinación de ambos depende de la configuración dentro del mensaje RA.

Los dos indicadores son el indicador de configuración de dirección administrada (indicador M) y el indicador de otra configuración (indicador O).

Mediante distintas combinaciones de los indicadores M y O, los mensajes RA tienen una de tres opciones de direccionamiento para el dispositivo IPv6, como se muestra en la ilustración:

SLAAC vs DHCPv6
Imagen 6: SLAAC y DHCPv6
  • SLAAC (anuncio de router solamente)
  • DHCPv6 sin estado (anuncio de router y DHCPv6)
  • DHCPv6 con estado (DHCPv6 solamente)

Independientemente de la opción que se utilice, en RFC 4861 se recomienda que todos los dispositivos IPv6 realicen la detección de direcciones duplicadas (DAD) en cualquier dirección de unidifusión, entre las que se incluyen las direcciones configuradas mediante SLAAC o DHCPv6. DAD se implementa mediante ICMPv6, especificado por RFC 4443.


Nota: aunque el mensaje RA especifique el proceso que debe utilizar el cliente para obtener una dirección IPv6 de forma dinámica, el sistema operativo cliente puede elegir omitir el mensaje RA y utilizar los servicios de un servidor de DHCPv6 exclusivamente.

3.1. La Opción de SLAAC (anuncio de router solamente)

SLAAC es la opción predeterminada en los routers Cisco. Tanto el indicador M como el indicador O están establecidos en 0 en el RA, como se muestra en la ilustración.

Opción de SLAAC
Imagen 7: Opción de SLAAC

Esta opción le indica al cliente que utilice la información que se incluye en el mensaje RA de manera exclusiva. Esto incluye información del prefijo, de la longitud de prefijo, del servidor DNS, de la MTU y del gateway predeterminado. No se encuentra disponible ninguna otra información de un servidor de DHCPv6. La dirección IPv6 de unidifusión global se crea combinando el prefijo del mensaje RA y la ID de interfaz mediante EUI-64 o mediante un valor generado aleatoriamente.

Los mensajes RA se configuran en una interfaz individual de un router. Para volver a habilitar una interfaz para SLAAC que pudo haberse establecido en otra opción, se deben restablecer los indicadores M y O a sus valores iniciales de 0. Esto se realiza mediante los siguientes comandos del modo de configuración de interfaz:

Router(config-if)# No ipv6 nd managed-config-flag
Router(config-if)# no ipv6 nd other-config-flag

3.2. La Opción de DHCPv6 sin estado (anuncio de router y DHCPv6)

Si bien DHCPv6 es similar a DHCPv4 en cuanto a lo que proporciona, los dos protocolos son independientes respecto sí. DHCPv6 se define en RFC 3315. Se trabajó mucho en esta especificación a través de los años, como lo indica el hecho de que RFC DHCPv6 tiene el número de revisión más alto que cualquier borrador de Internet.

La opción de DHCPv6 sin estado informa al cliente que utilice la información del mensaje RA para el direccionamiento, pero que hay más parámetros de configuración disponibles de un servidor de DHCPv6.

La Opción de DHCPv6 sin estado
Imagen 8: La Opción de DHCPv6 sin estado

Mediante el prefijo y la longitud de prefijo en el mensaje RA, junto con EUI-64 o una IID generada aleatoriamente, el cliente crea la dirección IPv6 de unidifusión global.

A continuación, el cliente se comunica con un servidor de DHCPv6 sin estado para obtener información adicional que no se proporciona en el mensaje RA. Puede tratarse de una lista de direcciones IPv6 del servidor DNS, por ejemplo. Este proceso se conoce como DHCPv6 sin estado, debido a que el servidor no mantiene información de estado del cliente (es decir, una lista de direcciones IPv6 asignadas y disponibles), sino que solo proporciona parámetros de configuración para los clientes, no direcciones IPv6.

Para DHCPv6 sin estado, el indicador O se configura en 1 y el indicador M se deja en la configuración predeterminada de 0. El valor 1 del indicador O se utiliza para informarle al cliente que hay información de configuración adicional disponible de un servidor de DHCPv6 sin estado.

Para modificar el mensaje RA enviado en la interfaz de un router e indicar DHCPv6 sin estado, utilice el siguiente comando:

Router(config-if)# ipv6 nd other-config-flag

3.3. Opción de DHCPv6 con estado (DHCPv6 solamente)

Esta opción es la más similar a DHCPv4. En este caso, el mensaje RA le informa al cliente que no utilice la información contenida en el mensaje RA. Toda la información de direccionamiento y de configuración debe obtenerse de un servidor de DHCPv6 con estado. Esto se conoce como DHCPv6 con estado, debido a que el servidor de DHCPv6 mantiene información de estado de IPv6. Esto es similar a la asignación de direcciones para IPv4 por parte de un servidor de DHCPv4.

Opción de DHCPv6 con estado
Imagen 9: Opción de DHCPv6 con estado

El indicador M señala si se debe utilizar DHCPv6 con estado o no. El indicador O no interviene. El siguiente comando se utiliza para cambiar el indicador M de 0 a 1 para indicar DHCPv6 con estado:

Router(config-if)# ipv6 nd managed-config-flag

4. Operaciones de DHCPv6

Como se muestra en la Imagen 10, DHCPv6 sin estado o con estado, o ambos, comienzan con un mensaje RA ICMPv6 del router. El mensaje RA puede ser un mensaje periódico o un mensaje solicitado por el dispositivo mediante un mensaje RS.

Operaciones de DHCPv6
Imagen 10: Operaciones de DHCPv6

Si en el mensaje RA se indica DHCPv6 con estado o sin estado, el dispositivo inicia las comunicaciones cliente/servidor DHCPv6.

4.1. Comunicaciones DHCPv6

Cuando el mensaje RA indica DHCPv6 sin estado o DHCPv6 con estado, se invoca el funcionamiento de DHCPv6. Los mensajes DHCPv6 se envían a través de UDP. Los mensajes DHCPv6 del servidor al cliente utilizan el puerto de destino UDP 546. El cliente envía mensajes DHCPv6 al servidor mediante el puerto de destino UDP 547.

El cliente, ahora un cliente DHCPv6, necesita ubicar el servidor de DHCPv6. En la Imagen 11, el cliente envía un mensaje DHCPv6 SOLICIT a la dirección IPv6 de multidifusión de todos los servidores de DHCPv6 reservada, FF02::1:2. Esta dirección de multidifusión tiene alcance link-local, lo cual significa que los routers no reenvían los mensajes a otras redes.

Comunicaciones DHCPv6
Imagen 11: Comunicaciones DHCPv6

Uno o más servidores de DHCPv6 responden con un mensaje de unidifusión DHCPv6 ADVERTISE, como se muestra en la Imagen 12. El mensaje ADVERTISE le informa al cliente DHCPv6 que el servidor se encuentra disponible para el servicio DHCPv6.

mensaje de unidifusión DHCPv6 ADVERTISE
Imagen 12: mensaje de unidifusión DHCPv6 ADVERTISE

En la Imagen 13 el cliente responde con un mensaje de unidifusión INFORMATION-REQUEST o DHCPv6 REQUEST al servidor, según si utiliza DHCPv6 con estado o DHCPv6 sin estado.

Mensaje INFORMATION-REQUEST
Imagen 13: Mensaje INFORMATION-REQUEST
  • Cliente DHCPv6 sin estado: el cliente envía un mensaje DHCPv6 INFORMATION-REQUEST al servidor de DHCPv6 en el que solicita solamente parámetros de configuración, como la dirección del servidor DNS. El cliente creó su propia dirección IPv6 mediante el uso del prefijo del mensaje RA y una ID de interfaz autogenerada aleatoriamente.
  • Cliente DHCPv6 con estado: el cliente envía un mensaje DHCPv6 REQUEST al servidor para obtener una dirección IPv6 y todos los demás parámetros de configuración del servidor.

Finalmente, servidor envía un mensaje de unidifusión DHCPv6 REPLY al cliente que contiene la información solicitada en el mensaje REQUEST o INFORMATION-REQUEST, como se muestra en la Imagen 14.

Mensaje DHCPv6 REPLY
Imagen 14: Mensaje DHCPv6 REPLY