Protocolo de Descubrimiento de vecinos

From Livre IPv6

Revision as of 17:25, 20 June 2012 by Jincera (Talk | contribs) (Mensajes estándar de Descubrimiento de vecinos)

Incio del capítulo Tabla de contenido DHCPv6

El protocolo de descubrimiento de vecinos (NDP, Neighbor Discovery Protocol) permite a un dispositivo integrarse en el ambiente local, es decir, el enlace sobre el cual se transmiten físicamente los paquetes IPv6. Permite establecer un diálogo con los equipos (estaciones y enrutadores) conectados sobre el mismo medio. No se pretende que un dispositivo conozca con exactitud la lista de todos los demás dispositivos conectados al enlace, sino de proveer un mecanismo para dialogar con quien necesite hacerlo.

El protocolo utiliza cinco tipos de mensajes ICMPv6 (ver Valores de los campos de tipo y código de ICMPv6). El campo número de saltos de la cabecera IPv6 contiene el valor 255. Este valor parece demasiado grande para datagramas que no debieran ser enrutados fuera del enlace físico. En realidad, si un equipo recibe un datagrama con un valor menor, significa que la información proviene de otra red y que ya ha atravesado al menos un enrutador. Por ello, los datagramas que tienen un valor diferente de 255 deben ser ignorados por el receptor.

Valores de los campos tipo y código de ICMPv6
Tipo Código Significado
Gestión de los errores
1 Destino inaccesible :
0 * ninguna ruta hacia el destino
1 * la comunicación con el destino está prohibida administrativamente
2 * fuera del alcance de la dirección fuente
3 * la dirección es inaccessible
4 * el número de puerto es inaccessible
5 * la dirección fuente está filtrada por un firewall
6 * la dirección destino es rechazada
2
3 Temporizador agotado :
0 * se alcanzó el límite en el número de saltos
1 * temporizador para reensamblado agotado
4 Error de parámetro :
0 * campo de cabecera erróneo
1 * campo de cabecera siguiente no reconocido
2 * opción no reconocida
Información
128 Solicitud de eco
129 Respuesta de eco
Gestión de grupos multicast (MLD, RFC 2710)
130 Soicitud de registro
131 Reporte de registro
132 Fin de registro
Descubrimiento de vecinos (RFC 2461)
133 Solicitud de enrutador
134 Anuncio de enrutador
135 Solicitud de un vecino
136 Anuncio de un vecino
137 Redirección
Renumeración de los enrutadores (experimental, RFC 2894)
138
Renumeración de los enrutadores :
0 * Comando
1 * Resultado
255 * Reinicio del número de secuencia
Solicitud de información sobre un nodo (experimental)
139 Solicitud de información
140 Respuesta
Descubrimiento de vecinos inverso (RFC 3122)
141 Solicitud
142 Anuncio
Gestión de grupos multicast (MLDv2, RFC 3810)
143 Reporte registro MLDv2
Movilidad (RFC 3775)
144 Descubrimiento del agente base (solicitud)
145 Descubrimiento del agente base (respuesta)
146 Solicitud del prefijo móvil
147 Anuncio del prefijo móvil
Descubrimiento de vecinos asegurado (SEND, RFC 3971)
148 Solicitudo de trayectoria de certificación
149 Anuncio de trayectoria de certificación
Movilidad (experimental)
150 Protocolos experimentales de movilidad, como Seamoby

