El documento describe el protocolo de enrutamiento PIM-DM (Protocol Independent Multicast Dense Mode). PIM-DM crea árboles de distribución inundando todo el dominio con tráfico multicast y luego podando las ramas sin receptores. Usa la tabla de enrutamiento unicast subyacente para inundar paquetes multicast a todos los enrutadores y mensajes de barrido para evitar propagarlos a enrutadores sin membresía de grupo. A diferencia de PIM-SM, reenvía tráfico multicast en todas las interfaces hasta que un enr
1. 1
Protocolo de enrutamiento PIM-DM
Redes de Computadores
Abad L. Freddy L.
Facultad de Ingeniería, Escuela de Informática
Universidad de Cuenca, Ecuador
freddy.abadl@ucuenca.ec
Abstract: The independent multicast protocol or, as
its acronym in English refer, Protocol Independent
Multicast, PIM, is a routing protocol that gives a
distribution tree structure among multicast clients
forming domains, these protocols are used to seek a
path among existing ones in a packet frame with
high connectivity topologies. This research seeks to
summarize the definitionof these routing protocols,
delving into the PIM-DM protocol. From the
definition we seek to understand how to route the
packets, their formats, communication, among
others, of this PIM-DM protocol.
Keywords: Router, PIM DM, protocol, prune,
internet
Resumen: El protocolo de multidifusión
independiente, (Protocol Independent Multicast-
PIM), es un protocolo de encaminamiento que da
una estructura de árbol de distribución entre los
clientes multicast formando dominios, estos
protocolos de enrutamiento se usan para buscar un
camino entre los existentes en una trama de
paquetes con topologías de gran conectividad. Esta
investigación busca resumir la definición de estos
protocolos de enrutamiento, ahondando en el
protocolo PIM-DM. A partir de la definición se
busca entender la manera de encaminar los
paquetes, los formatos de estos, la comunicación,
entre otros de este protocolo PIM-DM.
Palabras Claves: Router, PIM DM, protocolo,
prune, internet
I. INTRODUCCION
El protocolo de multidifusión independiente o como
sus siglas en ingles refieren, Protocol Independent
Multicast, PIM, es un protocolo de encaminamiento
que da una estructura de árbol de distribución entre los
clientes multicast formando dominios. estos son
usados para buscar un camino entre los existentes en
una trama de paquetes con topologías de gran
conectividad. Estos protocolos multicast
independientes tiene diferentes formatos, los más
frecuentemente usados son: PIM Sparse Mode o PIM-
SM y PIMDense Mode o PIM-DM. Cabe recalcarque
el “único protocolo de enrutamiento de multidifusión
totalmente compatible con dispositivos Cisco IOS es
PIM” [2].
El protocolo multicast independiente modo denso,
DM, es un protocolo de enrutamiento de multidifusion
donde muchos nodos se suscriben para recibir paquetes
multicast. Este protocolo crea árboles inundando de
tráfico multicast todo el dominio, asi posteriormente
poda las ramas sin receptores presentes. El protocolo
usa “la base de información de enrutamiento de
unidifusión subyacente para inundar datagramas de
multidifusión a todos los enrutadores de multidifusión.
Los mensajes de barrido se utilizan para evitar que los
mensajes futuros se propaguen a enrutadores sin
información de membresía de grupo” [1]. Asi este
protocolo independiente, depende 100% de la
información en la tabla de enrutamiento de
unidifusión, pero no importa si un protocolo de
enrutamiento de unidifusión lo lleno. A diferencia de
otros protocolos multicast como DVMRP y MOSPF,
los cuales llenan sus propias tablas.
Este protocolo se distingue de PIM-SM,ya que reenvia
el tráfico de multidifusión en todas las interfaces hasta
que un enrutador en sentido descendente pida que se
deje de enviar.
A. Objetivo General
Entender el protocolo PIM-DM su definición, formato
de paquetes de datos, comunicación y enrutamiento de
paquetes.
B. Conceptos Fundamentales
2. 2
Multicast Routing Information Base (MRIB), la cuales
una tabla de topología de multidifusión derivada de la
tabla de enrutamiento de unidifusión, o de protocolos
de enrutamiento como MBGP. PIM-DM
usa MRIB en la toma de decisiones de las interfaces
RPF.
Tree InformationBase(TIB) la cualalmacena el estado
de todas las multidifusión de arboles de distribución en
el enrutador.
Reverse Path Forwarding (RPF) elcuales un modo de
reenvío de multidifusión en el que se encuentra un
paquete de datos para el reenvío si se recibe en una
interfaz utilizada para llegar a la fuente en unicast. Esta
es una verificación adicional que ayuda a prevenir los
bucles de enrutamiento de multidifusión:
Cuando un enrutador recibe un paquete de
multidifusión, verificará la dirección IP de origen de
este paquete en la tabla de enrutamiento de unidifusión.
Verificará el siguiente salto y la interfaz saliente que
usamos para llegar a la fuente. Cuando se recibió el
paquete de multidifusión en la interfaz que usamos
para llegar a la fuente, la verificación de RPF tiene
éxito. Cuando el paquete de multidifusión se recibió en
otra interfaz, falla la comprobación de RPF y el
paquete se descarta.
UpstreamInterface es una interfaz hacia la fuente del
datagrama.
Downstream Interface, que agrupa las interfaces que
no son de interfaz ascendente,incluyendo alenrutador.
(S, G) Par, el cual implica la fuente S y grupo de
destino G asociado con un paquete IP.
II. ESTADO DEL ARTE
PIM-DMadmite que cuando una fuente inicia elenvio,
todos los sistemas descendentes desean recibir
datagramas multicast. Inicialmente, estos datagramas
se inundan en todas las áreas de la red. Asi PIM-DM
usa RPF para evitar el bucle de los datagramas de
multidifusión durante las inundaciones. Si algunas
áreas de la red no tienen miembros de grupo, PIM-DM
podará la rama de reenvío creando una instancia del
estado de la poda.
El estado de prune (ciruela) tiene una vida finita. Al
caducar la vida de estos, los datos volverán a enviarse
a la sucursal previamente eliminada. Asi el estado se
asocia con un par (S, G). Cuando aparece un miembro
nuevo para un grupo Gen un área podada, un enrutador
puede "injertar" hacia la fuente S para el grupo,
volviendo así la rama podada a una rama de reenvío.
Se puede definir como ciclo de inundación la
transmisión de datagramas seguida de poda de ramas
no deseadas y de poda y es típico de los protocolos de
modo denso. Para minimizar la inundación repetida y
la poda subsiguiente PIM-DM usa un mensaje de
actualización de estado. Este mensaje se envía a los
enrutadores conectados directamente a la fuente y se
propaga a través de la red. Cuando lo recibe un
enrutador en su interfaz RPF, el mensaje de
actualización de estado hace que se renueve un estado
de corte existente.
PIM-DM no está cableado en un protocolo de
descubrimiento de topología específico. Pero en
ocasiones en lugar de simplificar genera sobrecarga
por las inundaciones y podas en enlaces donde se
puede evitar si hubiera suficiente información de
topología disponible, donde se eligiria una sobrecarga
adicional a favor de la simplificación y flexibilidad
obtenida al no depender de un protocolo de
descubrimiento de topología específico.
La diferencia de PIM-DM con PIM-SM radica en :
1) No se transmiten uniones periódicas, solo
ciruelas(prunes) e injertos(grafts) activados
explícitamente.
2) No hay punto de encuentro, RP,o raíz de un árbol
de distribución de multidifusión compartida.
Usado generalmente en redes que no pueden
tolerar un solo punto de falla.
Figura 1: Metodo push de arboles basados en fuentes
La figura 1 evidencia como PIM-DM usa el método
push de arboles basados en fuentes. Por ejemplo, se
3. 3
tiene el servidor de video enviando un paquete
multicast hacia R1. Tan pronto como R1 reciba este
paquete multivas, creará una entrada en su tabla de
enrutamiento multicast donde almacenará la dirección
de origen y la dirección del grupo multicast.
Seguidamente, inundará el tráfico en todas sus
interfaces.
Otros enrutadores que reciben este paquete de
multidifusión repetirán la acción, el paquete de
multidifusión se inundará en todas sus interfaces.Estas
acciones causan algunos problemas, uno de los cuales
es que tendremos bucles de enrutamiento de
multidifusión.
En la figura 2, se puede ver que el paquete que recibe
R1 se reenvía a R2> R4> R5 y vuelve a R1 (y
viceversa).
Figura 2: Trafico Multicast
Cada enrutador que no esté interesado en el tráfico
multicast enviará una transferencia a su enrutador
ascendente, solicitando dejar de reenviarlo. El
enrutador en sentido ascendente (desde el que
recibimos el tráfico multicast); un enrutador en sentido
descendente (desde el que reenviamos el tráfico
multicast). Las flechas rojas arriba son los mensajes de
ciruela que enviarán los enrutadores. Hay un pa
Las razones por las cuales un enrutador puede enviar
un mensaje de transferencia:
Al no tener ningún servidor directamente
conectado que esté interesado en recibir el
tráfico de multidifusión.
Al no existir enrutadores en sentido
descendente interesados en recibir el tráfico de
multidifusión.
Al recibir tráfico en una interfaz que no es
RPF.
La figura 3, muestra el resultado final.
Figura 3: Resultado Final de inundación de R1 a R2,
R6, H1
Ya se tiene una buena topología limpia donde el tráfico
de multidifusión se inunda de R1 a R2> R6> H1.
Repitiendo la inundación y poda cada tres minutos.
Esta topología esllamada Arbol de distribución basado
en fuente o SPT (Árbol de ruta más corto) o a veces
también llamada el árbol fuente:
El árbol define la ruta de la fuente al
receptor(es).
La fuente es la raíz del árbol.
Los enrutadores intermedios que están
reenviando el tráfico son los nodos.
Las subredes con receptores son las ramas y
las hojas del árbol.
Dependiendo de los grupos de origen y / o
multidifusión que se use, es posible que se tenga más
de un árbol de fuentes en la red. Una vez que miramos
la configuración, verá que usamos la notación [S, G]
para referirnos a un árbol fuente en particular:
S: la dirección de origen.
G: la dirección del grupo de multidifusión.
Aplicación en un Router:
4. 4
Figura 4: Servidor de Video.
La figura 4 muestra un servidor de video en el lado
izquierdo que será la fuente del tráfico de
multidifusión. H2 y H3 son dos dispositivos host que
desean recibir el tráfico de multidifusión. R1, R2 y R3
se configurarán para usar el modo denso PIM.
Primero se configura un protocolo de enrutamiento en
todos los enrutadores (aplicamos por ejemplo, OSPF).
Todas las interfaces se anunciarán:
Figura 5: Configuracion de un protocolo de
enrutamiento en todos los enrutadores.
Ahora se procede a la configuración de multidifusión,
el cual está deshabilitado de forma predeterminada en
los enrutadores Cisco IOS, por lo que se debe habilitar.
Figura 6: Configuracion PIM.
La figura 6 muesta como se puede configurar PIM:
Figura 7: Habilitacion de PIM DM en la interfaz
Cuando se habilite PIM DM en la interfaz (Figura 7),
el enrutador comenzará a enviar paquetes de saludo
PIM. Esto es lo que se ve en WireShark:
Figura 8: Analisis por Wireshark
Se puede ver el tipo de paquete (hola) y el tiempo de
espera (1 en donde debería estar 105 segundos, debido
a la versión de Wireshark 2.0.1). Se procede a habilitar
PIM DM en R2 (Figura 9):
Figura 9: Habilitacion PIM DM en R2
Asi R1 y R2 se convierten en vecinos ya que recibirán
los paquetes de saludo PIM hola. Si continúan
recibiéndolos antes de que expire el temporizador de
espera, se seguirán viendo como vecinos de PIM.
Se habilitan todas las demas interfaces. También debe
habilitar PIM en las interfaces que se conectan a los
dispositivos host:
5. 5
Figura 10: Habilitacion de interfaces
Verificacion de los Routers que sean vecinos
Figura 11: Verificacion de vecindad entre Routers
Arriba se verifica que todos los enrutadores se han
convertido en vecinos PIM, con versión
predeterminada en Cisco IOSv2. La hora de caducidad
es el temporizador de espera que está realizando una
cuenta atrás. Cada vez que el enrutador recibe un
paquete de saludo PIM, se reiniciará a sí mismo a
00:01:45 (105 segundos). Las tablas de enrutamiento
multicast (Figura 12):
6. 6
Figura 12: Tablas de Enrutamiento Multicast
Se verifica que no existe ningún tráfico de
multidifusión, pero sí un grupo de multidifusión en las
tablas, 224.0.1.40.
Esto sucede ya que el modo disperso PIM usa un RP
(Punto de encuentro) y los enrutadores Cisco admiten
un protocolo llamado "Descubrimiento automático de
RP" para encontrar automáticamente el RP en la red.
Auto RP usa esta dirección de grupo de multidifusión,
224.0.1.40. Sin embargo, PIM-DM no usa RP, por lo
que los enrutadores no tienen razón para escuchar la
dirección del grupo 224.0.1.40. Por alguna razón, tan
pronto como habilite PIM, también se habilitará
autoRP y el enrutador escuchará esta dirección de
grupo. Puede ignorar esta entrada por completo cuando
trabaje con el modo denso PIM.
Si observa detenidamente, puede ver que ninguno de
los enrutadoresrecibe o reenvía tráfico para este grupo:
La interfaz entrante es nula.
La lista de interfaz saliente muestra detenido.
Para generar tráfico de multidifusión se debe
configurar uno de los hosts para unir a un grupo de
multidifusión. Para configurar H2 y unir 239.1.1.1 se
debe teclear los comandos de la figura 13.
Figura 13: Configuracion H2
Asi se tiene la tabla de enrutamiento de multidifusión
de R2 (Figura 14).
Figura 14: Tablas de Enrutamiento de Multidifusion
de R2
Donde aunque R2 ha creado una entrada *, 239.1.1.1
para el grupo de multidifusión 239.1.1.1, no recibe
tráfico para este grupo, por lo que no sabemos cuál es
la fuente y no podemos reenviar nada. Lo cual se
soluciona haciendo un ping (Figura 15) desde la
dirección del grupo de multidifusión.
Figura 15: Resultados Ping
7. 7
Donde se tiene una tabla de enrutamiento con trafico
(Figura 16):
Figura 16: Tabla de enrutamiento con trafico
Donde R1 está recibiendo tráfico de multidifusión para
239.1.1.1 desde 192.168.1.1 en su interfaz Gi0/3 y ha
agregado esta entrada en su tabla de enrutamiento de
multidifusión. Esta es la entrada [S, G].
R1 ha estado reenviando este tráfico durante un minuto
y 16 segundos en la interfaz Gi0/1. Cuando no reenvia
ningún paquete durante un minuto y 43 segundos, esta
entrada se eliminará de la tabla de enrutamiento de
multidifusión. Mientras se siga recibiendo paquetes,
este temporizador se restablecerá a tres minutos.
Las banderas T significa que estamos usando el árbol
fuente de ruta más corta.
El vecino RPF para R1 es 0.0.0.0, este valor está vacío
ya que es una interfaz directamente conectada.
R1 está reenviando el tráfico en su interfaz Gi0/1 que
está conectada a R2. Ha estado haciendo esto durante
un minuto y 16 segundos y no hay vencimiento.
Seguirá haciendo esto hasta que se pode.
R1 ha detenido el tráfico de reenvío en su interfaz Gi0
/ 2, ya que está desactivado.
Como R3 no está interesado en recibir este tráfico
multicast y ha enviado un mensaje prune a R1,
pidiéndole que deje de reenviar este tráfico. Esto es lo
que parece este mensaje de ciruela:
Figura 17: Mensaje Ciruela
Donde el paquete fue enviado por R3 (192.168.13.3) y
destinado a 224.0.0.13 (PIM versión 2).
PIM usa un solo paquete para unir y podar los
mensajes, en este paquete podemos ver que R3 solicita
una prune para 239.1.1.1 de 192.168.1.1. Este paquete
está destinado a 192.168.13.1.
En la versión 1 de PIM, una interfaz sería eliminada
por tres minutos. Después de estos tres minutos, el
tráfico se reenviará nuevamente hasta que enviemos
otro mensaje de transferencia. Este comportamiento de
"inundación y poda" es bastante ineficiente, por lo que
en la versión 2 de PIM utiliza algo llamado
"actualización de estado". Los mensajes de ciruela se
envían periódicamente. Cada vez que recibimos un
mensaje de ciruela, el temporizador de ciruela se
restablece a tres minutos, lo que evita el
comportamiento de "inundar y podar". Se interrumpe
una interfaz durante tres minutos y cada vez que
enviamos un mensaje de transferencia, este
temporizador se restablecerá. Si dejamos de enviar
mensajes de corte, la interfaz volverá a enviarse
después de tres minutos.
Con R2 se tiene ell resultado que se nota en la figura
18.
8. 8
Figura 18: Envio de Interfaz luego de 3 minutos
R2 ha establecido las banderas de DC para este grupo.
La D significa que estamos usando el modo denso y la
C significa que tenemos un host directamente
conectado que quiere recibir este tráfico (H2).
R2 ha estado recibiendo tráfico de 192.168.1.1 a
239.1.1.1 en su interfaz Gi0 / 1. El vecino RPF es
192.168.12.1 (R1). R2 ha detenido elreenvío de tráfico
en su interfaz Gi0 / 2 hacia R3.
R2 está reenviando el tráfico en su interfaz Gi0 / 3
hacia H2. R3 está recibiendo tráfico para 239.1.1.1
desde 192.168.1.1 en su interfaz Gi0 / 1 que se conecta
a R1. El vecino RPF es 192.168.13.1. La bandera P
significa que este tráfico ha sido podado. R3 ha
eliminado su interfaz Gi0 / 2. La bandera A representa
al ganador afirmativo. R2 y R3 están conectados a la
subred 192.168.23.0/24 y ambos reciben tráfico de R1.
III. CONCLUSIONES
PIM-DM es apropiado para:
Receptores distribuidos densamente.
Una proporción de pocos remitentes a
muchos receptores(debido a inundaciones
frecuentes).
Alto volumen de tráfico multicast.
Flujo constante de tráfico
PIM-DM no se puede usar para construir un
árbol de distribución compartido, como lo
puede hacer PIM-SM.
Para minimizar la inundación repetida de
datagramas y la poda subsiguiente asociada
con un par particular (S, G), PIM-DM usa un
mensaje de actualización de estado.
IV. RECOMENDACIONES
En un alto volumen de trafico multicast es
apropiado usar PIM-DM.
Usar PIM-SM para construir un árbol de
distribución compartido (PIM-DM no lo
hace).
Para minimizar la inundación repetida de
datagramas y la poda subsiguiente asociada
con un par particular (S, G), PIM-DM usa un
mensaje de actualización de estado.
VI. BIBLIOGRAFIA
[1]. Colaboradores CISCO,“RFC 3973” Available
onlines:
https://www.rfc-
editor.org/pdfrfc/rfc3973.txt.pdf
[2]. Molenaar Rene, “Multicast PIM Dense
Mode”, 2015. Available online:
https://networklessons.com/multicast/multica
st-pim-dense-mode/
[3]. NETGEAR, “What is Protocol-Independent
Multicast Dense Mode (PIM-DM) and how
does it work with my managedswitch?”,2016.
Available online:
https://kb.netgear.com/21977/What-is-
Protocol-Independent-Multicast-Dense-
Mode-PIM-DM-and-how-does-it-work-with-
my-managed-switch
[4]. Colaborator NetworkSorcery, “PIM, Protocol
Independent Multicast”, 2016. Available
online:
http://www.networksorcery.com/enp/protocol
/pim.htm
[5]. Anonimo, “PIM DM”,2015. Available online:
https://sc1.checkpoint.com/documents/R76/C
P_R76_SecurePlatform_AdvancedRouting_
WebAdmin/51175.htm
[6]. CISCO Colaborators, “IP Multicast
Technology Overview”, 2001. Available
online:
https://www.cisco.com/c/en/us/td/docs/ios/sol
utions_docs/ip_multicast/White_papers/mcst
_ovr.html#wp1009074