fbpx
Wikipedia

Neighbor Discovery

Neighbor Discovery (ND) es un protocolo de IPv6, y es equivalente al protocolo Address Resolution Protocol (ARP) en IPv4, aunque se distingue porque también incorpora funcionalidades de ICMP.

Utiliza mensajes especiales de ICMPv6 construyendo así una manera simple para que los terminales aprendan las direcciones IPv6 de los vecinos de la capa de enlace. Consiste en un mecanismo con el cual un nodo que se acaba de conectar a la red, descubre la presencia de otros nodos en el mismo enlace, además de ver sus direcciones IP. Otra de las grandes funcionalidades de este protocolo es que se ocupa de mantener limpios los cachés dónde se almacena la información relativa al contexto de la red a la que está conectado un nodo. Así, cuando una ruta hacia cierto nodo falla, el enrutador correspondiente buscará rutas alternativas. Basándose también en los mensajes ICMPv6 se permite un mecanismo de auto-configuración.

Tipos de enlaces

Existen diferentes tipos de capas de enlaces con diferentes propiedades:

  • Con capacidad de multidifusión: es un enlace que soporta enviar paquetes a un subconjuto o a todos los vecinos.
  • Punto a punto: es un enlace que conecta dos interfaces. Estos enlaces tienen capacidad de multidifusión y tienen dirección del tipo enlace-local (unicast).
  • Multi-acceso de no difusión (NBMA): es un enlace que soporta más de dos interfaces conectados, pero no tiene capacidad de multidifusión, por lo tanto deberá proveer un mecanismo que le de esta capacidad.
  • Medio compartido: es un enlace que permite la comunicación directa entre varios nodos, pero los nodos conectados se configuran de tal manera que no disponen de información de prefijo completa para todos los destinos de enlace. Es decir, en la capa de red, los nodos en el mismo enlace pueden no saber que son vecinos, por lo tanto, se comunicarán a través de un enrutador.
  • MTU variable: es un enlace que tiene una MTU definida. Por defecto se comunicará a través de un enrutador.
  • Accesibilidad asimétrica: es un enlace dónde se da accesibilidad reflexiva y/o transitiva.
    • Reflexiva: Un nodo A alcanza a un nodo B, pero no viceversa.
    • Transitiva: Un nodo A alcanza a un nodo B, un nodo B alcanza a un nodo C, pero el nodo A no alcanza al nodo C directamente.
    •  
      Accesibilidad reflexiva y accesibilidad transitiva, siendo A, B y C nodos de una red.

Tipos de direcciones

En Neighbor Discovery se hace uso de diferentes direcciones de IPv6 todas ellas definidas en RFC4291.

  • Multidifusión a todos los nodos: es una dirección del tipo enlace-local para alcanzar a todos los nodos, y es FF02::1.
  • Multidifusión a todos los routers: es una dirección del tipo enlace-local para alcanzar a todos los enrutadores, y es FF02::2.
  • Link-Local: Es una dirección unicast que sirve para alcanzar a los vecinos, siendo de la forma FE80::/10. Cada interfaz de un enrutador debe tener direcciones de este tipo.
  • Sin especificar: Es la dirección 0::0 y se suele utilizar no como destino, sino como origen cuando un nodo aún no sabe su propia dirección.

Mensajes ICMPv6

Un host no puede empezar a utilizar una red hasta que no conoce la identidad de al menos un enrutador local. Estos mensajes proporcionarán un medio por el que un host puede localizar a un enrutador y aprender importantes parámetros relacionados con el funcionamiento de la red local.

Solicitud de router (Router Solicitation): se genera un mensaje de este tipo cada vez que una interfaz de un nodo es activado, para así pedir a los enrutadores que se anuncien (Router Advertisement).

Nombre del campo Tamaño (bytes) Descripción
 
Formato del mensaje Router Solicitation.
Type 1 Identifica el tipo de mensaje ICMPv6, para Router Solicitation su valor es 133.
Code 1 No es utilizado, suele estar a cero.
Checksum 2 Es calculado de manera similar a la versión IPv4, sirve para proveer detección de errores en la trama.
Reserved 4 Estos 4 bytes están reservados para usos futuros, están iniciados a cero.
Options variable En caso de que el nodo que envía este mensaje sabe su dirección de capa 2, debería estar incluida en una opción del tipo dirección MAC de origen.

Anunciación de router (Router Advertisement): es generado automáticamente por los enrutadores al recibir una solicitud de router, o periódicamente para mantener informados a los nodos.

Nombre del campo Tamaño (bytes) Descripción
 
Formato de mensaje Router Advertisement.
Type 1 Identifica el tipo de mensaje ICMPv6, para Router Advertisement su valor es 134.
Code 1 No es utilizado, suele estar a cero.
Checksum 2 Es calculado de manera similar a la versión IPv4, sirve para proveer detección de errores en la trama.
Cur Hop Limit 1 El valor de este campo indica a los hosts de la red local el valor que deberán insertar en el campo Hop Limit de los datagramas que envían. Si está a cero está indicando que no se recomienda ningún valor.
Autoconfig Flags 1 Solo se utilizan 2 bits, uno para cada flag. Estos flags permiten al enrutador informar de que manera es la auto-configuración en la red local.
  1. Bit 1 (M): Cuando está a 1, indica que las direcciones están disponibles a través de DHCPv6. Cuando está a 1 el flag O es redundante ya que DHCPv6 devolverá toda la información de configuración.
  2. Bit 2 (O): Cuando está a 1, indica que otra información de configuración está disponible a través de DHCPv6. Por ejemplo información sobre el DNS, o servidores en la red.
  3. Resto (Reserved): Bits reservados para uso futuro.
Router Lifetime 2 Indica al receptor de este mensaje cuanto tiempo (en segundos) este enrutador deberá permanecer como enrutador por defecto. Si el valor de este campo es 0, entonces no se deberá utilizar este enrutador por defecto.
Reachable Time 4 Indica al host cuanto tiempo (en mili-segundos) deberá considerar un vecino como alcanzable después de recibir la confirmación de alcanzable.
Retrans Timer 4 Indica el tiempo (en mili-segundos) que el host debe esperar antes de retransmitir.
Options variable Hay tres tipos de información que este campo puede contener:
  1. Dirección MAC de origen: se incluye cuando se sabe la dirección MAC.
  2. MTU: Se utiliza para informar a los hosts de la MTU de la red local.
  3. Información de prefijo: Informa a los hosts que prefijo o prefijos utilizar dentro de la red local.

Solicitud de vecino (Neighbor Solicitation): son utilizadas por los nodos para determinar la dirección MAC de un vecino, o para verificar que un vecino sigue siendo accesible a través de una dirección MAC que se encuentra en caché. También es utilizado para detectar direcciones IP duplicadas.

Nombre del campo Tamaño (bytes) Descripción
 