El protocolo realiza varias funciones:

  • Resolución de direcciones. El principio es muy similar al del protocolo ARP de IPv4. La principal diferencia consiste en el uso de mensajes ICMPv6 estándar en lugar de definir otro protocolo de capa 3. Con esto se consigue una mayor flexibilidad de uso, especialmente en las redes que no soportan la difusión de mensajes. Al igual que en IPv4, el protocolo se encarga de construir tablas de correspondencia entre las direcciones IPv6 y las físicas.
  • Detección de inaccesibilidad de vecinos (NUD, Neighbor Unreachability Detection). Esta función, que no existe en IPv4, permite eliminar de las tablas de configuración de un equipo, los vecinos que se han vuelto inaccesibles (por fallas, cambio de domicilio, ...). Si un enrutador deja de estar disponible, la tabla de enrutamiento puede ser modificada para considerar otra ruta.
  • Configuración. La configuración automática de los dispositivos es uno de los principales atractivos de IPv6. Se implementan varias funcionalidades del protocolo de descubrimiento de vecinos:
    • Descubrimiento de enrutadores. Este protocolo permite que los dispositivos identifiquen a los enrutadores que se encuentran en su enlace físico. En IPv4, esta función la proporciona el protocolo ICMP Router Discovery.
    • Descubrimiento de prefijos. El dispositivo conoce el o los prefijos de red de acuerdo a los anuncios realizados por los enrutadores. Agregando su identificador de interfaz, el dispositivo construye su o sus direcciones IPv6. No hay un mecanismo equivalente para las direcciones IPv4 ya que son demasiado cortas para realizar la auto-configuración.
    • Detección de direcciones duplicadas. Dado que las direcciones se configuran de forma automática, existen riesgos de error en caso de tener equipos con identificadores repetidos. Este protocolo verifica que ningún otro equipo en el enlace tiene la misma dirección IPv6. Esta función es una evolución del ARP gratuito en IPv4 emitido durante la inicialización de la interfaz.
    • Descubrimiento de parámetros. Este protocolo permite que los dispositivos conozcan los distintos parámetros del enlace físico, por ejemplo, el tamaño de MTU, el número máximo de saltos permitido (valor original del campo número de saltos), si la configuración automática con estado (como DHCPv6) está activa, etc. No existe un equivalente de esta funcionalidad en IPv4.
  • Indicación de redirección. Este mensaje se utiliza cuando un enrutador conoce una trayectoria mejor (medida en número de saltos) para alcanzar un destino.
En IPv4 una indicación de redireccionamiento sólo puede servir para corregir la dirección del enrutador utilizado para acceder a una máquina fuera de la red local. Los dispositivos deben conocer todas las direcciones correspondientes a equipos conectados en su propia red local.
EnIPv6, la correspondencia entre prefijo y red local es menos rígida. Es de esperar que un dispositivo no conozca todos los prefijos de su red local (si ésta es compartida por varios prefijos), o que un prefijo se comparta entre varios enlaces (lo que corresponde a una generalización del modelo de redes lógicas IP sobre ATM). Bajo algunas configuraciones, la máquina emitirá sus paquetes al enrutador aún si el destinatario se encuentra en el mismo segmento que el emisor. En este caso, el enrutador emitirá un mensaje de redirección para que la continuación del diálogo entre ellos haga de manera directa (véanse los ejemplos Indicación redirección).
En el caso más extremo, podría imaginarse en IPv6 que un dispositivo puede ser configurado para comunicarse únicamente con su enrutador por omisión. ICMPv6 redirect puede utilizarse entonces, para informar al dispositivo de destinatarios ubicados en el mismo enlace.

En IPv6 se especifican dos métodos de autoconfiguración para las direcciones unicast global:

  • Autoconfiguración sin estado (stateless autoconfiguration, RFC 2462). Se utiliza cuando no es necesaria una gestión administrativa de las direcciones asignadas dentro de un sitio. Estos mecanismos se describen más adelante en este capítulo.
  • Autoconfiguración con estado (statefull autoconfiguration). Se utiliza cuando un sitio requiere de un control estricto de la asignación de direcciones (cf. DHCPv6).

Sin embargo, el uso de DHCPv6 para obtener la dirección se controla mediante el protocolo de descubrimiento de vecinos.

Datos transmitidos por los mensajes

