1.28. Protocolo NDP

En esta clase exploremos un protocolo clave para el funcionamiento de IPv6, estamos hablando del Protocolo Neighbor Discovery Protocol (NDP).

Funciones principales del Protocolo NDP

El protocolo NDP tiene varias funciones esenciales, comenzando por la Autoconfiguración. Esta función ya la vimos en clases anteriores, es básicamente el mecanismo Stateless Address Autoconfiguration (SLAAC), que permite a los dispositivos obtener automáticamente sus parámetros de direccionamiento IPv6 sin necesidad de implementar un servidor DHCP. Con SLAAC, los dispositivos pueden recibir de forma automática, valores como el prefijo, tamaño de prefijo y Gateway.

Después tenemos la función de Router Discovery, que se utiliza para localizar a los routers que se encuentran en la red local; por ejemplo, esto sirve para conocer el direccionamiento IPv6 que se utiliza en el segmento local. También está la función de Duplicate Address Detection (DAD), que se encarga de verificar que no existan direcciones IP duplicadas en la red. Finalmente, tenemos la función de Neighbor MAC Discovery o Address Resolution, que reemplaza al protocolo ARP en IPv4; esta función permite que los dispositivos descubran la dirección de capa 2 que tiene un host, utilizando su dirección IPv6.

Mensajes ICMP utilizados por el protocolo NDP

Para lograr el cumplimiento de estas funciones, NDP utiliza 4 tipos de mensajes ICMP exclusivos de IPv6:

  • Neighbor Solicitation (NS) (Type 135 – Code 0)
  • Neighbor Advertisement (NA) (Type 136 – Code 0)
  • Router Solicitation (RS) (Type 133 – Code 0)
  • Router Advertisement (RA) (Type 134 – Code 0)

Estos mensajes son claves para entender cómo funciona el protocolo NDP, y por otro lado, es necesario que memoricen los valores de Type y Code de dichos mensajes, que de ellos pueden ser evaluados en el examen. Dicho esto, vayamos a desarrollar las funciones a mayor detalle.

Autoconfiguración y Router Discovery

Las funciones de Autoconfiguracion y Router Discovery van de la mano. Su objetivo principal es que un host se configure con una dirección IP sin depender de un servidor DHCP.
Si hablamos solamente de Router Discovery, esta función nos sirve para comunicarnos con todos los routers en una red o subred local, de manera que los dispositivos puedan aprender el direccionamiento que se está utilizando. Para este propósito se utilizan los mensajes ICMP que ya conocen: ICMPv6 Router Solicitation, que es enviado a todos los routers en la red o subred, a la dirección multicast FF02::2; y el mensaje ICMPv6 Router Advertisement, que es enviado a todos los hosts que tengan activado IPv6 en la red o subred, a la dirección multicast FF02::1.

Trabajemos un momento con la siguiente topología para explicar dicha función, supongamos que la PC_A necesita comunicarse con redes fuera de su red local. Al principio, PC_A solo tiene una dirección Link-Local que se genera automáticamente, pero esta dirección no le sirve para comunicarse con otras redes ajenas a su red local; necesita una dirección Global Unicast. Para este propósito la PCA_A genera un mensaje Router Solicitation (RS) que se dirige a todos los routers en su red, diciendo: “¡por favor todos los routers, identifíquense y mándeme sus datos IPv6!”. Este mensaje se envía desde la dirección Link-Local de la PC_A, a la dirección multicast FF02::2.



Una vez que el router recibe el mensaje, lo procesa, e inmediatamente responde con un mensaje Router Advertisement (RA) como vemos en la siguiente topología.

En este caso, el mensaje se envía desde la dirección Link-Local del router (a pesar que ya tenga configurada una dirección Global Unicast), a la dirección Link-Local de la PC_A. Este mensaje contiene datos como los siguientes:

  • Prefijo: 2001:DB8:ACAD:1234
  • Tamaño de prefijo: /64
Con dichos datos, la computadora completa la creación de la dirección Global Unicast, generando el valor de Interface ID con el método aleatorio, o con el método Modified EUI-64.



Una vez tiene su nueva dirección IPv6, la PC_A ya puede comunicarse con otros dispositivos que no están en su misma red local. Este proceso de Autoconfiguración, donde un dispositivo crea su dirección Global Unicast utilizando datos recibidos por Router Discovery, es SLAAC.