Formato de mensaje Neighbor Solicitation.
Type 1 Identifica el tipo de mensaje ICMPv6, para Neighbor Solicitation su valor es 135.
Code 1 No es utilizado, suele estar a cero.
Checksum 2 Es calculado de manera similar a la versión IPv4, sirve para proveer detección de errores en la trama.
Reserved 4 Estos 4 bytes están reservados para usos futuros, están iniciados a cero.
Target Address 16 Contendrá la dirección IP unicast del dispositivo del cual se está intentando resolver su dirección MAC.
Options variable Si el dispositivo que genera la solicitud sabe su propia dirección IP y MAC, se deberá incluir en las opciones la dirección IP y MAC de origen. Esto se hace con el propósito de que el receptor añada a su caché estas direcciones.

Anunciación de vecino (Neighbor Advertisement): se genera automáticamente al recibir una solicitud de vecino, o se genera cuando se va a realizar un cambio en la dirección MAC (reemplazar el host por otro).

Nombre del campo Tamaño (bytes) Descripción
 
Formato de mensaje Neighbor Advertisement.
Type 1 Identifica el tipo de mensaje ICMPv6, para Neighbor Advertisement su valor es 136.
Code 1 No es utilizado, suele estar a cero.
Checksum 2 Es calculado de manera similar a la versión IPv4, sirve para proveer detección de errores en la trama.
Flags 4 Solo se utilizan 3 bits, uno para cada flag. Estos flags permiten transmitir información sobre el mensaje:
  1. Bit 1 (R): Identifica el tipo de dispositivo que ha enviado el mensaje (1 cuando el mensaje lo ha enviado un enrutador, y 0 cuando ha sido enviado por un host). También se utiliza para detectar cuando un enrutador cambia de funcionar como tal, a funcionar como un host.
  2. Bit 2 (S): Cuando está a 1 indica que el mensaje ha sido enviado en respuesta a un Neighbor Solicitation.
  3. Bit 3 (O): Cuando está a 1 indica al receptor que deberá sobrescribir cualquier información de caché relacionada con la dirección de dispositivo origen.
  4. Resto (Reserved): Bits reservados para uso futuro.
Target Address 16 Si el mensaje es enviado en respuesta a un Neighbor Solicitation entonces este campo tendrá el mismo valor que el campo target address del mensaje Neighbor Solicitation. Comúnmente contendrá la dirección IP de dispositivo que genera este mensaje.
Options variable Cuando este mensaje es generado en respuesta a un Neighbor Solicitation multicast entonces será obligatorio que se añada la dirección MAC del dispositivo que genera este mensaje. En cambio, cuando la respuesta se debe a un Neighbor Solicitation unicast no será obligatorio incluir la dirección MAC (ya que para enviar Neighbor Solicitation necesitaba la dirección MAC, es decir, ya la tiene), pero se suele incluir.

Redirección (Redirect): se genera cuando un nodo quiere informar a un enrutador de una mejor ruta hacia un destino. Estos mensajes siempre son unicast.

Nombre del campo Tamaño (bytes) Descripción
 
Formato de mensaje Redirect.
Type 1 Identifica el tipo de mensaje ICMPv6, para Redirect su valor es 137.
Code 1 No es utilizado, suele estar a cero.
Checksum 2 Es calculado de manera similar a la versión IPv4, sirve para proveer detección de errores en la trama.
Reserved 4 Estos 4 bytes están reservados para usos futuros, están iniciados a cero.
Target Address 16 Contiene la dirección IP del enrutador por el cual la ruta hacia el destino hubiera sido más eficiente.
Destination Address 16 Contiene la dirección IP del destino al que iba dirigido el paquete, antes de que se generase el mensaje Redirect.
Options variable Normalmente se utilizan dos tipos de opciones:
  1. Dirección MAC de origen: Contiene la dirección MAC del dispositivo generador de este mensaje. Con esto se evita tener que realizar la resolución de dirección MAC una vez el enrutador de destino reciba este mensaje.
  2. Cabecera redirigida (Redirected Header): Para hacer que este mensaje supere la unidad máxima de transferencia (MTU), es decir 1280 bytes, se introducirá parte del datagrama que originó este mensaje. Se cogerá tanto como sea necesario hasta llegar a 1280 bytes.

Tipos de Mensajes de Opciones

Existen cinco tipos de mensajes de información ICMPv6 definidos y utilizados por Neighbor Discovery. En el campo de opciones de cada uno de los mensajes Neighbor Discovery se pueden insertar uno o más de estos mensajes de información. El nombre puede que no sea el más apropiado ya que solo en algunos casos estos mensajes son opcionales. Por ejemplo, en un Neighbor Advertisement se tiene que introducir en el campo de opciones la dirección MAC de la resolución, y sin esta opción el mensaje no tendría sentido.

Cada opción tiene una estructura basada en el clásico "tipo, longitud y valor". El campo de tipo indica la opción, la longitud indica la longitud para que el dispositivo que procese la opción pueda determinar dónde termina esta. Por último el campo de valor contiene la información relativa a la opción utilizada. Algunas opciones son utilizadas solo en un tipo de mensaje ICMPv6, mientras otras son incorporadas por más de un tipo de mensaje. Por lo tanto, son componentes modulares que pueden ser utilizados en distintos tipos de mensajes según se necesite.

Dirección MAC de Origen (Source Link-Layer Address) tiene el siguiente formato:

Nombre del campo Tamaño (bytes) Descripción
 
Formato del mensaje de opción ICMPv6 Source Link-Layer Address.
Type 1 Identifica el tipo de opción ICMPv6, para Source Link-Layer Address su valor es 1.
Length 1 La longitud de la opción incluyendo el tipo y la longitud, expresado en unidades de 64 bits.
Source Link-Layer Address variable Contiene la dirección de capa 2 (dirección MAC) del dispositivo que envía el mensaje.

Dirección MAC del Objetivo (Target Link-Layer Address) tiene el siguiente formato:

Nombre del campo Tamaño (bytes) Descripción
 
Formato del mensaje de opción ICMPv6 TargetLink-Layer Address.
Type 1 Identifica el tipo de opción ICMPv6, para Target Link-Layer Address su valor es 2.
Length 1 La longitud de la opción incluyendo el tipo y la longitud, expresado en unidades de 64 bits.
Target Link-Layer Address variable Contiene la dirección de capa 2 (dirección MAC) del dispositivo que envía el mensaje y ha sido objetivo de una resolución MAC, o de mensaje Redirect y así evitar la resolución MAC más tarde.

Información de Prefijo (Prefix Information) tiene el siguiente formato:

Nombre del campo Tamaño (bytes) Descripción
 
Formato del mensaje de opción ICMPv6 Prefix Information.
Type 1 Identifica el tipo de opción ICMPv6, para Prefix Information su valor es 3.
Length 1 La longitud de la opción incluyendo el tipo y la longitud, expresado en unidades de 64 bits. Como no hay ningún campo variable su valor será de 4 (4*64 bits = 256 bits = 32 bytes)
Prefix Length 1 El número de bits del campo Prefix que es considerado parte de identificador de red (el remanente es utilizado como identificador de host e ignorado).
Flags 1 Solo se utilizan 2 bits, uno para cada flag. Estos flags permiten transmitir información sobre el prefijo:
  1. Bit 1 (L, On-Link Flag): Cuando está a 1 indica que receptor de la opción puede utilizar el prefijo para determinar que parte de la dirección IP es identificador de red local. Cuando está a 0 él no está declarando si se puede utilizar el prefijo para esto o no.
  2. Bit 2 (A, Autonomous Address-Configuration Flag): Cuando está a 1 indica que el prefijo puede ser utilizado para la auto-configuración de IPv6.
  3. Resto (Reserved): Bits reservados para uso futuro.
