
Explorando Protocol Independent Multicast
Posted by Juan in Recursos Educativos (Español) on Nov 13, 2017 10:29:08 AMDependiendo del ámbito para el que hayan sido diseñados, los protocolos de control Multicast se pueden dividir en host-router y router-router. Los protocolos host-router se usan en la señalización multicast entre los receptores y su FHR mientras que los protocolos router-router se encargan de la señalización necesaria entre routers para la construcción de Árboles de Distribución Multicast (MDT).
Los Árboles de Distribución Multicast (MDTs) tienen como objetivo la distribución de flujos de datos desde las fuentes multicast hacia los receptores y el MDT resultante depende del protocolo router-router empleado en su construcción. En la siguiente tabla se recogen los tipos de MDT.
Tipo MDT | Variante PIM | Notación | Raíz del Árbol | |
Source | SSM, SM | (S,G) | S | |
Shared | Unidirectional | SM | (*,G) | RP |
Bidirectional | BiDir |
La construcción de los árboles MDT es dinámica y responde a la necesidad de adaptar el árbol MDT a los receptores existentes en cada momento dentro de la red multicast.
PIM
Protocol Independent Multicast (PIM) se refiere al grupo de protocolos multicast que se usan en la construcción de árboles de distribución multicast (MDT) en una red.
El tipo de árbol MDT construido en una red para un grupo multicast viene determinado por el modo PIM seleccionado para ese grupo en función de las necesidades de negocio de la aplicación a la que sirve. En una misma red pueden coexistir distintos grupos multicast cada uno de ellos con un modo PIM diferente.
PIM es independiente del IGP de la red y no construye una tabla de enrutamiento multicast adicional. PIM se sirve de la tabla de enrutamiento unicast creada por el IGP para construir un árbol MDT sin loops mediante RPF y para reenviar el tráfico multicast a través de los interfaces identificados en la Outgoing Interface List (OIL).
Las tres variantes de PIM más comunes son PIM-SM, PIM-SSM y PIM-BiDir.
PIM-SM
PIM Sparse Mode (PIM-SM) puede usarse como solución multicast para los casos de uso muchos-a-muchos y uno-a-muchos en escenarios intra-dominio donde los requisitos de rendimiento no sean muy estrictos.
PIM-SM puede construir tanto shared trees (*,G) como source trees (S,G). La raíz del shared tree de un grupo multicast es siempre el RP mientras que la raíz del source tree es siempre la fuente del tráfico multicast. En este último caso, el RP es necesario para el descubrimiento de fuentes del grupo y como punto de referencia en la red al ser la raíz del shared tree.
Para el caso en el que el Shortest Path Tree (SPT) switchover esté deshabilitado, todo el tráfico multicast de las fuentes se enviará a los receptores a través de un shared tree. En este caso habrá source trees con raíz en las fuentes y con receptor el RP, y un shared tree (*,G) compartido entre los receptores y con raíz en el RP. En el plano de datos, el RP se sitúa entre las fuentes y los receptores.
Si el SPT switchover está activado, una vez conocidas las fuentes de un determinado grupo G, los FHR podrán construir un MDT más óptimo hacia la fuente enviando mensajes PIM Join(S,G). En este caso, el RP no se encuentra en el plano de datos y sólo actúa como punto de registro de fuentes y como punto de encuentro entre fuentes y receptores.
Para construir árboles multicast sin loops, PIM-SM usa la tabla de enrutamiento creada por el IGP y calcula el RPF para las fuentes (source tree) y para el RP (shared tree).
Para evitar el duplicado de datos y el gasto innecesario de ancho de banda, se elige un Designated Router (DR) en cada segmento de red con más de dos dispositivos. El DR será el encargado de enviar los mensajes Join/Prune en respuesta a los mensajes MLD Report.
PIM-SSM
PIM Specific Source Multicast (PIM-SSM) asegura una solución multicast óptima para el caso de uso uno-a-muchos tanto en escenarios intra-dominio como inter-dominio.
Se trata de una versión más simple de PIM-SM. PIM-SSM sólo construye source trees (S,G) y no necesita el RP para la construcción del MDT, sólo la dirección facilitada por la aplicación multicast.
El tráfico multicast enviado por una fuente S a un grupo G sólo se entregará a aquellos receptores que previamente hayan mostrado (mediante un mensaje Join(S,G)) su interés en recibirlo. Esta característica mejora tanto el uso del ancho de banda como la seguridad al no enviarse los datos emitidos por aquellas fuentes que no hayan sido previamente solicitadas por los receptores del grupo.
PIM-SSM permite la selección de fuentes dentro de un grupo (S,G). En este caso es necesario MLDv2 para que los receptores sean capaces de señalizar su interés en recibir los datos de un determinado grupo de fuentes (S,G).
PIM-BiDir
PIM Bidirectional (PIM-BiDir) asegura una solución multicast óptima para el caso de uso muchos-a-muchos en escenarios intra-dominio.
En esta versión de PIM sólo se construyen bidirectional shared trees con raíz en el RP. Es importante destacar que, en este caso, el tráfico multicast se envía por el shared tree (*,G) hacia el RP y posteriormente se reenvía por el árbol en dirección a los receptores interesados.
PIM-BiDir necesita un RP virtual para poder construir el MDT bidireccional. Los dispositivos (routers) dentro del dominio multicast usarán la dirección IP del RP como dirección de la raíz del bidirectional shared tree. En el modelo de distribución BiDir el RP no lleva a cabo ni el descubrimiento ni el registro de las fuentes del grupo y, como su nombre indica, actúa simplemente como un RP virtual.
En este caso el algoritmo RPF no se puede usar en la construcción del MDT. Para evitar la existencia de loops en el árbol multicast es necesario elegir un Designated Forwarded (DF) en cada segmento de red compartido. El DF será el encargado de reenviar el tráfico multicast para ese segmento.
Elección del modo PIM
El modo PIM elegido para cada grupo dependerá del caso de uso de la aplicación multicast a la que sirve y de sus requisitos de negocio. Una vez elegido el modo PIM se podrán identificar otros requisitos necesarios para la implementación de la solución multicast como pueden ser la versión de MLD o la ingeniería de RP.
Nivel de optimización | Requisitos de aplicación | Protocolo Router-Router | RP | Protocolo Host-Router |
Potencialmente Sub-óptimo | 1-M | PIM-SM | Sí | MLDv1 |
M-M | ||||
Óptimo | 1-M | PIM-SSM | No | MLDv2 |
M-M | PIM-BiDir | Virtual RP | MLDv1 |
Resumen
En esta tabla se comparan los aspectos de diseño más relevantes de las versiones de PIM más comunes.
. | PIM-SM | PIM-SSM | PIM-BiDir |
Caso de uso | Uno-a-muchos Muchos-a-muchos | Uno-a-muchos | Muchos-a-muchos |
Dominio | Intra-dominio | Intra-dominio Inter-dominio | Intra-dominio |
Árbol | Shared (*,G) Source (S,G) | Source (S,G) | Shared (*,G) |
RP | Necesario para el descubrimiento de fuentes | No necesario | Necesario como raíz del árbol |
Raíz del árbol | Shared tree - RP Source tree - FHR | FHR | RP |
Escalabilidad | Medio a Bajo | Bajo | Alto |
Estado | Medio a Alto | Alto | Bajo |
Seguridad | Bajo | Medio | Bajo |
Eficiencia | Potencialmente sub-óptimo | Óptimo | Óptimo |
Simplicidad | Low | Medio | Medio |
Mecanismo evitar loops | RPF | RPF | Designated Forwarder |
Retardo | Medio a Bajo | Bajo | Alto |
Comments