Difference between revisions of "Protocolo de Descubrimiento de vecinos"
From Livre IPv6
(→Indicación de redirección) |
(→Indicación de redirección) |
||
Line 331: | Line 331: | ||
</tikz> | </tikz> | ||
− | La técnica de redirección es la misma que en IPv4. Un dispositivo sólo conoce los prefijos de las redes a las que está conectado directamente y la dirección de un enrutador por omisión. Si la ruta se puede optimizar, el enrutador por omisión envía un mensaje para indicar que existe un camino más corto. De hecho, como en IPv6 el enrutador por omisión se establece de forma automática, las rutas no necesariamente son las mejores ( | + | La técnica de redirección es la misma que en IPv4. Un dispositivo sólo conoce los prefijos de las redes a las que está conectado directamente y la dirección de un enrutador por omisión. Si la ruta se puede optimizar, el enrutador por omisión envía un mensaje para indicar que existe un camino más corto. De hecho, como en IPv6 el enrutador por omisión se establece de forma automática, las rutas no necesariamente son las mejores (cf. figura ''Enrutamiento por omisión no óptimo''). |
Otro caso particular en IPv6 ocurre con los dispositivos que se encuentran en el mismo enlace físico, pero tienen diferentes prefijos. La comunicación entre ellos pasa inicialmente a traves de enrutador por omisión hasta que éste notifica que existe una ruta directa entre ellos. | Otro caso particular en IPv6 ocurre con los dispositivos que se encuentran en el mismo enlace físico, pero tienen diferentes prefijos. La comunicación entre ellos pasa inicialmente a traves de enrutador por omisión hasta que éste notifica que existe una ruta directa entre ellos. |
Revision as of 15:50, 28 June 2012
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.
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.
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
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
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
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
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).
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
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.
Anuncio de enrutador
Figure : Formato de los paquetes de anuncio de enrutador
Este mensaje (cf. figura Formato de los paquetes de anuncio de enrutador) es emitido periódicamente por los enrutadores, o bien, en respuesta a un mensaje de solicitud de enrutador generado por un dispositivo. El campo dirección fuente contiene la dirección de enlace local del enrutador, mientras que el campo dirección destino contiene la dirección del dispositivo que generó la solicitud, o la dirección de todas las estaciones (ff02::01).
Cuando el campo de máximo número de saltos tiene un valor distinto de cero, muestra el valor que podría colocarse en el campo de número de saltos de los paquetes emitidos. El bit M indica que una dirección del dispositivo debe ser obtenida mediante un protocolo de configuración (cf. Configuración con estado:DHCPv6). El bit O también indica la presencia de un servicio de configuración para obtener información adicional a la dirección. Si no es posible obtener la dirección mediante un servidor, el dispositivo procede a realizar una configuración sin estado, concatenando su identificador de interfaz a los prefijos que conoce. El bit H indica que el enrutador puede ser utilizado como agente base por un nodo móvil (cf. Anuncio del agente base).
El campo tiempo de vida del enrutador indica el período (en segundos) durante el cual el equipo que emite el anuncio realizará funciones de enrutador por omisión. El valor máximo corresponde a 18 horas 12 minutos, pero como este mensaje se emite periódicamente, en la práctica no existe un límite para el tiempo de vida de un enrutador. Un valor de 0 indica que el dispositivo no cumple con las funciones de enrutador por omisión. Este tiempo de vida no se aplica a las opciones transportadas por este mensaje.
El campo duración de accesibilidad indica el período (en milisegundos) durante el cual una información almacenada en la memoria caché de la máquina (por ejemplo, la tabla de correspondencia entre las direcciones IPv6 y las físicas) puede ser considerada como válida. Al vencimiento de este tiempo, se emite un mensaje de detección de inaccesibilidad para verificar la pertinencia de la información almacenada.
El campo temporización de retransmisión muestra el período (en milisegundos) entre dos emisiones no solicitadas de este mensaje. Permite que los demás equipos puedan detectar la inaccesibilidad de un enrutador.
Este mensaje puede transportar las siguientes opciones:
- dirección física de la fuente,
- MTU,
- información sobre el prefijo (uno o varios).
Solicitud de un vecino
Figure : Formato de los paquetes de solicitud de un vecino
Este mensaje (cf. figura Formato de los paquetes de solicitud de un vecino) permite obtener información a partir de un equipo vecino, es decir, localizado en el mismo enlace físico (o conectado a través de puentes). El mensaje puede ser emitido explícitamente a él, o enviado con una dirección de difusión. En el caso de determinación de la dirección física, éste corresponde a la solicitud de ARP en IPv4.
El campo dirección fuente del paquete IPv6 contiene ya sea la dirección local al enlace, una dirección global o la dirección no especificada. El campo destino puede contener la dirección de difusión múltiple solicitada correspondiente a la dirección buscada (cf. Identificador de grupo) o la dirección del dispositivo (en el caso de una detección de inaccesibilidad de vecinos, NUD).
El campo dirección del destino contiene la dirección IPv6 del equipo buscado. El campo opción generalmente contiene la dirección física de la fuente.
Anuncio de vecino
Figure : Formato de los paquetes de anuncio de vecino
Este mensaje (cf. figura Formato de los paquetes de anuncio de vecino) se emite en respuesta a una solicitud, aunque también puede ser emitido de forma espontánea para propagar la información de cambio de dirección física, o del estado de "enrutador". Para el caso de la determinación de la dirección física, es equivalente a la respuesta ARP en IPv4.
- El bit R se pone a 1 si el remitente es un enrutador. Este bit se utiliza para permitir la detección de un enrutador que se convierte en un equipo ordinario.
- El bit S en 1 indica que este anuncio se emite en respuesta a una solicitud.
- El bit O en 1 indica que este anuncio debe borrar las informaciones anteriores que se encuentran almacenadas en la memoria cachés de otros equipos, en especial la tabla que contiene las direcciones físicas.
- El campo dirección del destino contiene, si el bit S es 1, el valor del campo dirección del destino de la solicitud a la que está respondiendo este mensaje. Si el bit S es 0, este campo contiene la dirección IPv6 local al enlace del equipo emisor.
- La opción dirección física del destino contiene la dirección física del emisor.
Indicación de redirección
Figure : Formato de los paquetes de indicación de redirección
La técnica de redirección es la misma que en IPv4. Un dispositivo sólo conoce los prefijos de las redes a las que está conectado directamente y la dirección de un enrutador por omisión. Si la ruta se puede optimizar, el enrutador por omisión envía un mensaje para indicar que existe un camino más corto. De hecho, como en IPv6 el enrutador por omisión se establece de forma automática, las rutas no necesariamente son las mejores (cf. figura Enrutamiento por omisión no óptimo).
Otro caso particular en IPv6 ocurre con los dispositivos que se encuentran en el mismo enlace físico, pero tienen diferentes prefijos. La comunicación entre ellos pasa inicialmente a traves de enrutador por omisión hasta que éste notifica que existe una ruta directa entre ellos.
La figura Formato de los paquetes de indicación de redirección muestra el formato del mensaje:
- El campo dirección objetivo (Target address) contiene la dirección IPv6 del equipo hacia el que los paquetes deben ser enviados.
- El campo dirección destino contiene la dirección IPv6 del dispositivo que está siendo redirigido hacia la dirección objetivo.
Cuando la redirección apunta a un dispositivo situado en el mismo enlace, la dirección objetivo y de destino son las mismas.
Las opciones incluyen la dirección física de un nuevo enrutador y la cabecera del paquete redirigido.
Este mensaje se puede utilizar de la misma forma que en IPv4. Un dispositivo solamente tiene una ruta por omisión para acceder a equipos con un prefijo diferente. En consecuencia, envía su paquete al enrutador por omisión, quien observa que el prefijo destino es accesible a través de la misma subred que el emisor. El enrutador por omisión reenvía el paquete y notifica al emisor que puede contactar directamente a las máquinas que poseen el prefijo del destino.
IPv6 también utiliza este mensaje para optimizar la resolución fuera del enlace para el caso de redes NBMA.
Incio del capítulo | Tabla de contenido | DHCPv6 |