Consideraciones de Diseno de Multicast Source Discovery Protocol

Multicast Source Discovery Protocol (MSDP) es un protocolo diseñado para resolver la interconexión entre múltiples dominios PIM-SM y tiene como objetivo proporcionar un mecanismo que permita a un determinado dominio de distribución multicast descubrir las fuentes multicast activas existentes en otros dominios multicast.

 

El protocolo MSDP es fundamental en una solución multicast de interconexión entre dominios aislados. El ámbito de aplicación de MSDP se limita al modelo ASM (donde el receptor se interesa por un determinado Grupo de distribución multicast sin especificar una fuente en concreto) con PIM-SM como protocolo de enrutamiento. Es una solución de diseño para entornos IPv4 del que, actualmente, no existe una versión equivalente para IPv6.

 

Arquitectura

 

Después de un breve análisis del problema resuelto por MSDP y de un ejemplo de aplicación de MSDP se detallarán las consideraciones de diseño más importantes que deben tenerse en cuenta a la hora de plantear una solución con MSDP.

 

En el modelo ASM con PIM-SM, el Designated Router (DR) del segmento en el que se encuentra el Receptor envía mensajes Join en la dirección del Rendezvous Point (RP) en respuesta a los mensajes del Receptor interesándose en recibir información de un determinado grupo G. Este proceso termina con la construcción de un Shared Tree (*,G) con raíz en el RP. Cuando la fuente comienza a transmitir, el DR asociado al segmento en el que se encuentra interconectada comienza el proceso de registro contra el RP asignado, comunicándole al RP su presencia y comenzando el proceso de distribución de tráfico multicast, que fluye hacia los receptores utilizando el Shared Tree construido previamente. Lo importante de esta descripción es que el RP es el punto central del dominio multicast PIM-SM que obtiene información de los receptores interesados en recibir tráfico de determinados grupos y de las fuentes multicast en estado activo.

 

Por diversos motivos de diseño, funcionalidad u operatividad, los administradores de la red podrían decidir dividir un único dominio de distribución multicast en dos dominios PIM-SM. Una vez que se realiza el proceso de división, los RP de los dos dominios se encontrarán aislados el uno del otro y no tendrán acceso a la información correspondiente a las fuentes (y receptores) del otro dominio. MSDP resuelve el problema del descubrimiento de fuente entre dominios multicast aislados.

 

La figura muestra dos dominios PIM-SM aislados, desplegados en dos Sistemas Autónomos (AS) distintos. En este tipo de diseños, MSDP puede ser útil para proporcionar una solución de interconexión multicast entre los dos dominios. Con MSDP, el RP podría descubrir las fuentes multicast activas presentes en el dominio remoto, habilitando la entrega de tráfico multicast a los receptores locales interesados en recibir dicha información.

 

 

mcast-msdp-example.png

 

 

Una explicación breve de los puntos marcados en la figura:

 

  1. 1. El Receptor se une a (*,G).
  2. 2. Comunicación MSDP levantada, con MBGP en paralelo para asegurarnos de que el RPF hacia el vecino MSDP se cumple satisfactoriamente.
  3. 3. Aparece una fuente, que se registra contra su RP local.
  4. 4. MSDP comparte la información acerca de sus fuentes activas (Source Active – SA) con los vecinos con los que se encuentra asociado a través de mensajes MSDP SA.
  5. 5. El RP remoto se une a la fuente (S,G) y comienza a entregar tráfico multicast a través del Shared Tree a los receptores interesados.
  6. 6. El FHR (First Hop Router) remoto, conectado al mismo segmento que el receptor, puede decidir unirse a la fuente (en caso de que el mecanismo SPT switchover se encuentre habilitado), resultando en un flujo de datos multicast óptimo entre fuente y receptor.

 

La asociación MSDP se establece entre routers para compartir información sobre fuentes multicast (TCP 639). Dicha asociación se configura habitualmente entre dispositivos con el rol de RP, aunque es posible que cualquier otro dispositivo sea configurado a tal efecto con el objeto de transmitir mensajes MSDP SA entre dominios.

 

Gracias a MSDP, se dispone de otras funcionalidades como Anycast RP que proporciona redundancia y reparto de carga a escenarios de alta disponibilidad. Básicamente, permite que varios RP en un mismo dominio compartan una misma dirección IP. Estableciendo asociaciones MSDP entre RP, las fuentes multicast se registran… y los receptores se unen… al RP más próximo, con lo que se obtiene un escenario de registro de fuente balanceado con reparto de carga y redundante.

 

Reglas RPF

 

Los equipos con funcionalidad MSDP deben realizar comprobaciones según unas determinadas reglas de Reverse Path Forwarding (RPF) para evitar que se produzcan bucles en los mensajes MSDP SA. Estas comprobaciones no son las mismas que las aplicadas para el tráfico multicast y los resultados pueden llegar a ser diferentes.

 