La principal motivación detrás del Protocolo de Descubrimiento de vecinos es unificar varios protocolos existentes en IPv4. En particular, la mayor parte de los datos utiliza un formato de opciones común, lo que simplifica la implementación del protocolo. El formato contiene los campos: tipo, longitud (en palabras de 64 bits), y datos. La baja precisión de campo longitud, presentará un desperdicio de espacio, pero permite una alineación de las opciones en palabras de 64 bits, lo que permite un procesamiento optimizado.

Valores de opciones de descubrimiento de vecinos
Tipo Descripción Mensaje
Opciones básicas de descubrimiento de vecinos [RFC 4861]
1 Source Link-layer Address (SLLAO) RS/RA/NS
2 Target Link-layer Address NA/Redirect
3 Prefix Information (PIO) RA
4 Redirected Header Redirect
5 MTU RA
NBMA (no usado) [RFC 2491]
6 NBMA Shortcut Limit Option NS
Mobile IP [RFC 3775]
7 Advertisement Interval Option RA
8 Home Agent Information Option RA
X Authoritative Border Router (ABRO) 6LoWPAN
X 6LoWPAN Context (6CO) 6LoWPAN
X Address Registration (ARO) 6LoWPAN
Inverse Neighbor Discovery [RFC 3122]
9 Source Address List
10 Target Address List
SEND [RFC 3971]
11 CGA option
12 RSA Signature option
13 Timestamp option
14 Nonce option
15 Trust Anchor option
16 Certificate option
Mobility options
17 IP Address/Prefix Option [RFC 5568]
18 New Router Prefix Information Option [RFC 4068]
19 Link-layer Address Option [RFC 5568]
20 Neighbor Advertisement Acknowledgment Option [RFC 5568]
23 MAP Option [RFC 4140]
SLAAC optimization
24 Route Information Option [RFC 4191]
25 Recursive DNS Server Option [RFC 5006] RA
26 RA Flags Extension Option [RFC 5175]
Fast Mobility options
27 Handover Key Request Option [RFC 5269]
28 Handover Key Reply Option [RFC 5269]
29 Handover Assist Information Option [RFC 5271]
30 Mobile Node Identifier Option [RFC 5271]
138 CARD Request option [RFC 4065]
139 CARD Reply option [RFC 4065]

Dirección física de la fuente /destino

Formato de la opción dirección física fuente/destino
Figure : Formato de la opción dirección física fuente/destino

La figura Formato de la opción dirección física fuente/destino presenta estas opciones. El tipo 1 designa la dirección física de la fuente y el tipo 2 la dirección del destino.

El campo length es el tamaño en palabras de 64 bits de la opción. Por lo tanto, para el caso de una dirección MAC con longitud de 6 octetos, contiene el valor 1.

El RFC 2464 define el formato para las direcciones MAC-48 utilizadas en las redes Ethernet y Wi-Fi. El RFC 4944 define el formato para las direcciones MAC-16 y MAC-64 utilizadas en las redes de sensores bajo la norma IEEE 802.15.4.

Información sobre el prefijo

Formato de la opción información sobre el prefijo
Figure : Formato de la opción información sobre el prefijo


Esta opción contiene las informaciones sobre el prefijo para permitir una configuración automática de los dispositivos. El campo tipo tiene el valor 3 y el de longitud, 4. La figura Formato de la opción información sobre el prefijo muestra el formato de esta opción:

  • El campo Prefix lenght indica cuántos bits son significativos para el prefijo anunciado en un campo siguiente.
  • El bit L indica, cuando vale 1, que el prefijo permite indicar que todos los demás dispositivos que comparten el mismo prefijo, están en el mismo enlace, por lo que el emisor puede contactarlos directamente. En caso contrario, el dispositivo envía el paquete hacia el enrutador. Si éste último sabe que el emisor puede contactar directamente al destinatario, emitirá un mensaje ICMPv6 de indicación de redirección.
  • El bit A indica, cuando vale 1, que el prefijo anunciado puede utilizarse para formar la dirección del dispositivo.
  • El bit R, indica, cuando vale 1, que el campo prefijo contiene la dirección global de un enrutador agente base. Los bits de mayor peso aún pueden utilizarse para formar un prefijo.
  • El campo duración de validez indica, en segundos, la duración durante la cual el prefijo es válido.
  • El campo duración preferente indica la duración, en segundos, durante la cual una dirección formada con el protocolo de configuración sin estado se mantiene preferente (cf. Tiempo de vida de las direcciones).

