120 likes | 308 Views
PIM-DM. Definido en como draft (draft-ietf-pim-v2-dm-01.txt), Protocol Independent Multicast Version 2 Dense Mode Specification), Noviembre 1988. Diseñado para operar eficientemente con grupos densos. Independiente del protocolo de ruteo unicast. PDUs comunes con PIM-SM.
E N D
PIM-DM • Definido en como draft (draft-ietf-pim-v2-dm-01.txt), Protocol Independent Multicast Version 2 Dense Mode Specification), Noviembre 1988. • Diseñado para operar eficientemente con grupos densos. • Independiente del protocolo de ruteo unicast. • PDUs comunes con PIM-SM. • Similar pero más simple y escalable que DVMRP, aunque menos eficiente. • Arboles de distribucion por emisor y pertenencia implícita. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
PIM-DM: Detección de nodos vecinos • Descubrimiento de Neighbors; • Hellos periódicos. • Entradas eliminadas por tiempo (holdtime del hello) (ver PIM-SM). • Detección de redes leaf • Red leaf • Sin neighbors PIM (ausencia de Hellos) (DVMRP: sin downstream neighbors), • Sin miembros directamente conectados • Un router no-leaf en una red puede ser leaf para un árbol de distribución IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Datos multicast Poda por iif incorrecta Poda por oiflist nula PIM-DM: Envío de datos, poda S1 R1 R6 R2 Re2 R4 1 -Un emisor comienza enviando datos a un grupo G por sus interfaces. 2 -Un router que recibe información (S,G) crea (si no la tiene) la entrada correspondiente y difunde la información por las demás interfaces con neighbors o miembros directamente conectados. 3 - Un router que recibe un datagram (S,G) por una interfaz que no es la RPF a S, o para una entrada con oiflist nula, emite un prune R3 R5 Re1 Ri: Router Intermedio Rei: Router con receptor local Si: Emisor IP Multicast 1999 - grigotti@exa.unicen.edu.ar
PIM-DM: Envío de datos. Entradas Elementos de una entrada: • S: origen • G: grupo • Timer_expiración_entrada (T_e_e): Tiempo luego del cual la entrada es eliminada si no se reciben datos. • Iif: interfaz de arribo (mejor camino hacia el S). • Oiflist: lista de interfaces de salida, cada una con: • interfaz por la cual reenviar. • timer asociado a poda (T_p): Tiempo luego del cual la oif vuelve a estado no podado. • Estado: Fowarding state (alguna oif no podada) • T_e_e = Data-Timeout. • Estado: Negative Cache Entry (todas las interfaces podadas) • T_e_e = Máximo de los tiempos de poda • Expiración de timer de una oif: • Envío de graft al upstream • T_e_e puesto a su valor por defecto (Data-Timeout) IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Graft S1 a b a b R1 c a a R6 b a R2 Re2 b c a R4 a b b R3 d c a R5 b a Re1 PIM-DM: Grafts Estado antes de los grafts Router entrada Estado iif oifs S1 (S1,G) Activa L a(NP), b(NP) R1 (S1,G) Activa a b(P) ,c(NP) R2 (S1,G) Activa a b(P), c(NP) R3 (S1,G) Activa a b(P), c(NP), d(P) R4 (S1,G) Neg.C.E a b(P) R5 (S1,G) Neg.C.E a b(P) R6 (S1,G) Neg.C.E. a b(P) Re1 (S1,G) Activa a L Re2 (S1,G) Activa a L Entradas camiadas luego de los grafts R2 (S1,G) Activa a b(NP), c(NP) R4 (S1,G) Activa a b(NP) R5 (S1,G) Activa a b(P), L 1 -Un receptor en un subárbol podado no debe esperar el vencimiento de la información de poda. 2 -Un router que desea recibir información de un (S,G) podado, emite un graft. En este caso, un host local a R5 solicita conexión vía reporte IGMP. Ri: Router Intermedio Rei: Router con receptor local Si: Emisor IP Multicast 1999 - grigotti@exa.unicen.edu.ar
PIM-DM: Grafts Recepción de grafts • Un router al recibir un graft, si tiene estado (S,G) • agrega la interfaz correspondiente a la oiflist de la entrada. • si la entrada pasó a estado activo, envía un graft al nodo upstream. Envío de graft • Cuando un router pasa una entrada de Negative Cache Entry a activa. • Envío al nodo upstream de la entrada, unicast. • Envío periódico (3 segs.) si no recibe Graft-Ack. Formato de Graft : igual al Join/Prune, con type = 6. • Dirección origen: incluida en la parte de Join de la PDU. • Holdtime: Ignorado Formato de Graft-Ack: Igual al Join/Prune, con type = 7. • Dirección del upstream neighbor: no usada. • Holdtime: Ignorado. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Adaptación a cambios en el ruteo unicast Al ocurrir un cambio en ruteo unicast • Entradas afectadas: aquellas cuyo upstream dejó de ser el mejor camino al source. • Acciones • Envío de prune en la iif anterior • Envío de Graft a nuevo neighbor IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Vinculos multiacceso: Designated Router • Designated Router • No es necesario en PIM-DM. • Sólo en caso de operar con IGMPv1. • Procedimiento para elección de DR: Igual que en PIM-SM. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Vinculos multiacceso: envío de prunes • Envío del prune multicast (ALL-PIM-ROUTERS). • Router que procesa el prune: indicado por el campo de dirección del Prune. • Dirección de router al que se envía el prune: obtenido por ruteo unicast (RPF) a S. • Recepción del prune • Router (upstream) que recibe prune activa un timer para borrado de la oif (LAN) de sus entradas (S,G). • Routers en la LAN que desean recibir información: emiten un Join multicast destinado (dirección del Join) al router upstream en un tiempo al azar. • Recepción del join de un router • Router upstream: suspende timer para borrado de la entrada. • Routers con envío diferido de Join: suspenden el envío. • Borrado de la oif: El router emite un prune, para minimizar la posibilidad de pérdida del prune-override join. • Ambiguedad debido a routers de igual costo en la LAN (no almacenados p/ruteo unicast) • Uso de dirección 0.0.0.0 (todos los routers con LAN como oif procesan). IP Multicast 1999 - grigotti@exa.unicen.edu.ar
En vínculos multiacceso, dos routers con igual métrica a un S replican datagrams innecesariamente. • Resuelto a través del envío de Asserts (formato: ver PIM-SM). • Recepción de un datagram (S,G) en una oif de la entrada, sobre red multiacceso: • Obtener de ruteo unicast el RPF al S. • Enviar Assert incluyendo métrica y preferencia (si no hay ruta, todos unos). • Recepción de Assert en una oif • Comparar métricas (y direcciones IP) para determinar si se gana o pierde. • Si se pierde, podar la interfaz. • Si se gana y hay miembros directamente conectados, dejar interfaz en oiflist. • Si se gana y no hay miembros directamente conectados, activar timer para podar la interfaz. • Enviar un Assert por la interfaz, para que los demás routers conozcan el upstream. • Recepción de un Assert en una iif • Seleccionar como upstream el router de mejor métrica (y dirección IP) • Si el upstream es distinto del RPF a S, arrancar Assert-Timer, a su fin cambiar a RPF • Si hay routers downstream, activar timer para envío de Join y evitar así la poda. Vinculos multiacceso: duplicación de datagrams IP Multicast 1999 - grigotti@exa.unicen.edu.ar
PIM-DM vs DVMRP • DVMRP tiene su propio protocolo de ruteo, PIM-DM no • DVMRP es más eficiente (truncated broadcast tree vs broadcast tree) • DVMRP determina previo al envío de datos el DF en vínculos multiacceso, PIM-DM requiere mecanismo Assert luego del envío de datos. • PIM-DM es más flexible y corre sobre cualquier protocolo unicast (OSPF, BGP, etc). • PIM-DM guarda estado (S,G) por 2 hs, PIM-SM por 3 segundos • Menor memoria ocupada • Mayor overhead (flooding de datagrams) para emisores intermitentes • PIM-DM es más simple y más fácil de implementar IP Multicast 1999 - grigotti@exa.unicen.edu.ar