En determinados casos, la comprobación RPF de la asociación MSDP puede evitarse de forma segura, sin que ello implique la presencia de bucles. Estos casos son los siguientes (debe tenerse en cuenta que vecino no implica interconexión directa):

 

  • El vecino MSDP es el RP que origina el mensaje MSDP SA.
  • El vecino MSDP es miembro de un mesh-group (en este caso el receptor del mensaje no reenviará ese mensaje a ningún otro miembro del grupo).
  • El vecino MSDP ha sido configurado como el vecino ‘por defecto’.
  • El vecino MSDP es el único configurado.

 

Si se usa MSDP en combinación con MBGP, las siguientes reglas garantizan que la comprobación RPF se cumple satisfactoriamente y el mensaje puede ser aceptado y/o reenviado en su caso:

 

 

Emisor MSDP SA

Condición para pasar la comprobación RPF

Es un vecino iBGP

Dirección vecina MSDP == Dirección vecina BGP

Es un vecino eBGP

Primer AS en el camino al RP == AS vecino MSDP

No es un vecino BGP

Primer AS en el camino al RP == AS comunicada por el vecino MSDP

 

 

El orden de preferencia de las tablas de enrutamiento seguido en el cálculo RPF es el siguiente:

 

  1. 1. Mroute estáticas
  2. 2. MBGP
  3. 3. Unicast

 

La tabla de enrutamiento multicast (MRIB) siempre se consulta antes de la tabla de enrutamiento unicast (URIB). En caso de que no exista ruta alguna en ambas tablas al vecino MSDP, entonces la comprobación RPF contra el vecino MSDP fallará inevitablemente y el mensaje MSDP SA será descartado.

 

Mesh groups

 

Los mesh group MSDP ayudan a reducir el número de mensajes MSDP SA en circulación por la red. Es básicamente un mecanismo de optimización que ayuda a reducir la cantidad de tráfico de control redundante transportada por la red.

 

Los dispositivos MSDP en un mesh group se configuran en full-mesh y pueden ser miembros de uno o varios dominios de multicast, así como de diferentes AS.

 

La comprobación RPF para los miembros de un determinado grupo es ligeramente diferente que en el caso general. En el momento en el que se recibe el mensaje MSDP SA, se comprueba la dirección del vecino MSDP:

 

  • Si el vecino MSDP no pertenece al grupo, se realiza la comprobación RPF estándar. Si la comprobación es satisfactoria, se envía el mensaje a todos los miembros del grupo; en otro caso, se descarta el mensaje.
  • Si el vecino MSDP es un miembro del grupo, entonces se acepta el mensaje sin necesidad de comprobación (y no se reenvía el mensaje a ningún otro miembro del grupo).

 

Multicast Inter-dominio en el mismo AS

 

Es uno de los casos de uso más comunes de MSDP. Dos dominios multicast PIM-SM aislados administrativamente dentro del mismo AS.

 

 

mcast-msdp-same-as.png

 

En este escenario, como cada RP tiene un único vecino MSDP, la sesión IBGP empleada para realizar la comprobación RPF es opcional. Los mensajes MSDP SA son aceptados automáticamente sin necesidad de comprobación adicional (ver la sección de reglas RPF).

 

Multicast Inter-dominio entre distintos AS

 

En este caso la información de la fuente se encuentra distribuida entre diferentes dominios de multicast, alguno de ellos en el mismo AS y otros en AS remotos. En este caso es posible utilizar MBGP en paralelo con MSDP.

 

 

mcast-msdp-different-as.png

 

 

La implementación en paralelo de MSDP y MBGP asegura que la comprobación RPF se cumplirá con éxito.

 

Resumen

 

MSDP permite el descubrimiento de fuentes remotas y abre la posibilidad de segmentar en módulos y aislar dominios multicast que pueden estar distribuidos entre uno o varios sistemas autónomos. Algunas de las ventajas de diseño derivadas de MSDP:

  • Modularidad: es posible realizar un diseño modularizado de la red con múltiples dominios multicast PIM-SM, cada uno de ellos independiente del resto desde un punto de vista funcional. Como cada dominio multicast usa su propio RP, los receptores y fuentes locales de un dominio multicast funcionan de modo independiente al resto de dominios multicast de los que esté compuesta la red. El diseño modularizado y el aislamiento entre módulos es útil como método de contención de fallos. Los puntos de unión o control entre módulos ayudan a reducir el tiempo medio invertido en la resolución de fallos.
  • Seguridad: el administrador de red puede decidir si la información de fuentes de un dominio se comparte o no con otros dominios (dentro de su sistema autónomo o en sistemas autónomos externos).
  • Eficiencia: los receptores locales interesados en recibir tráfico destinado a un determinado grupo multicast dentro de su propio dominio pueden señalizar el interés en la recepción de ese grupo a su RP local. De este modo, el estado asociado a la distribución del tráfico multicast se mantiene bajo y distribuido entre los múltiples dominios multicast existentes.

 

Para terminar, aplicaciones como Anycast RP proporcionan funcionalidades de redundancia y reparto de carga. Al contrario que MSDP, Anycast RP se encuentra disponible para IPv4 e IPv6. En el caso de diseños IPv6, será necesario utilizar una extensión de PIM para emular la funcionalidad de MSDP.