Para estos dos campos, un valor de 0xffffffff representa una duración infinita. Estos campos pueden servir durante la fase de transición de un proveedor de acceso a otro; es decir, de un prefijo a otro.

  • El campo reservado permite alinear el prefijo a una frontera de palabra de 64 bits.
  • El campo prefijo contiene el valor de prefijo anunciado sobre el enlace. Para mantener una alineación de 64 bits para el resto de datos del paquete, este campo tiene una longitud fija de 128 bits.

Cabecera de redirección

Formato de la opción cabecera de redirección
Figure : Formato de la opción cabecera de redirección

Esta opción es utilizada por el mensaje de indicación de redirección. Permite encapsular los primeros octetos del paquete IPv6 que provocó la emisión de este mensaje, como ocurre con los mensajes de error de ICMPv6.

El campo tipo tiene el valor 4. El tamaño de esta opción debe evitar que el paquete IPv6 rebase los 1280 octetos (cf. figura Formato de la opción cabecera de redirección). Sin embargo, el paquete debe contener la mayor cantidad de información posible.

MTU

Formato de la opción MTU'
Figure : Formato de la opción MTU'

Esta opción permite notificar a los dispositivos el tamaño máximo de datos que pueden ser transmitidos sobre el enlace. La figura Formato de la opción MTU muestra su estructura. No es necesario difundir esta información si el dispositivo utiliza siempre el tamaño máximo permitido. Por ejemplo, sobre las redes Ethernet, los dispositivos utilizarán el valor 1,500. En cambio, en las redes Token Ring o FDDI, con frecuencia es necesario especificar si los equipos pueden utilizar la longitud máxima o un tamaño inferior para permitir el uso de puentes en la red.

En esta opción, el campo tipo tiene un valor de 5 y el de longitud, de 1.

Mensajes estándar de Descubrimiento de vecinos

Además de las cinco opciones básicas descritas en la tabla Utilización de las opciones en los mensajes de descubrimiento de vecinos, existen otras específicas para la movilidad y para las redes NBMA (Non Broadcast Multiple Access).

Utilización de las opciones en los mensajes de descubrimiento de vecinos
Solicitud de Anuncio de Solicitud de Anuncio de Indicación de
enrutador enrutador un vecino un vecino redirección
Dirección física de la fuente presente presente presente
Dirección física del destino presente presente
Información sobre el prefijo ≥ 1
Cabecera de redirección presente
MTU posible

Las distintas funcionalidades de descubrimiento de vecinos utilizan cinco mensajes: dos para el diálogo entre un dispositivo y un enrutador, dos para el diálogo entre vecinos, y uno para la redirección. Cada uno de estos mensajes puede incluir opciones adicionales.

Solicitud de enrutador

Formato de los paquetes de solicitud de enrutador
Figure : Formato de los paquetes de solicitud de enrutador

El mensaje de solicitud de enrutador (cf. figura Formato de los paquetes de solicitud de enrutador) es emitido al iniciar un dispositivo para recibir más rápidamente la información del enrutador. Este mensaje se envía a la dirección IPv6 multicast reservada a los enrutadores en el mismo enlace FF02::2. Si el dispositivo aún no conoce su dirección fuente, se utiliza la dirección no especificada.

El campo opción normalmente contiene la dirección física del dispositivo.


Incio del capítulo Tabla de contenido DHCPv6
Personal tools