Chapter 4 Design
4.3 The approach
PIM-SM permite a los receptores IP Multicast unirse a un árbol de distribución Shared Tree, de la forma (*,G), para un dado grupo IP Multicast G, con un RP, Redezvous Point, como raíz del árbol de distribución, o unirse a un árbol de distribución Shortest Path, de la forma (S,G). De esta forma, un receptor IP Multicast puede recibir tráfico Multicast de una fuente S a través de un árbol de distribución (S,G), o de otras fuentes de tráfico IP Multicast, a través de un árbol (*,G). Cabe notar, que algunos miembros de un grupo G, pueden recibir tráfico Multicast a través del árbol (*,G), mientras que otros miembros del mismo grupo recibirán tráfico IP Multicast a través del árbol de distribución (S,G). Así, el DR, Designated Router, deberá ser capaz de
"forwardear" tráfico IP Multicast en ambos tipos de árboles de distribución.
En MPLS surge el problema cuando un nodo LSR en un árbol (*,G) necesita "forwardear"
Consideremos el siguiente caso: R2 R1 R3 RP S1 S2 A B C Join (*,G) Prune (S1,G)
Join (S1,G) S: Fuente IP MulticastR: LSR
RP: Rendezvous Point
Figura 4.10.1.- Ejemplo PIM-SM en MPLS.
Supongamos que el LSR R1 no esta interesado en recibir tráfico proveniente de la fuente S1 a través del árbol de distribución (*,G), ya que se ha unido al árbol (S1,G). Por lo tanto, enviará un mensaje Prune (S1,G). De esta forma, R1 "forwardeara" tráfico IP Multicast sobre la interfase B, mientras que para la fuente S2, "forwardeara" tráfico IP Multicast sobre la interfase A y B. Para esto, en MPLS, no es posible asignar una etiqueta común para todo el tráfico entrante a de R1 sobre la interfase C. Para el tráfico proveniente de S1, sobre la interfase C, se le debe asignar una etiqueta distinta que el proveniente de S2.
La tabla de Ruteo en R1 será:
(*,G) iif={C} oif={A,B} (S1,G) iif={C} oif={B}
Así, para el caso de utilizar PIM-SM en redes IP MPLS, el utilizar el método Topology Driven para la asignación de etiquetas MPLS producirá un incorrecto "forwardeo" de tráfico.
Un LSR que soporta IP Multicast envía mensajes PIM Join/Prune como resultado de los
Host que se unen a grupos IP Multicast. Estos mensajes son enviados en sentido Upstream a los
LSRs adyacentes hacia el RP, para el caso de un Shared Tree (*,G), o hacia una fuente de tráfico IP Multicast, para el caso de un Source Tree (S,G). Las etiquetas MPLS son distribuidas asociándolas con las direcciones de la lista Join o Prune.
Si un LSR se une a un grupo IP Multicast en un árbol de distribución Shared Tree, enviará mensajes Join/Prune en sentido Upstream, los cuales contendrán la dirección del grupo IP Multicast y una lista de Join. La lista Join contendrá un elemento, el cual tendrá la dirección del RP, además tendrá una etiqueta MPLS. Esta etiqueta será utilizada por el LSR Upstream
para enviar tráfico IP Multicast en sentido Downstream a través del árbol IP Multicast. Esta etiqueta especifica la ruta, en sentido Downstream, desde el LSR a través del árbol IP Multicast.
Si el LSR en sentido Downstream se une al Shared Tree para un determinado grupo G, y el LSRUpstream tiene en su tabla el estado (S,G) para una fuente S, el LSRUpstream deberá unir su lista (*,G), de la interfase de salida, al estado (S,G). Esto se debe realizar debido a que se debe asegurar que el LSR Downstream reciba los paquetes IP Multicast enviados desde S al grupo G. En este caso, cuando el LSRUpstream reciba un paquete (S,G), este lo “forwardeara”
hacia el LSRDownstream, utilizando la misma etiqueta que el LSRDownstream asigno para los paquetes (*,G). En caso que el LSR Upstream sea un ATM-LSR, esto no podrá ser realizado, debido a que no soporta conexiones multipunto-multipunto.
S: Fuente IP Multicast R: LSR G: Grupo IP Mlticast Rd: LSR Rd S Rd R R R R R G G G G Mensajes Join/Prune (Lista Join, Grupo de Direcciones)
♦ La Lista Join Contiene la Dirección de la Fuente S y la Etiqueta MPLS
Figura 4.10.2.- Ejemplo de Piggybacking para un LSR Rd que se une a un Árbol Source Tree (S,G).
S: Fuente IP Multicast R: LSR
H: Host (Receptor Multicast) Rd: LSR Rd S Rd R H Mensajes Join/Prune
(Lista Join, Grupo de Direcciones)
♦ La Lista Join Contiene la Dirección del Rd y la Etiqueta MPLS
R R
R
R
Figura 4.10.3.- Ejemplo de Piggybacking para un LSR Rd que se une a un Árbol Shared Tree (*,G).
PIM-SM Shortest Path Tree puede verse como un equivalente a PIM-DM, una etiqueta es asignada utilizando el método hop-by-hopTraffic Driven para cada entrada (S,G) de la tabla de ruteo. Una manera de solucionar el problema de la co-existencia de árboles (S,G) y (*,G), sin necesidad de utilizar forwarding a nivel de capa 3, nivel IP, es asignando etiquetas especificas en nodos intermedios del árbol de distribución Multicast. De esta forma, múltiples etiquetas serán asociadas con una entrada (*,G), correspondiendo una etiqeta por cada nodo activo del árbol de distribución Multicast. La forma de asignar una etiqueta de forma univoca por fuente (*,G) desde un binding de etiqueta desde un grupo (S,G), sería introduciendo un FEC (G,S), el cual representaría paquetes IP desde la fuente S, los cuales serán "forwardeados" en el árbol de distribución Multicast (*,G). De esta manera, PIM-SM soportaría la asignación de etiquetas por fuente.