Valid Lifetime 4 Indica la cantidad de segundos que el receptor de la opción debe considerar el prefijo válido para propósitos de determinación de área local. Si su valor es de 1 (1 segundos) significa que su duración es para siempre.
Preferred Lifetime 4 Indica la cantidad de segundos que el receptor de la opción debe considerar la dirección creada a partir del prefijo como principal.
Reserved 4 Estos 4 bytes están reservados para usos futuros, están iniciados a cero.
Prefix 16 Contiene el prefijo asignado. Solo se eligen como prefijo la cantidad de bits especificada por el campo Prefix Length.

Cabecera Redireccionada (Redirected Header) tiene el siguiente formato:

Nombre del campo Tamaño (bytes) Descripción
 
Formato del mensaje de opción ICMPv6 Redirected Header.
Type 1 Identifica el tipo de opción ICMPv6, para Redirected Header su valor es 4.
Length 1 La longitud de la opción incluyendo el tipo y la longitud, expresado en unidades de 64 bits.
Reserved 6 Estos 6 bytes están reservados para usos futuros, están iniciados a cero.
IP Header + Data variable Conendrá parte del datagrama que originó el mensaje Redirect. Se cogerá tanto como sea necesario hasta llegar a 1280 bytes.

Opción de MTU (MTU Option) tiene el siguiente formato:

Nombre del campo Tamaño (bytes) Descripción
 
Formato del mensaje de opción ICMPv6 MTU Option.
Type 1 Identifica el tipo de opción ICMPv6, para MTU Option su valor es 5.
Length 1 La longitud de la opción incluyendo el tipo y la longitud, expresado en unidades de 64 bits. Como no hay ningún campo variable su valor será de 1 (1*64 bits = 64 bits = 8 bytes)
Reserved 2 Estos 2 bytes están reservados para usos futuros, están iniciados a cero.
MTU 4 Contiene el valor de la MTU en bytes que el enrutador recomienda utilizar en el área local.

Funcionalidades de descubrimiento Host-Router

Este es uno de los principales grupos de funcionalidades de Neighbor Discovery ya que facilitan el descubrimiento de enrutadores locales e intercambian información entre ellos y los hosts. Estas funcionalidades se distinguen en cuatro específicas y están diseñadas para su uso en los mensajes Router Solicitation y Router Advertisement:

  • Router Discovery (Descubrimiento de Enrutador): es el método por el cual los hosts localizan enrutadores en la red local.
  • Prefix Discovery (Descubrimiento de Prefijo): los hosts utilizan esta función para determinar en qué red se encuentran. A su vez esta función indica como diferenciar entre destinos locales o distantes a la red local y si intentar la entrega directa o indirecta de datagramas.
  • Parameter Discovery (Descubrimiento de Parámetros): es el método por el cual un host aprende parámetros importantes sobre la red local y/o enrutadores, como por ejemplo la MTU del enlace local.
  • Address Autoconfiguration (Auto-configuración de dirección): los hosts en IPv6 son capaces de configurarse automáticamente, pero esto requiere información que es proporcionada por un enrutador.

Para proporcionar todas estas funcionalidades es necesario que los enrutadores y los hosts realicen una serie de tareas:

Tareas realizadas por los enrutadores
Routine Advertisement (Rutina de Anunciación) La principal tarea que tienen los enrutadores en Neighbor Discovery es la de enviar periódicamente mensajes de Router Advertisement. Cada enrutador posee un contador que controla cada cuanto tiempo una anunciación de este tipo es enviado. Los mensajes de Router Advertisement también son enviados en situaciones especiales como por ejemplo cuando cambia información clave sobre el enrutador como podría ser su dirección en la red local.
Parameter Maintenance (Mantenimeitno de Parámetros) Los enrutadores son responsables del mantenimiento de los parámetros clave de la red local así que estos parámetros serán enviados en los mensajes de anunciación. Estos parámetros son el campo Hop Limit de los datagramas IP que enviarán los hosts de la red, un valor de MTU para la red, e información como los prefijos de red es utilizada para el primer salto en la ruta y para auto-configuración.
Solicitation Processing (Procesado de Solicitaciones) Los enrutadores siempre están pendientes de recibir Router Solicitation, y cuando se recibe uno de estos mensajes, inmediatamente el enrutador responderá con un Router Advertisement al host.
Tareas realizadas por los hosts
Advertisement Processing (Procesado de Anunciaciones) Los hosts siempre están a la escucha de mensajes de anunciación y los procesan. En estos mensajes de anunciación se incluyen estructuras de datos como listas de prefijos y enrutadores, que serán actualizados con la llegada de cada nuevo mensaje de anunciación.
Solicitation Generation (Generación de Solicitudes) Bajo ciertas condiciones, un host generará un mensaje Router Solicitation y se enviará a la red local. Es un mensaje muy simple ya que solo requiere que le llegue a cualquier enrutador local. Cuando le llega al enrutador, este inmediatamente enviará un Router Advertisement de vuelta al host que originó la solicitud. Estas solicitudes cuando más se suelen realizar es cuando un host es iniciado por primera vez, por lo tanto, si se generá una solicitud el host no tendrá que esperar al siguiente Router Advertisement generado periódicamente.
Autoconfiguration (Auto-Configuración) En caso de que se requiera y de que la red lo soporte, el host utilizará información proporcionada por el enrutador local para configurarse automáticamente con una dirección IPv6 y con otros parámetros.

Funcionalidades de descubrimiento Host-Host

Este es otro de los principales grupos de funcionalidades de Neighbor Discovery está asociado con información determinante y la comunicación entre nodos (normalmente hosts). Algunas de las siguientes funciones también puede ser utilizada entre un enrutador y un host, pero este grupo no fue específicamente diseñado para ello. Estas funcionalidades se distinguen en cuatro específicas:

  • Address Resolution (Resolución de dirección): es el proceso por el cual un dispositivo obtiene la dirección de capa 2 (MAC) de otro dispositivo de la red local a partir de su dirección de capa 3 (IPv6)
  • Next-Hop Determination (Determinación del siguiente salto): es el método por el cual se consulta el destino del datagrama IP y así se determina dónde se debe enviar a continuación.
  • Neighbor Unreachability Detection (Detección de vecino inalcanzable): es el proceso que determina si un vecino puede ser o no contactado.
  • Duplicate Address Detection (Detección de direcciones duplicadas): determina si la dirección que un dispositivo desea utilizar ya existe en la red.

El envío de datagramas IP puede ser dividido en dos métodos:

  • Envío indirecto: requiere que los enrutadores presten ayuda a los hosts a través de las funcionalidades Host-Enrutador.
  • Envío directo: el envío es desde un host a otro host en la misma red. No requiere el uso de enrutadores, pero necesitará funciones que involucren la determinación del siguiente salto comunicado directamente entre hosts.

Para proporcionar todas estas funcionalidades es necesario que los hosts realicen una serie de tareas:

