Explorando Multicast Listener Discovery Version 2

La segunda versión de MLD le permite a los receptores unirse o dejar de recibir información enviada por una determinada fuente a un determinado grupo multicast. Con MLDv2 los receptores pueden señalizar a su FHR su interés en unirse o abandonar (S,G).

 

La versión 2 es compatible con la versión previa y permite también a los receptores unirse a grupos de los que se desconoce la fuente (*,G).

 

MLDv2 introduce el concepto de filtrado de fuente multicast, con dos modos de funcionamiento:

 

  • Modo INCLUDE: en este caso, el mensaje Multicast Listener (ML) incluye un conjunto de fuentes de las cuales el receptor tiene interés en escuchar.
  • Modo EXCLUDE: en este segundo caso, el mensaje ML incluye un conjunto de fuentes de las que el receptor no quiere recibir información. Tiene justo el significado contrario al del mensaje anterior.

 

El número de mensajes que maneja la versión 2 de MLD se reduce a dos tipos fundamentales. En este caso, la reducción en la cantidad de mensajes oculta una mayor complejidad funcional desde el punto de vista operativo.

 

El tipo ML Query introduce un nuevo mensaje denominado Multicast-Address-Source-Specific Query (MASS Query) y el ML Report ahora incorpora nuevos subtipos para cubrir toda la funcionalidad de selección de fuente y posibilitar el dinamismo necesario para las modificaciones en el conjunto de fuentes de interés:

 

  • ML Query: se envía para ejecutar General, MAS y MASS Queries.
  • ML Report: enviado en respuesta a General Queries, cambios en el modo de filtrado de fuente (Filter Mode) o cambios en el conjunto de fuentes de interés (Source List).

 

 

Tipo ICMP

Mensaje ML

Funcionalidad

IP Destino

Dirección multicast

Fuente

130

General Query

General Query

FF02::2

::/0

-

130

MAS Query

Specific Query

G

G

-

130

MASS Query

Specific Query

G

G

S

143

Report

Join/Leave Group

FF02::16

G

S (opcional)

 

 

En MLDv2, los receptores no realizan report suppression como en el caso de la versión anterior. Los receptores siempre envían ML Reports cuando reciben un MLD Query.

 

La dirección IP de destino en los mensajes ML Report pasa a ser FF02::16, una dirección reservada para todos los dispositivos compatibles con MLDv2. Este cambio mejora la eficiencia en el proceso de los mensajes de control de los dispositivos del segmento compartido y como consecuencia, la escalabilidad de la solución.

 

Filtrado de fuente

 

La funcionalidad más importante que incorpora la versión 2 de MLD es, sin duda alguna, el filtrado de fuente. Característica que permite a los receptores señalizar su interés (modo INCLUDE) o su no interés (modo EXCLUDE) en la recepción de la información enviada por un conjunto concreto de fuentes a un determinado grupo.

 

Cuando se utiliza el modo INCLUDE (IN), el receptor indica su interés en recibir información de un determinado conjunto de fuentes ({S},G). En este modo, el conjunto de fuentes no puede ser un conjunto vacío, y asimilándolo a una lista de acceso donde se permite tráfico de un conjunto de fuentes concreto, la lista contaría con un “deny any” al final de la lista. Este modo de operación es particularmente útil en combinación con SSM.

 

En modo EXCLUDE (EX), el receptor señaliza que no está interesado en recibir un conjunto de fuentes. En este caso, el conjunto señalizado puede ser un conjunto vacío y como en el caso anterior, si lo asimilamos a una lista de acceso, contaría con un “permit any” al final de la lista. Este modo es útil para excluir un conjunto vacío Ø de fuentes y recibir (*,G), siendo este el caso de uso típico del modelo ASM.

 

Los receptores pueden cambiar en cualquier momento de modo de operación de IN a EX, esto es particularmente útil en el caso de querer unirse o abandonar (*,G) en modos ASM.

 

Además, pueden permitir, mediante ALLOW (join), o bloquear, mediante BLOCK (leave), nuevas fuentes de manera dinámica. La selección dinámica de fuentes adicionales es útil para los modos SSM.

 

Cuando un receptor está interesado en unirse (join) a (*,G) o (S,G), envía un mensaje ML Report a su FHR señalizándolo.

 

mcast-mldv2-join.png

 

Cuando un receptor está interesado en abandonar (leave) (*,G) o (S,G), le envía un mensaje ML Report a su FHR con dicha indicación. En este caso, los parámetros del mensaje son diferentes que en el caso anterior.

 

mcast-mldv2-leave.png

 

A un informe de cambio de estado (state change report) debido a un cambio en el conjunto de fuentes le sigue un mensaje MASS Query. Este mensaje le permite al FHR averiguar si todavía existen receptores interesados en recibir (S,G).

 

 

mcast-mldv2-leave-s-g.png

 

En el caso de un informe de cambios debido a un cambio en el modo de filtrado (filter mode change), al mensaje de abandono de un determinado grupo (*,G) le sigue un mensaje MAS Query.

 

Las consultas genéricas (general queries) se usan del mismo modo que en la versión 1: para conocer qué receptores están interesados en grupos (*,G) o grupos y fuentes (S,G).

 

mcast-mldv2-general-query.png

 

MLD Snooping

 

En lugar de retransmitir la información multicast a través de todos los puertos o flooding, los switches pueden habilitar MLD Snooping para evitar el reenvío innecesario de tráfico multicast. Esta funcionalidad configura dinámicamente los puertos de nivel 2 de tal modo que los datos multicast se envían selectivamente por aquellos puertos donde hay receptores interesados en recibirlos.

 

Esta lista de puertos se construye escuchando la información IP de control multicast. Con MLDv2, todos los mensajes ML Report empleados por los receptores para la unión o abandono de grupos se envían a la dirección IP FF02::16, lo que facilita al dispositivo con funcionalidades de nivel 2 la identificación del estado asociado a cada puerto.