Como funciona ICMPv6?

andre

Ing Informática

Seguimos hablando de IPv6, hoy tocaremos el tema de ICMPv6, haremos algunas pruebas para seguir paso a paso como funciona este protocolo de mensajes de control dentro IPV6, tomaremos capturas de arranque tanto en Windows como en Linux, usaremos Wireshark para las capturas de arranque y utilizaremos maquinas virtuales para facilitarnos las cosas. Haremos algunas pruebas para seguir paso a paso como funciona este protocolo de mensajes de control dentro IPV6 Para el análisis de uso de ICMPv6 se utilizara 2 maquinas virtuales, que tiene instalado el sistema operativo windows y linux respectivamente y se analizara el trafico capturado en el arranque de las maquinas y se realizaran unas pruebas de ping para analizar su respectivo trafico.


Captura de arranque de Linux:

            Como se sabe VMware por defecto crea 2 redes virtuales, una en modo NAT que no es más que una interfaz virtual por software que funciona en modo switch, donde se puede conectar multitud de máquinas virtuales que harán NAT con tu interfaz de red física, la ethernet la maquina local. En este sentido se Capturo tráfico desde wireshark se configuro las opciones de wireshark la interfaz en Vmnet8 (red virtual).

            Antes de explicar el trafico es conveniente hacerse esta pregunta: ¿Para qué sirve ICMPv6?, pues el propósito de este protocolo es permitir que cada router IPv6 descubra la presencia de los oyentes de multidifusión (multicast) en sus enlaces directamente conectados y para determinar específicamente qué direcciones de multidifusión son de interés para los nodos.

            Luego despues de verificar que la red virtual existe se procede a capturar el tráfico en wireshark

 Capture->start y seguido a esto arrancamos la maquina virtual de Linux se capturo lo siguiente.

Captura wireshark
Captura wireshark

Para indagar en ICMPv6 se realizo un filtro de trafico con este tipo, solo colocamos en el campo "Filter" ICMPv6:

Filto ICMPv6 en wireshark
Filto ICMPv6 en wireshark

Se ven 6 mensajes en el siguiente orden:

                        1.- Multicast Listener Report Message V2.

                        2.- Neighbor solicitation.

                        3.- Router Solicitation.

                        4.- Multicast Listener Report Message v2.

                        5.- Router Solicitation. 

Vamos a explicar uno por uno:

Primer Mensaje: “Multicast Listener Report Message v2”

Multicast Listener report message v2
Multicast Listener report message v2

En el campo tipo de ICMPv6 tiene 8bits y el tipo 143 pertenece a Multicast Listener Report Message v2:

Tipo: 143
RFC: 3810

Estos mensajes son enviados a todos los nodos para reportar (a router vecinos) el estado actual de  los escuchas de multidifusión o para cambiar el estado de los mismos, o de  sus interfaces. 

Segundo Mensaje: “Neighbor Solicitacion”

Neighbor Solicitacion
Neighbor Solicitacion

Posiblemente, las adiciones más importantes para el protocolo de descubrimiento de vecinos son las funciones que formalizan el intercambio de parámetros y los métodos para determinar la existencia de los host vecinos. Estas tareas incluyen el nuevo método de resolución de direcciones en IPv6, así como los procesos de determinación del siguiente salto y la detección de inaccesibilidad vecino. Requieren el uso de dos mensajes ICMPv6: el Neighbor Solicitation y el Neighbor Advertisement message.

  El mensaje de solicitud de vecino (Neighbor Solicitation) permite que un dispositivo comprube que un vecino existe y es accesible, y para iniciar la resolución de direcciones. El Neighbor Advertisement message confirma la existencia de un host o router, y también proporciona la capa de información de la dirección cuando sea necesario. Como se puede ver, estos dos mensajes son comparables a los anuncios del router y mensajes de solicitud de enrutador, pero se utilizan de forma diferente e incluyen parámetros diferentes. Tipo de Mensaje: 135, RFC: 2461.

Tercer Mensaje: “Router Solocitation”

Router Solocitation
Router Solocitation

Campo Tipo de Mensaje ICMPv6: 133, RFC: 2461.

Los host envían este tipo de mensaje para pedir a los routers que generen Router Advertisements o Advertencias de Router rápidamente.

Captura de arranque de Windows:

Se siguió el mismo procedimiento de captura que se realizo anteriormente con la maquina virtual de Linux. Wireshark se configuro con la interfaz Vmnet8 y procedió arrancar la maquina  virtual de Windows y se capturo el siguiente tráfico:

Arranque linux
Arranque linux

Interesante se puede verificar a simple  vista algunas diferencias en cuanto la secuencia del descubrimiento de vecinos respecto a Linux y al uso de tipos de mensajes ICMPv6.

Primer Mensaje: “Multicast Listener Report”.

Multicast Listener Report (Windows)
Multicast Listener Report (Windows)

Enviado por un host cuando se une a un grupo de multidifusión, o en respuesta a la MLD de escucha de multidifusión de consulta enviada por un router. RFC 2710, Valor en el campo tipo de ICMPv6 131.

Segundo Mensaje: “Router Solicitation”.

Router Solicitation (Windows)
Router Solicitation (Windows)

Campo Tipo de Mensaje ICMPv6: 133, RFC: 2461.

Los host envían este tipo de mensaje para pedir a los routers que generen Router Advertisements o Advertencias de Router rápidamente.

Tercer Mensaje: “Neighbor Solicitation”:

Neighbor Solicitation. ICMPv6 (Windows)
Neighbor Solicitation. ICMPv6 (Windows)

Solicitud de vecinos se explico en la captura de Linux podemos ver que es muy parecido los protocolos en los diferentes sistemas operativos. Si tienen alguna duda no duden en comentar la entrada y hacemos un feedback de este grandioso protocolo. Nos vemos en la proxima ;)