Next-Hop Determination (Determinación del siguiente salto) La primera tarea que todo host debe realizar al enviar un datagrama es determinar el siguiente salto. Este es un proceso por el cual un dispositivo mira la dirección de destino de un datagrama y decide si realizar un envío directo o indirecto. Esto se hace observando la información de prefijo obtenida de los enrutadores locales y comparando la dirección de destino del datagrama con el prefijo se va a daterminar si el dispositivo de destino está en la red local o en una red distante. Si es el destino está en la red local, entonces el siguiente salto será a la misma dirección de destino, en cambio, si el destino no está en la red local, entonces el siguiente salto es elegido de la lista de enrutadores locales (está lista estará configurada manualmente o a través de las funcionalidades de Host-Enrutador de Neighbor Discovery).

Por propósitos de eficiencia, los hosts no la determinación del siguiente salto para cada datagrama. Tienen una caché de destinos que contiene información sobre los siguientes saltos a los datagramas enviados recientemente. Cada vez que se realiza una determinación de siguiente salto se va a almacenar en esta caché, para que así está información se pueda utilizar para los futuros datagramas que serán enviados a ese dispositivo.

Address Resolution (Resolución de dirección) Si un host llega a la conclusión de que el destino de un datagrama es en la red local, se necesitará enviar dicho datagrama al dispositivo de destino. Para realizar la transmisión se necesitará saber la dirección de capa 2 (MAC) del destino. El hecho de conseguir la dirección MAC de destino a partir de la dirección de capa 3 (IPv6) se denomina resolución de dirección.

Para realizar este proceso de resolución el dispositivo que desea saber la MAC del destino debe enviar un mensaje Neighbor Solicitation con la dirección IP de destino. El destino responderá con un mensaje Neighbor Advertisement que contendrá su dirección MAC. Esta resolución de direcciones puede ser utilizada para hallar la dirección MAC de un host o de un enrutador.

Updating Neighbors Using Neighbor Advertisement Messages (Actualizar los vecinos) Los mensajes de Neighbor Advertisement no son enviados periódicamente como los de Router Advertisement. Esto no es ninguna necesidad ya que los vecinos no cambian mucho con el paso del tiempo, y de esta manera las resoluciones ocurrirán de manera natural cada vez que los dispositivos se envíen datagramas entre sí. Además, sería poco eficiente para la red que se enviasen periódicamente anunciaciones por cada host.

De cualquier manera, un host puede enviar un mensaje Neighbor Advertisement no solicitado cuando ve necesario actualizar la información de los vecinos en la red local. Por ejemplo cuando se reemplaza la tarjeta de red de un equipo (cambiará su dirección MAC), se podrá enviar un mensaje Neighbor Advertisement para que los vecinos actualicen la dirección MAC en su caché.

Neighbor Unreachability Detection and the Neighbor Cache (Detección de vecinos inalcanzables y la caché de los vecinos) Los mensajes Neighbor Solicitation y Neighbor Advertisement a menudo son asociados solamente con a la resolución de direcciones, pero tienen otros propósitos también. Uno de estos propósitos es la detección de vecinos inalcanzables. Cada dispositivo tiene información sobre sus vecinos y la actualiza dinámicamente según las condiciones de la red van cambiando. Esta información es guardada ya sea para un host o para un enrutador de la red.

El hecho de saber cuando un dispositivo ya no es alcanzable es importante ya que un host deberá adaptar su comportamiento de acuerdo a esto. En caso de un host inalcanzable, el dispositivo debería esperar cierto periodo de tiempo antes de intentar enviar datagramas al host inalcanzable, evitando así inundar la red con repetidos intentos de envío. En cambio, el que un enrutador sea inalcanzable indica que el dispositivo tiene que buscar un nuevo enrutador para utilizar (si existe alguna alternativa).

Cada host tiene una caché de vecinos dónde guarda información sobre los dispositivos vecinos. Cada vez que un host recibe un datagrama de un vecino, sabrá que el vecino es alcanzable en ese momento, creándose así una entrada en la caché para indicarlo. Claro que cuanto más tiempo pase desde que se ha recibido un datagrama de un vecino, mayor es la posibilidad de que algo ocurrido para que el vecino ya no sea alcanzable. Por esta razón la información de caché debe ser considerada temporal. Cada vez que un vecino es anotado en la caché como alcanzable, se inicia un contador. Cuando el tiempo termina, la alcanzabilidad de cierto vecino es considerada antigua, y por lo tanto no se asume que el vecino siga estando disponible. Cuando se recibe de nuevo un datagrama del vecino cuya información ha caducado, el contador es reiniciado indicando así que el vecino es alcanzable de nuevo. El tiempo que un vecino debería ser considerado alcanzable es comunicado en los mensajes Router Advertisement.

Es posible que un host necesite saber si un vecino sigue estando alcanzable, para esto se mandará un Neighbor Solicitation esperando un Neighbor Advertisement, actualizándose la información en la caché.

Duplicate Address Detection (Detección de direcciones duplicadas) Cuando un host utiliza el proceso automático de configuración IPv6 uno de los pasos a realizar es asegurarse de que la dirección que se a a utilizar ya existe en la red. Esto se hace enviando un mensaje Neighbor Solicitation a la dirección que se pretende comprobar. SI se recibe un mensaje Neighbor Advertisement eso significa que la dirección ya se está usando.

Funcionalidad de redirección

Una de las mayores responsabilidades de Neighbor Discovery es la de la función de redirección. Es utilizada por un enrutador para informar a un host de una mejor ruta para enviar los datagramas a un destino concreto.

Los enrutadores son responsables de detectar situaciones en las cuales un host de la red local ha tomado una decisión ineficaz de encaminamiento para el primer salto, y debe actuar para corregir esto. Por ejemplo, considérese una red que está formada por dos enrutadores, R1 y R2. Un host A quiere enviar un datagrama al dispositivo B de otra red que está conectada a A a través del enrutador R2. Si A envía un datagrama a R1, R1 sabrá que tiene que pasar por R2, y por lo tanto se lo enviará. Viendo que R2 también estaba en la red local, R1 se da cuenta de que A ha tomado una mala decisión ya que el datagrama tenía que haber sido enviado directamente al enrutador R2, no a R1. Como respuesta, R1 creará un mensaje Redirect. Este mensaje le indicará a A que cualquier datagrama con ese destino deberá ser enviado a través de R2.

Solamente los enrutadores enviarán mensajes Redirect. Los hosts son responsables de esperar estos mensajes, y cuando les lleguen procesarlos. Cuando un host procesa la información de un mensaje Redirect actualizará su caché en de acuerdo a esto.

 
Tras generarse el menaje Redirect la transmisión del datagrama va a continuar hasta el final. El cambio de ruta que provocará el mensaje Redirect se verá reflejado en la ruta de los siguientes datagramas con el mismo destino.

Véase también

