Descubrimiento
de nodos vecinos

El
protocolo
equivalente (aunque con grandes mejoras y ventajas) en IPv6, al
protocolo de
resolución de direcciones o ARP en IPv4, es el de
descubrimiento de vecinos o
ND (Neigbour Discovery), descrito en
la RFC 2461. Recordemos que ARP, es un protocolo que utiliza el broadcast para que un nodo pueda obtener
la dirección física de otro a partir de su
dirección IP. Básicamente, lo que
hace el nodo es preguntar a todos los nodos vecinos cuál es
la dirección física
del nodo de dirección IP con el que quiere comunicarse,
respondiéndole sólo el
nodo con dicha dirección IP, con un paquete que contiene su
dirección física.
El protocolo ND
utiliza el multicast y es
independiente del tipo de enlace físico en
cuestión. Se trata de un protocolo
bastante complejo y sofisticado, ya que es la base para permitir el
mecanismo
de autoconfiguración en IPv6. ND emplea los mensajes de
ICMPv6 para algunos de
sus servicios. Ofrece, entre otros, mecanismos para: descubrir routers, prefijos y otros
parámetros,
autoconfiguración de direcciones, resolución de
direcciones, determinación del siguiente
salto, detección de direcciones duplicadas o cambios,
redirección, etc. El
protocolo ND define cinco tipos de paquetes ICMPv6:
- Solicitud de router
(133). Es generado por una interfaz cuando es activada, para pedir a
los routers de su red, que se
anuncien
inmediatamente.
- Anunciación de router
(134). Es generado por los routers
periódicamente (de 4-1.800 segundos) o como respuesta a una
solicitud de router, a
través de multicast,
para informar de su presencia, así como de los
parámetros de enlace y de Internet (prefijos, tiempos de
vida, configuración de
direcciones, tamaño máximo de la unidad de
transmisión o MTU, etc.). Es
fundamental para permitir la remuneración, con lo cual para
las empresas les es
muy sencillo cambiar de proveedor de servicios o utilizar varios de
forma
conjunta.
- Solicitud de vecino (135). Es generado por los
nodos para
determinar la dirección en la capa de enlace de sus vecinos,
para verificar que
el nodo vecino sigue activo (es alcanzable), o para detectar las
direcciones duplicadas.
- Anunciación de vecino (136). Es
generado por los nodos
como respuesta a la solicitud de vecino, o bien para indicar cambios de
direcciones en la capa de enlace.
- Redirección (137). Es
generado por los routers para informar a los servidores
de un salto mejor para llegar a un determinado destino.
Transición
de IPv4 a IPv6

La transición de
IPv4 a IPv6 no tendrá lugar de la noche a la
mañana. Las dos versiones de IP
deberán coexistir durante muchos años.
Básicamente, IPv6 puede ser implementado
como una actualización software en los nodos IPv4 actuales,
comenzando un
período de transición para minimizar los costes
de nuevos equipos y proteger
las fuertes inversiones realizadas. Sin embargo, es difícil
saber cuando las
operadoras en Internet migrarán a la tecnología
IPv6. En la actualidad la gran
mayoría de las operadoras utiliza nodos IPv4, y con esta
situación, donde casi
todo el tráfico debería adaptarse a redes basadas
en IPv4, la motivación para
el cambio es muy baja. Las nuevas características de
autoconfiguración, que
hace que las redes IPv6 más fáciles de configurar
y mantener que las redes
IPv4, pueden ser atractivas para nuevas operadoras que han de realizar
un
despliegue de infraestructura muy rápido. Por otro lado,
para facilitar la
migración es importante que las aplicaciones IPv4 existentes
sean capaces de
operar también con las aplicaciones IPv6; por ejemplo, los
navegadores de
Internet deben ser capaces de comunicarse utilizando IPv6 e IPv4.
El principal
problema es, que mientras los sistemas IPv6 son compatibles hacia
atrás, es
decir, pueden enviar, encaminar y recibir paquetes IPv4, los sistemas
IPv4
actuales no son capaces de manejar paquetes IPv6. Lo ideal
sería declarar unos
días de inactividad, durante los cuales todas las
máquinas de Internet serán
desactivadas, y se migraría de IPv4 a IPv6. No obstante, una
tarea así, con
millones de máquinas y de administradores de redes
implicados, es prácticamente
imposible. Seguidamente se presentan las dos principales opciones (que
pueden trabajar
de forma aislada o conjunta), descritas en la RFC 1993, que hay para
solventar
esta limitación.
La primera opción
es introducir una doble pila completa de protocolos, IPv4 e IPv6, en
los nodos
IPv6. De esta forma, este nodo IPv6/IPv4 puede enviar y recibir
paquetes IPv6 e
IPv4. Cuando trabaje con un nodo IPv4, el nodo IPv6/IPv4 puede utilizar
paquetes IPv4; cuando trabaje con un nodo IPv6,
puede utilizar paquetes IPv6. Los nodos IPv6/IPv4 deben
tener tanto direcciones
IPv6 como IPv4. Deben de ser capaces también de descubrir si
otro nodo es capaz
de utilizar IPv6 o sólo IPv4. Esto se puede conseguir
utilizando el protocolo
de resolución de nombres de dominio o DNS, que puede
devolver una dirección
IPv6 si el nombre del nodo que se está resolviendo es capaz
de utilizar IPv6, o
bien una dirección IPv4 en caso contrario. Por supuesto, si
el nodo que hace la
petición DNS únicamente puede utilizar IPv4, DNS
devolverá sólo una dirección
IPv4.
Según este método,
si cualquiera de los nodos intermedios sólo puede operar con
IPv4, se deben
utilizar paquetes IPv4. Por ello, es posible que la
comunicación entre dos
nodos extremos IPv6, tenga lugar con paquetes IPv4. Lo que se hace es
que ambos
extremos envían paquetes IPv6, pero cuando estos lleguen a
un nodo IPv4, todo
el paquete IPv6 será encapsulado en el campo de datos del
paquete IPv4 y se
llevará a cabo una correspondencia de direcciones, perdiendo
la información
relevante de los campos de la cabecera IPv6.
La segunda opción
es utilizar túneles. Esto permitiría que los
nodos extremos IPv6 se comuniquen
siempre en IPv6, aunque haya nodos intermedios IPv4. Se considera un
túnel a
todos los nodos IPv4 entre dos nodos IPv6.
Utilizando esta
técnica, el nodo IPv6 que hace frontera con el
túnel, toma el paquete IPv6, y
lo pone en el campo de datos de un paquete IPv4. Este paquete IPv4
tiene como
dirección de destino el nodo IPv6 en la parte final del
túnel y es enviado al
primer nodo IPv4 que conforma el túnel. Los nodos IPv4 del
túnel encaminan el
paquete, sin tener constancia de que el paquete IPv4 que
están manejando
contiene un paquete IPv6. Cuando este paquete llega al extremo receptor
IPv6
del túnel, que es precisamente el destino del paquete,
éste determina que el
paquete IPv4 contiene un paquete IPv6, extrae el paquete IPv6 y lo
encamina
exactamente del mismo modo que si hubiera recibido el paquete IPv6 de
un nodo
IPv4 vecino.