Nota: Los routers pueden enviar mensajes RA por defecto cada 200 segundos en dispositivos Cisco, incluso si no se los ha solicitado. Estos mensajes van dirigidos a todos los hosts IPv6 de la red a través de la dirección multicast “All IPv6-host” FF02::1, ¿Te suena a algo? ¡Es muy parecido a los broadcasts en IPv4! Los mensajes RS solo llegan a los routers y los mensajes RA a todos los dispositivos IPv6.

 
logo
SI QUIERES DISFRUTAR DE ESTE CONTENIDO, TE INVITAMOS A QUE TE SUSCRIBAS.

Nota: Lastimosamente el contenido completo solo está disponible para miembros… por favor suscríbete

PREGUNTAS!

Las preguntas que encontraras en esta sección, son similares a las que te encontraras en el examen de certificación.

Paso 1 de 2

  • Este campo está oculto cuando se visualiza el formulario

¡PARTICIPEMOS!

Si te quedaron dudas de la lección, escríbela a continuación y así todos podemos participar y ayudarte.
¿Quieres participar en los debates?… por favor suscríbete

NUESTROS CURSOS Foros Protocolo NDP – Debate Clase

Viendo 15 entradas - de la 1 a la 15 (de un total de 18)
  • Autor
    Entradas
  • #11129
    AdminNG
    Superadministrador
    #19456
    Ricardo Casillas
    Participante

    Hola Alvaro
    Me quedo la duda si el protocolo ARP es exclusivo para IPV4 y NDP para IPV6?

    También me gustaría entender el contexto del siguiente punto:
    Neighbor MAC Discover
    Obtener una dirección de capa 2 en base a una dirección de capa 3.

    A que se refiere esto?

    Gracias de antemano.

    #19484
    AlvaroM
    Superadministrador

    Hola Ricardo!

    Efectivamente el protocolo ARP es solo para IPv4 y NDP es para IPv6, sin embargo ambos protocolos cumplen la misma función.

    Entender los protocolos ARP/NDP, es una de las cosas FUNDAMENTALES que tienes hacer para comprender el funcionamiento de una red de computadoras, si te saltaste la lección de ARP por favor vuelve a verla! Es importantísimo que conozcas de memoria a este protocolo.

    Ambos protocolos NDP o ARP, permiten obtener una dirección de capa 2 en base a una dirección de capa 3. Esto significa que ambos protocolos permiten obtener una dirección MAC en base a una dirección IPv4/IPv6.

    Recuerda que en la comunicación de las redes de computadoras, generalmente CONOCEMOS las direcciones IPv4/IPv6 de los dispositivos de destino, pero no conocemos las direcciones MAC de los dispositivos de destino.

    Si la PCA quiere comunicarse con la PCB y ambas PCs se encuentran directamente conectadas, ¿qué va pasar?… la PCA necesita construir una trama para enviar los datos a la PCB no es cierto?… si analizas los headers que vas a construir con el modelo TCP/IP… el único dato que no lo tienes es la dirección MAC de destino de la trama. Para obtener la dirección MAC (dirección de capa 2), es que se utiliza al protocolo ARP/NDP. Estos protocolos trabajan con la dirección IP de destino del paquete, gritan en toda la red: «Quien tenga esta dirección de CAPA 3 (IP), por favor responder con su dirección de CAPA 2 (MAC). En este caso la PCB va reconocer su dirección IP y va devolver una respuesta a la PCA indicando que EL es el dueño de esa IP y va facilitar su dirección MAC para que la PCA pueda construir su trama y así comunicarse en la red.

    Tal vez tienes una duda más específica?… no estoy seguro si con esto he resuelto tu consulta!

    Estoy atento a tus comentarios.

    Saludos cordiales

    • Esta respuesta fue modificada hace 5 años, 4 meses por AlvaroM.
    • Esta respuesta fue modificada hace 5 años, 4 meses por AlvaroM.
    #19745

    Hola Alvaro

    En lo que llevo del curso estoy entendiendo muchos temas que antes no tenia dominados, pero en lo que respecta a ipv6 me cuesta un poco dominar todos los conceptos, sobre todo porque trabajamos en mayor parte con ipv4, mi pregunta es ¿Que tan necesario es dominar el tema de ipv6 para el examen de certificación?, esto para poner mayor empeño en dominar ipv6.

    Saludos.

    #19771
    AlvaroM
    Superadministrador

    Hola Roberto!

    La verdad en la actualidad (13 de Agosto) NO hay muchas preguntas en el examen que sean de IPv6, sin embargo esto puede cambiar en cualquier momento. Cisco constantemente está actualizando las preguntas del examen. Puede ser que el día que tú rindas el examen, se les ocurra introducir 10 preguntas de IPv6. Lamentablemente nos guste o NO, IPv6 ES UN REQUERIMIENTO de estudio para el examen CCNA y por lo tanto debemos dominar estos conceptos.
    Por otro lado, ten en cuenta que eventualmente vamos a migrar a redes de computadoras que utilicen IPv6, es lo mejor que te esfuerces un poco en estos temas, y así estarás preparado para el futuro y para cualquier pregunta del examen.

    Si tienes alguna dificultad sobre IPv6 colócala en el foro y la analizamos!! La idea es que todo quede claro! =D

    Estoy atento a tus comentarios.

    Saludos cordiales.

    #20690
    oscar Ivan
    Participante

    Hola estimado Alvaro,

    Una consulta, para que el proceso de autoconfiguration para obtener los valores de prefijo y longitud del prefijo y Gateway se pueda dar en una computadora. Necesariamente tiene que el router tener configurada una direccion IPv6 global unicast en su interface, o solamente habilitando el protocolo ipv6 con el comando que nos mencionaste: «ipv6 unicast-routing»

    #20743
    AlvaroM
    Superadministrador

    Hola Oscar!

    El Router debe tener configurada una dirección IPv6 Global Unicast en su interface, de lo contrario no existiría un prefijo para entregar al cliente, ni tampoco existiría un tamaño de prefijo.

    Estoy atento a tus comentarios.

    Saludos cordiales.

    #22096

    Buenas noches estimado, me parece que se sobre entiende, pero NDP sería un protocolo de capa 2?

    #22097

    En especifico mi pregunta sería, con NDP podemos obtener la dirección MAC del host al cual queremos llegar, pero para armar la trama, necesitamos la dirección MAC de destino, esta sería una mac broadcast ff:ff:ff:ff:ff:ff?…. la estructura de la trama sería HeaderEthernet – NDP – Trailer?

    #22104
    AlvaroM
    Superadministrador

    Hola Javier!

    NDP es un mensaje que combina funciones del protocolo ARP e ICMP en IPv4. Formalmente es un tipo de mensaje ICMPv6, es como en IPv4 tenemos el ICMP Echo Request y el ICMP Echo reply, en IPv6… NDP es un tipo de mensaje ICMPv6. Esto quiere decir que al ser un tipo de mensaje ICMPv6, este mensaje está encapsulado por un header IPv6, y después por un Header Ethernet.

    La estructura sería algo así:

    Header Ethernet -> Header IPv6 -> Header ICMPv6 (NDP) -> Trailer Ethernet

    Respecto a tu consulta sobre la dirección MAC de destino, recuerda que en IPv6 no existe la dirección Broadcast, los paquetes se están enviando a la IPv6 Multicast FF02, por lo tanto la dirección MAC, es una dirección MAC correspondiente a esa dirección IPv6 Multicast, las direcciones MAC para enviar paquetes IPv6 multicast están en el rango 33-33-00-00-00-00 hasta el 33-33-FF-FF-FF-FF… los últimos 8 valores hexadecimales son derivados de los últimos 32 bits de la dirección IPv6 de destino, básicamente copias los últimos 8 valores hexadecimales de la dirección IPv6 de destino a los últimos 8 valores de la dirección MAC… y esa es tu dirección MAC de destino de la trama. Si por ejemplo tu dirección de destino es la IP (de la clase) FF02:0:0:0:0:1:ff50:44cd, la dirección MAC de destino de la trama sería la 33-33-ff-50-44-cd.

    Esta es una pregunta interesante, armaremos una clase para despejar estas dudas. Sin embargo, espero que con mi explicación te haya quedado claro.

    Estoy atento a tus comentarios.

    Saludos cordiales

    • Esta respuesta fue modificada hace 5 años, 1 mes por AlvaroM.
    #24641
    Hebert Delgadillo
    Participante

    Buenas noches..
    Para la «Duplicate Address Detection», como saben las computadoras vecinas que deben procesar el mensaje?, Todas las computadoras procesan los paquetes de una solicited node multicast? y si es asi xq no enviarla a la dirección FF02::1?

    #24658
    AlvaroM
    Superadministrador

    Hola Hebert!

    Cada vez que creas una dirección IPv6 Unicast, automáticamente el dispositivo crea la correspondiente dirección Solicited Node Multicast e ingresa a ese grupo multicast, es así como un dispositivo recibe y procesa un paquete destinado a esa dirección IPv6 de destino FF02:0:0:0:0:1:XXXX:XXXX… si tú creas 2 direcciones IPv6 unicast, tendrás 2 direcciones IPv6 Solicited Node Multicast. Otra computadora que tenga otra dirección IPv6 tendrá otra dirección Solicited Node Multicast diferente y por ende pertenecerá a otro grupo multicast diferente, por lo tanto esto quiere decir que no todos los dispositivos «escucharan» en la misma dirección multicast y descartaran de manera rápida paquetes que no les interesan. Si utilizaríamos FF02::1 todos los dispositivos estarían obligados a procesar el paquete.

    Espero que ahora quede claro.

    Atento a tus comentarios.

    #24662
    Hebert Delgadillo
    Participante

    Buenos días Alvaro..
    Esto va ser largo.
    Antes que nada gracias por la explicación anterior, me quedó clarísimo.
    Mi pregunta es: No deberia en la capa 2 la direccion MAC de destino ser la FF:FF:FF:FF:FF:FF (para el mensaje Neighbor solicitation)?, lei una pregunta parecida arriba y decia que para FF02:0:0:0:0:1:ff50:44cd, la dirección MAC de destino de la trama sería la 33-33-ff-50-44-cd, y puedo asumir que un dispositivo al ver 33-33 al inicio ya sabe que es una «MAC multicast» que posiblemente es para el y al ver 33-33-ff-50-44-cd sabra que debe procesarla, y como podria armar un host esa direccion si aun no sabe la direccion MAC de destino?

    #24663
    Hebert Delgadillo
    Participante

    Algo mas..
    Porque en NDP MAC Discovery como direccion de destino tenemos a la direccion Solcited node multicast en vez de la direccion Link-local del router?

    #24687
    AlvaroM
    Superadministrador

    Hola Hebert!

    En primer lugar si 2 hosts tienen la misma dirección IPv6, eso significa que tendrán la misma dirección solicited multicast, ellos habrán ingresado a ese grupo multicast. Cada dirección multicast tiene su propia dirección MAC asociada; si 2 hosts tienen la misma dirección IPv6, eso quiere decir que «escucharan» y «procesaran» tramas a la misma dirección MAC. Entonces cuando el host A envíe un mensaje NS al host B, lo enviara a la dirección solicited node multicast y a la dirección MAC construida en base a esa dirección IPv6. Como el host B también tiene esa IPv6, aceptara y procesara la trama.

    En el caso que las tramas fueran enviadas a la dirección FF:FF:FF:FF:FF:FF, esto significa que TODOS los dispositivos tienen que procesar la trama hasta la capa 3, y esto quiere decir que se consumen ciclos de procesamiento del CPU. Al enviar las tramas a la dirección MAC multicast el procesamiento solo se realiza en la tarjeta Ethernet, y por lo tanto no se consumen ciclos de CPU del dispositivo.

    Respecto a tu segunda consulta, si tu utilizas la dirección link-local del router ¿qué dirección MAC utilizarías?… no tienes todavía una dirección MAC, ese es el propósito de NDP MAC discovery, es por ello que se utiliza la dirección multicast ya que utilizaras una MAC multicast a la cual estará escuchando el router, y por lo tanto le permite procesar los paquetes enviados por el host y así responder con su dirección MAC correspondiente a las direcciones IPv6 Unicast.

    Espero que ahora quede claro.

    Saludos! =)

Viendo 15 entradas - de la 1 a la 15 (de un total de 18)
  • Debes estar registrado para responder a este debate.