Referencias

  1. IPv6 Router Advertisement Deep Dive
  2. Neighbor Discovery for IP version 6 (IPv6) (RFC4861)
  3. IPv6 Subnet Model: The relationship between Link and Subnet Prefixes (RFC5942)
  4. IP Version 6 Addressing Architecture (RFC4291)
  5. Information About IPv6 Neighbor Discovery (Cisco)
  6. TCP/IP IPv6 Neighbor Discovery Protocol (ND)
  7. IPv6 - Atacando el Neighbor Discovery
  8. Neighbor Discovery para IPv6: Ataques y Contramedidas
  9. NDP - Neighbor Discovery Protocol
  •   Datos: Q1547947
  •   Multimedia: Neighbor Discovery Protocol / Q1547947

neighbor, discovery, protocolo, ipv6, equivalente, protocolo, address, resolution, protocol, ipv4, aunque, distingue, porque, también, incorpora, funcionalidades, icmp, utiliza, mensajes, especiales, icmpv6, construyendo, así, manera, simple, para, terminales,. Neighbor Discovery ND es un protocolo de IPv6 y es equivalente al protocolo Address Resolution Protocol ARP en IPv4 aunque se distingue porque tambien incorpora funcionalidades de ICMP Utiliza mensajes especiales de ICMPv6 construyendo asi una manera simple para que los terminales aprendan las direcciones IPv6 de los vecinos de la capa de enlace Consiste en un mecanismo con el cual un nodo que se acaba de conectar a la red descubre la presencia de otros nodos en el mismo enlace ademas de ver sus direcciones IP Otra de las grandes funcionalidades de este protocolo es que se ocupa de mantener limpios los caches donde se almacena la informacion relativa al contexto de la red a la que esta conectado un nodo Asi cuando una ruta hacia cierto nodo falla el enrutador correspondiente buscara rutas alternativas Basandose tambien en los mensajes ICMPv6 se permite un mecanismo de auto configuracion Indice 1 Tipos de enlaces 2 Tipos de direcciones 3 Mensajes ICMPv6 4 Tipos de Mensajes de Opciones 5 Funcionalidades de descubrimiento Host Router 6 Funcionalidades de descubrimiento Host Host 7 Funcionalidad de redireccion 8 Vease tambien 9 ReferenciasTipos de enlaces EditarExisten diferentes tipos de capas de enlaces con diferentes propiedades Con capacidad de multidifusion es un enlace que soporta enviar paquetes a un subconjuto o a todos los vecinos Punto a punto es un enlace que conecta dos interfaces Estos enlaces tienen capacidad de multidifusion y tienen direccion del tipo enlace local unicast Multi acceso de no difusion NBMA es un enlace que soporta mas de dos interfaces conectados pero no tiene capacidad de multidifusion por lo tanto debera proveer un mecanismo que le de esta capacidad Medio compartido es un enlace que permite la comunicacion directa entre varios nodos pero los nodos conectados se configuran de tal manera que no disponen de informacion de prefijo completa para todos los destinos de enlace Es decir en la capa de red los nodos en el mismo enlace pueden no saber que son vecinos por lo tanto se comunicaran a traves de un enrutador MTU variable es un enlace que tiene una MTU definida Por defecto se comunicara a traves de un enrutador Accesibilidad asimetrica es un enlace donde se da accesibilidad reflexiva y o transitiva Reflexiva Un nodo A alcanza a un nodo B pero no viceversa Transitiva Un nodo A alcanza a un nodo B un nodo B alcanza a un nodo C pero el nodo A no alcanza al nodo C directamente Accesibilidad reflexiva y accesibilidad transitiva siendo A B y C nodos de una red Tipos de direcciones EditarEn Neighbor Discovery se hace uso de diferentes direcciones de IPv6 todas ellas definidas en RFC4291 Multidifusion a todos los nodos es una direccion del tipo enlace local para alcanzar a todos los nodos y es FF02 1 Multidifusion a todos los routers es una direccion del tipo enlace local para alcanzar a todos los enrutadores y es FF02 2 Link Local Es una direccion unicast que sirve para alcanzar a los vecinos siendo de la forma FE80 10 Cada interfaz de un enrutador debe tener direcciones de este tipo Sin especificar Es la direccion 0 0 y se suele utilizar no como destino sino como origen cuando un nodo aun no sabe su propia direccion Mensajes ICMPv6 EditarUn host no puede empezar a utilizar una red hasta que no conoce la identidad de al menos un enrutador local Estos mensajes proporcionaran un medio por el que un host puede localizar a un enrutador y aprender importantes parametros relacionados con el funcionamiento de la red local Solicitud de router Router Solicitation se genera un mensaje de este tipo cada vez que una interfaz de un nodo es activado para asi pedir a los enrutadores que se anuncien Router Advertisement Nombre del campo Tamano bytes Descripcion Formato del mensaje Router Solicitation Type 1 Identifica el tipo de mensaje ICMPv6 para Router Solicitation su valor es 133 Code 1 No es utilizado suele estar a cero Checksum 2 Es calculado de manera similar a la version IPv4 sirve para proveer deteccion de errores en la trama Reserved 4 Estos 4 bytes estan reservados para usos futuros estan iniciados a cero Options variable En caso de que el nodo que envia este mensaje sabe su direccion de capa 2 deberia estar incluida en una opcion del tipo direccion MAC de origen Anunciacion de router Router Advertisement es generado automaticamente por los enrutadores al recibir una solicitud de router o periodicamente para mantener informados a los nodos Nombre del campo Tamano bytes Descripcion Formato de mensaje Router Advertisement Type 1 Identifica el tipo de mensaje ICMPv6 para Router Advertisement su valor es 134 Code 1 No es utilizado suele estar a cero Checksum 2 Es calculado de manera similar a la version IPv4 sirve para proveer deteccion de errores en la trama Cur Hop Limit 1 El valor de este campo indica a los hosts de la red local el valor que deberan insertar en el campo Hop Limit de los datagramas que envian Si esta a cero esta indicando que no se recomienda ningun valor Autoconfig Flags 1 Solo se utilizan 2 bits uno para cada flag Estos flags permiten al enrutador informar de que manera es la auto configuracion en la red local Bit 1 M Cuando esta a 1 indica que las direcciones estan disponibles a traves de DHCPv6 Cuando esta a 1 el flag O es redundante ya que DHCPv6 devolvera toda la informacion de configuracion Bit 2 O Cuando esta a 1 indica que otra informacion de configuracion esta disponible a traves de DHCPv6 Por ejemplo informacion sobre el DNS o servidores en la red Resto Reserved Bits reservados para uso futuro Router Lifetime 2 Indica al receptor de este mensaje cuanto tiempo en segundos este enrutador debera permanecer como enrutador por defecto Si el valor de este campo es 0 entonces no se debera utilizar este enrutador por defecto Reachable Time 4 Indica al host cuanto tiempo en mili segundos debera considerar un vecino como alcanzable despues de recibir la confirmacion de alcanzable Retrans Timer 4 Indica el tiempo en mili segundos que el host debe esperar antes de retransmitir Options variable Hay tres tipos de informacion que este campo puede contener Direccion MAC de origen se incluye cuando se sabe la direccion MAC MTU Se utiliza para informar a los hosts de la MTU de la red local Informacion de prefijo Informa a los hosts que prefijo o prefijos utilizar dentro de la red local Solicitud de vecino Neighbor Solicitation son utilizadas por los nodos para determinar la direccion MAC de un vecino o para verificar que un vecino sigue siendo accesible a traves de una direccion MAC que se encuentra en cache Tambien es utilizado para detectar direcciones IP duplicadas Nombre del campo Tamano bytes Descripcion Formato de mensaje Neighbor Solicitation Type 1 Identifica el tipo de mensaje ICMPv6 para Neighbor Solicitation su valor es 135 Code 1 No es utilizado suele estar a cero Checksum 2 Es calculado de manera similar a la version IPv4 sirve para proveer deteccion de errores en la trama Reserved 4 Estos 4 bytes estan reservados para usos futuros estan iniciados a cero Target Address 16 Contendra la direccion IP unicast del dispositivo del cual se esta intentando resolver su direccion MAC Options variable Si el dispositivo que genera la solicitud sabe su propia direccion IP y MAC se debera incluir en las opciones la direccion IP y MAC de origen Esto se hace con el proposito de que el receptor anada a su cache estas direcciones Anunciacion de vecino Neighbor Advertisement se genera automaticamente al recibir una solicitud de vecino o se genera cuando se va a realizar un cambio en la direccion MAC reemplazar el host por otro Nombre del campo Tamano bytes Descripcion Formato de mensaje Neighbor Advertisement Type 1 Identifica el tipo de mensaje ICMPv6 para Neighbor Advertisement su valor es 136 Code 1 No es utilizado suele estar a cero Checksum 2 Es calculado de manera similar a la version IPv4 sirve para proveer deteccion de errores en la trama Flags 4 Solo se utilizan 3 bits uno para cada flag Estos flags permiten transmitir informacion sobre el mensaje Bit 1 R Identifica el tipo de dispositivo que ha enviado el mensaje 1 cuando el mensaje lo ha enviado un enrutador y 0 cuando ha sido enviado por un host Tambien se utiliza para detectar cuando un enrutador cambia de funcionar como tal a funcionar como un host Bit 2 S Cuando esta a 1 indica que el mensaje ha sido enviado en respuesta a un Neighbor Solicitation Bit 3 O Cuando esta a 1 indica al receptor que debera sobrescribir cualquier informacion de cache relacionada con la direccion de dispositivo origen Resto Reserved Bits reservados para uso futuro Target Address 16 Si el mensaje es enviado en respuesta a un Neighbor Solicitation entonces este campo tendra el mismo valor que el campo target address del mensaje Neighbor Solicitation Comunmente contendra la direccion IP de dispositivo que genera este mensaje Options variable Cuando este mensaje es generado en respuesta a un Neighbor Solicitation multicast entonces sera obligatorio que se anada la direccion MAC del dispositivo que genera este mensaje En cambio cuando la respuesta se debe a un Neighbor Solicitation unicast no sera obligatorio incluir la direccion MAC ya que para enviar Neighbor Solicitation necesitaba la direccion MAC es decir ya la tiene pero se suele incluir Redireccion Redirect se genera cuando un nodo quiere informar a un enrutador de una mejor ruta hacia un destino Estos mensajes siempre son unicast Nombre del campo Tamano bytes Descripcion Formato de mensaje Redirect Type 1 Identifica el tipo de mensaje ICMPv6 para Redirect su valor es 137 Code 1 No es utilizado suele estar a cero Checksum 2 Es calculado de manera similar a la version IPv4 sirve para proveer deteccion de errores en la trama Reserved 4 Estos 4 bytes estan reservados para usos futuros estan iniciados a cero Target Address 16 Contiene la direccion IP del enrutador por el cual la ruta hacia el destino hubiera sido mas eficiente Destination Address 16 Contiene la direccion IP del destino al que iba dirigido el paquete antes de que se generase el mensaje Redirect Options variable Normalmente se utilizan dos tipos de opciones Direccion MAC de origen Contiene la direccion MAC del dispositivo generador de este mensaje Con esto se evita tener que realizar la resolucion de direccion MAC una vez el enrutador de destino reciba este mensaje Cabecera redirigida Redirected Header Para hacer que este mensaje supere la unidad maxima de transferencia MTU es decir 1280 bytes se introducira parte del datagrama que origino este mensaje Se cogera tanto como sea necesario hasta llegar a 1280 bytes Tipos de Mensajes de Opciones EditarExisten cinco tipos de mensajes de informacion ICMPv6 definidos y utilizados por Neighbor Discovery En el campo de opciones de cada uno de los mensajes Neighbor Discovery se pueden insertar uno o mas de estos mensajes de informacion El nombre puede que no sea el mas apropiado ya que solo en algunos casos estos mensajes son opcionales Por ejemplo en un Neighbor Advertisement se tiene que introducir en el campo de opciones la direccion MAC de la resolucion y sin esta opcion el mensaje no tendria sentido Cada opcion tiene una estructura basada en el clasico tipo longitud y valor El campo de tipo indica la opcion la longitud indica la longitud para que el dispositivo que procese la opcion pueda determinar donde termina esta Por ultimo el campo de valor contiene la informacion relativa a la opcion utilizada Algunas opciones son utilizadas solo en un tipo de mensaje ICMPv6 mientras otras son incorporadas por mas de un tipo de mensaje Por lo tanto son componentes modulares que pueden ser utilizados en distintos tipos de mensajes segun se necesite Direccion MAC de Origen Source Link Layer Address tiene el siguiente formato Nombre del campo Tamano bytes Descripcion Formato del mensaje de opcion ICMPv6 Source Link Layer Address Type 1 Identifica el tipo de opcion ICMPv6 para Source Link Layer Address su valor es 1 Length 1 La longitud de la opcion incluyendo el tipo y la longitud expresado en unidades de 64 bits Source Link Layer Address variable Contiene la direccion de capa 2 direccion MAC del dispositivo que envia el mensaje Direccion MAC del Objetivo Target Link Layer Address tiene el siguiente formato Nombre del campo Tamano bytes Descripcion Formato del mensaje de opcion ICMPv6 TargetLink Layer Address Type 1 Identifica el tipo de opcion ICMPv6 para Target Link Layer Address su valor es 2 Length 1 La longitud de la opcion incluyendo el tipo y la longitud expresado en unidades de 64 bits Target Link Layer Address variable Contiene la direccion de capa 2 direccion MAC del dispositivo que envia el mensaje y ha sido objetivo de una resolucion MAC o de mensaje Redirect y asi evitar la resolucion MAC mas tarde Informacion de Prefijo Prefix Information tiene el siguiente formato Nombre del campo Tamano bytes Descripcion Formato del mensaje de opcion ICMPv6 Prefix Information Type 1 Identifica el tipo de opcion ICMPv6 para Prefix Information su valor es 3 Length 1 La longitud de la opcion incluyendo el tipo y la longitud expresado en unidades de 64 bits Como no hay ningun campo variable su valor sera de 4 4 64 bits 256 bits 32 bytes Prefix Length 1 El numero de bits del campo Prefix que es considerado parte de identificador de red el remanente es utilizado como identificador de host e ignorado Flags 1 Solo se utilizan 2 bits uno para cada flag Estos flags permiten transmitir informacion sobre el prefijo Bit 1 L On Link Flag Cuando esta a 1 indica que receptor de la opcion puede utilizar el prefijo para determinar que parte de la direccion IP es identificador de red local Cuando esta a 0 el no esta declarando si se puede utilizar el prefijo para esto o no Bit 2 A Autonomous Address Configuration Flag Cuando esta a 1 indica que el prefijo puede ser utilizado para la auto configuracion de IPv6 Resto Reserved Bits reservados para uso futuro Valid Lifetime 4 Indica la cantidad de segundos que el receptor de la opcion debe considerar el prefijo valido para propositos de determinacion de area local Si su valor es de 1 1 segundos significa que su duracion es para siempre Preferred Lifetime 4 Indica la cantidad de segundos que el receptor de la opcion debe considerar la direccion creada a partir del prefijo como principal Reserved 4 Estos 4 bytes estan reservados para usos futuros estan iniciados a cero Prefix 16 Contiene el prefijo asignado Solo se eligen como prefijo la cantidad de bits especificada por el campo Prefix Length Cabecera Redireccionada Redirected Header tiene el siguiente formato Nombre del campo Tamano bytes Descripcion Formato del mensaje de opcion ICMPv6 Redirected Header Type 1 Identifica el tipo de opcion ICMPv6 para Redirected Header su valor es 4 Length 1 La longitud de la opcion incluyendo el tipo y la longitud expresado en unidades de 64 bits Reserved 6 Estos 6 bytes estan reservados para usos futuros estan iniciados a cero IP Header Data variable Conendra parte del datagrama que origino el mensaje Redirect Se cogera tanto como sea necesario hasta llegar a 1280 bytes Opcion de MTU MTU Option tiene el siguiente formato Nombre del campo Tamano bytes Descripcion Formato del mensaje de opcion ICMPv6 MTU Option Type 1 Identifica el tipo de opcion ICMPv6 para MTU Option su valor es 5 Length 1 La longitud de la opcion incluyendo el tipo y la longitud expresado en unidades de 64 bits Como no hay ningun campo variable su valor sera de 1 1 64 bits 64 bits 8 bytes Reserved 2 Estos 2 bytes estan reservados para usos futuros estan iniciados a cero MTU 4 Contiene el valor de la MTU en bytes que el enrutador recomienda utilizar en el area local Funcionalidades de descubrimiento Host Router EditarEste es uno de los principales grupos de funcionalidades de Neighbor Discovery ya que facilitan el descubrimiento de enrutadores locales e intercambian informacion entre ellos y los hosts Estas funcionalidades se distinguen en cuatro especificas y estan disenadas para su uso en los mensajes Router Solicitation y Router Advertisement Router Discovery Descubrimiento de Enrutador es el metodo por el cual los hosts localizan enrutadores en la red local Prefix Discovery Descubrimiento de Prefijo los hosts utilizan esta funcion para determinar en que red se encuentran A su vez esta funcion indica como diferenciar entre destinos locales o distantes a la red local y si intentar la entrega directa o indirecta de datagramas Parameter Discovery Descubrimiento de Parametros es el metodo por el cual un host aprende parametros importantes sobre la red local y o enrutadores como por ejemplo la MTU del enlace local Address Autoconfiguration Auto configuracion de direccion los hosts en IPv6 son capaces de configurarse automaticamente pero esto requiere informacion que es proporcionada por un enrutador Para proporcionar todas estas funcionalidades es necesario que los enrutadores y los hosts realicen una serie de tareas Tareas realizadas por los enrutadoresRoutine Advertisement Rutina de Anunciacion La principal tarea que tienen los enrutadores en Neighbor Discovery es la de enviar periodicamente mensajes de Router Advertisement Cada enrutador posee un contador que controla cada cuanto tiempo una anunciacion de este tipo es enviado Los mensajes de Router Advertisement tambien son enviados en situaciones especiales como por ejemplo cuando cambia informacion clave sobre el enrutador como podria ser su direccion en la red local Parameter Maintenance Mantenimeitno de Parametros Los enrutadores son responsables del mantenimiento de los parametros clave de la red local asi que estos parametros seran enviados en los mensajes de anunciacion Estos parametros son el campo Hop Limit de los datagramas IP que enviaran los hosts de la red un valor de MTU para la red e informacion como los prefijos de red es utilizada para el primer salto en la ruta y para auto configuracion Solicitation Processing Procesado de Solicitaciones Los enrutadores siempre estan pendientes de recibir Router Solicitation y cuando se recibe uno de estos mensajes inmediatamente el enrutador respondera con un Router Advertisement al host Tareas realizadas por los hostsAdvertisement Processing Procesado de Anunciaciones Los hosts siempre estan a la escucha de mensajes de anunciacion y los procesan En estos mensajes de anunciacion se incluyen estructuras de datos como listas de prefijos y enrutadores que seran actualizados con la llegada de cada nuevo mensaje de anunciacion Solicitation Generation Generacion de Solicitudes Bajo ciertas condiciones un host generara un mensaje Router Solicitation y se enviara a la red local Es un mensaje muy simple ya que solo requiere que le llegue a cualquier enrutador local Cuando le llega al enrutador este inmediatamente enviara un Router Advertisement de vuelta al host que origino la solicitud Estas solicitudes cuando mas se suelen realizar es cuando un host es iniciado por primera vez por lo tanto si se genera una solicitud el host no tendra que esperar al siguiente Router Advertisement generado periodicamente Autoconfiguration Auto Configuracion En caso de que se requiera y de que la red lo soporte el host utilizara informacion proporcionada por el enrutador local para configurarse automaticamente con una direccion IPv6 y con otros parametros Funcionalidades de descubrimiento Host Host EditarEste es otro de los principales grupos de funcionalidades de Neighbor Discovery esta asociado con informacion determinante y la comunicacion entre nodos normalmente hosts Algunas de las siguientes funciones tambien puede ser utilizada entre un enrutador y un host pero este grupo no fue especificamente disenado para ello Estas funcionalidades se distinguen en cuatro especificas Address Resolution Resolucion de direccion es el proceso por el cual un dispositivo obtiene la direccion de capa 2 MAC de otro dispositivo de la red local a partir de su direccion de capa 3 IPv6 Next Hop Determination Determinacion del siguiente salto es el metodo por el cual se consulta el destino del datagrama IP y asi se determina donde se debe enviar a continuacion Neighbor Unreachability Detection Deteccion de vecino inalcanzable es el proceso que determina si un vecino puede ser o no contactado Duplicate Address Detection Deteccion de direcciones duplicadas determina si la direccion que un dispositivo desea utilizar ya existe en la red El envio de datagramas IP puede ser dividido en dos metodos Envio indirecto requiere que los enrutadores presten ayuda a los hosts a traves de las funcionalidades Host Enrutador Envio directo el envio es desde un host a otro host en la misma red No requiere el uso de enrutadores pero necesitara funciones que involucren la determinacion del siguiente salto comunicado directamente entre hosts Para proporcionar todas estas funcionalidades es necesario que los hosts realicen una serie de tareas Next Hop Determination Determinacion del siguiente salto La primera tarea que todo host debe realizar al enviar un datagrama es determinar el siguiente salto Este es un proceso por el cual un dispositivo mira la direccion de destino de un datagrama y decide si realizar un envio directo o indirecto Esto se hace observando la informacion de prefijo obtenida de los enrutadores locales y comparando la direccion de destino del datagrama con el prefijo se va a daterminar si el dispositivo de destino esta en la red local o en una red distante Si es el destino esta en la red local entonces el siguiente salto sera a la misma direccion de destino en cambio si el destino no esta en la red local entonces el siguiente salto es elegido de la lista de enrutadores locales esta lista estara configurada manualmente o a traves de las funcionalidades de Host Enrutador de Neighbor Discovery Por propositos de eficiencia los hosts no la determinacion del siguiente salto para cada datagrama Tienen una cache de destinos que contiene informacion sobre los siguientes saltos a los datagramas enviados recientemente Cada vez que se realiza una determinacion de siguiente salto se va a almacenar en esta cache para que asi esta informacion se pueda utilizar para los futuros datagramas que seran enviados a ese dispositivo Address Resolution Resolucion de direccion Si un host llega a la conclusion de que el destino de un datagrama es en la red local se necesitara enviar dicho datagrama al dispositivo de destino Para realizar la transmision se necesitara saber la direccion de capa 2 MAC del destino El hecho de conseguir la direccion MAC de destino a partir de la direccion de capa 3 IPv6 se denomina resolucion de direccion Para realizar este proceso de resolucion el dispositivo que desea saber la MAC del destino debe enviar un mensaje Neighbor Solicitation con la direccion IP de destino El destino respondera con un mensaje Neighbor Advertisement que contendra su direccion MAC Esta resolucion de direcciones puede ser utilizada para hallar la direccion MAC de un host o de un enrutador Updating Neighbors Using Neighbor Advertisement Messages Actualizar los vecinos Los mensajes de Neighbor Advertisement no son enviados periodicamente como los de Router Advertisement Esto no es ninguna necesidad ya que los vecinos no cambian mucho con el paso del tiempo y de esta manera las resoluciones ocurriran de manera natural cada vez que los dispositivos se envien datagramas entre si Ademas seria poco eficiente para la red que se enviasen periodicamente anunciaciones por cada host De cualquier manera un host puede enviar un mensaje Neighbor Advertisement no solicitado cuando ve necesario actualizar la informacion de los vecinos en la red local Por ejemplo cuando se reemplaza la tarjeta de red de un equipo cambiara su direccion MAC se podra enviar un mensaje Neighbor Advertisement para que los vecinos actualicen la direccion MAC en su cache Neighbor Unreachability Detection and the Neighbor Cache Deteccion de vecinos inalcanzables y la cache de los vecinos Los mensajes Neighbor Solicitation y Neighbor Advertisement a menudo son asociados solamente con a la resolucion de direcciones pero tienen otros propositos tambien Uno de estos propositos es la deteccion de vecinos inalcanzables Cada dispositivo tiene informacion sobre sus vecinos y la actualiza dinamicamente segun las condiciones de la red van cambiando Esta informacion es guardada ya sea para un host o para un enrutador de la red El hecho de saber cuando un dispositivo ya no es alcanzable es importante ya que un host debera adaptar su comportamiento de acuerdo a esto En caso de un host inalcanzable el dispositivo deberia esperar cierto periodo de tiempo antes de intentar enviar datagramas al host inalcanzable evitando asi inundar la red con repetidos intentos de envio En cambio el que un enrutador sea inalcanzable indica que el dispositivo tiene que buscar un nuevo enrutador para utilizar si existe alguna alternativa Cada host tiene una cache de vecinos donde guarda informacion sobre los dispositivos vecinos Cada vez que un host recibe un datagrama de un vecino sabra que el vecino es alcanzable en ese momento creandose asi una entrada en la cache para indicarlo Claro que cuanto mas tiempo pase desde que se ha recibido un datagrama de un vecino mayor es la posibilidad de que algo ocurrido para que el vecino ya no sea alcanzable Por esta razon la informacion de cache debe ser considerada temporal Cada vez que un vecino es anotado en la cache como alcanzable se inicia un contador Cuando el tiempo termina la alcanzabilidad de cierto vecino es considerada antigua y por lo tanto no se asume que el vecino siga estando disponible Cuando se recibe de nuevo un datagrama del vecino cuya informacion ha caducado el contador es reiniciado indicando asi que el vecino es alcanzable de nuevo El tiempo que un vecino deberia ser considerado alcanzable es comunicado en los mensajes Router Advertisement Es posible que un host necesite saber si un vecino sigue estando alcanzable para esto se mandara un Neighbor Solicitation esperando un Neighbor Advertisement actualizandose la informacion en la cache Duplicate Address Detection Deteccion de direcciones duplicadas Cuando un host utiliza el proceso automatico de configuracion IPv6 uno de los pasos a realizar es asegurarse de que la direccion que se a a utilizar ya existe en la red Esto se hace enviando un mensaje Neighbor Solicitation a la direccion que se pretende comprobar SI se recibe un mensaje Neighbor Advertisement eso significa que la direccion ya se esta usando Funcionalidad de redireccion EditarUna de las mayores responsabilidades de Neighbor Discovery es la de la funcion de redireccion Es utilizada por un enrutador para informar a un host de una mejor ruta para enviar los datagramas a un destino concreto Los enrutadores son responsables de detectar situaciones en las cuales un host de la red local ha tomado una decision ineficaz de encaminamiento para el primer salto y debe actuar para corregir esto Por ejemplo considerese una red que esta formada por dos enrutadores R1 y R2 Un host A quiere enviar un datagrama al dispositivo B de otra red que esta conectada a A a traves del enrutador R2 Si A envia un datagrama a R1 R1 sabra que tiene que pasar por R2 y por lo tanto se lo enviara Viendo que R2 tambien estaba en la red local R1 se da cuenta de que A ha tomado una mala decision ya que el datagrama tenia que haber sido enviado directamente al enrutador R2 no a R1 Como respuesta R1 creara un mensaje Redirect Este mensaje le indicara a A que cualquier datagrama con ese destino debera ser enviado a traves de R2 Solamente los enrutadores enviaran mensajes Redirect Los hosts son responsables de esperar estos mensajes y cuando les lleguen procesarlos Cuando un host procesa la informacion de un mensaje Redirect actualizara su cache en de acuerdo a esto Tras generarse el menaje Redirect la transmision del datagrama va a continuar hasta el final El cambio de ruta que provocara el mensaje Redirect se vera reflejado en la ruta de los siguientes datagramas con el mismo destino Vease tambien EditarIPv6 ICMPv6 DHCPv6 MTUReferencias EditarIPv6 Router Advertisement Deep Dive Neighbor Discovery for IP version 6 IPv6 RFC4861 IPv6 Subnet Model The relationship between Link and Subnet Prefixes RFC5942 IP Version 6 Addressing Architecture RFC4291 Information About IPv6 Neighbor Discovery Cisco TCP IP IPv6 Neighbor Discovery Protocol ND IPv6 Atacando el Neighbor Discovery Neighbor Discovery para IPv6 Ataques y Contramedidas NDP Neighbor Discovery Protocol Datos Q1547947 Multimedia Neighbor Discovery Protocol Q1547947 Obtenido de https es wikipedia org w index php title Neighbor Discovery amp oldid 145806217, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos