130 likes | 220 Views
Vers. PIM (4). Tipo (4). Reservado (8). Checksum (16). Dirección codificada de Grupo (variable). Dirección codificada Unicast del origen (variable). Preferencia Métrica (31). R (1). Métrica (32). Vínculos multiacceso: Assert.
E N D
Vers. PIM (4) Tipo (4) Reservado (8) Checksum (16) Dirección codificada de Grupo (variable) Dirección codificada Unicast del origen (variable) Preferencia Métrica (31) R (1) Métrica (32) Vínculos multiacceso: Assert • Objetivo: Resolver para una entrada en una interfaz multiacceso, el router encargado del reenvío de datagrams multicast • Formato de frame: • Dirección de grupo: La del grupo asociado al assert. • Dirección origen: Dirección del emisor asociado al assert. • Preferencia métrica: Valor de preferencia asociado al protocolo de ruteo unicast utilizado para determinar métrica. • Métrica: Al origen. Determinada por el protocolo de ruteo utilizado. • R: Indica si se refiere a un árbol específico (0) o al compartido (1). IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Vínculos multiacceso: Envío de Assert • El envío de asserts debe estar limitado por la implementación. • Al recibirse un datagram multicast por una oif (I) multiacceso de una entrada ( (S,G), (*,G) o (*,*,RP) ). • Cálculo de métrica (todos unos si no existe ruta al origen). • Determinación de bit R (Si entrada resultante es (*,G) ). • Al recibirse un assert por una oif multiacceso. • Si el router gana la comparación de métricas y se convierte en DF. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Vínculos multiacceso: Recepción de Assert Recepción a través de una oif: • Determinar si el router es parte del árbol de distribución • Bit R = 1, buscar entradas activas (*,G) o (*,*,RP) • Bit R = 0, buscar entradas activas (S,G), (*,G) o (*,*,RP) • Determinar si el router está enviando por la interfaz involucrada (oif) • Comprobar si la interfaz de arribo del assert está en la lista de oifs de la entrada • Creación de la entrada específica si es necesario • Creación de una entrada (*,G) si la entrada hallada fue (*,*,RP) • Creación de una entrada (S,G)RPT=1 si la entrada hallada fue (*,*,RP) o (*,G) y el assert tiene bit R=0 • Evaluación de la métrica recibida • Acción a tomar • Router gana (métrica menor) • Enviar assert por la interfaz, con métrica propia y bit R • Router pierde • Eliminar interfaz del conjunto de oifs para la entrada • Eliminar interfaz de entradas menos específicas si corresponde IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Vínculos multiacceso: Recepción de Assert Recepción a través de la iif de una entrada: • Determinar si el router es parte del árbol de distribución • Bit R = 1, buscar entradas activas (*,G) o (*,*,RP) • Bit R = 0, buscar entradas activas (S,G) • Determinar si el router está recibiendo a través de la interfaz involucrada (iif) • Comprobar si la interfaz de arribo del assert es la iif de la entrada • Determinar si el emisor del assert es el DF • Acción a tomar • Si el emisor es el DF • Enviar los J/P al DF al emisor del assert en lugar de al anterior router. • Si cambió el RPF para la entrada, enviar J/P inmediatamente. • Iniciar assert timer para realizar chequeo RPF unicast. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Envío de datos encapsulados al RP • Inicialmente un DR encapsula los datagrams multicast y envía al RP • El RP puede crear un árbol por emisor para el DR. • En ciertas condiciones, el RP solicita al DR que deje de enviar encapsulado (Register-Stop): • Recibe Register del DR. • Ha iniciado un árbol por emisor y ha comenzado a recibir datos por él. • No tiene downstreams para el grupo. • Al recibir el Register-Stop, un DR: • Inicia un timer (S,G), (Register-Supression-Timer); a su fin, vuelve a encapsular al DR. • Finaliza el envío de datos encapsulados al RP (sólo envía por el árbol especifico si lo hay). IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Vers. PIM (4) Tipo (4) Reservado (8) Checksum (16) Reservado (30) B (1) N (1) Paquete de datos Multicast encapsulado (variable) PIM-SM: Register • Utilizado para enviar datagrams multicast encapsulados al DR • Formato: • B: indica si es enviado por un PMBR o por un DR. • N: indica si el datagram encapsulado es un probe. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Vers. PIM (4) Tipo (4) Reservado (8) Checksum (16) Dirección de grupo codificada (variable) Dirección (unicast) origen (S) codificada (variable) PIM-SM: Register-Stop • El RP indica al DR que no envía datos encapsulados para un grupo y un emisor determinados. • Formato: • Dirección de grupo: El grupo para el cual no se debe encapsular. • Dirección origen: El emisor para el que no se debe encapsular (todos ceros indica todos los emisores del grupo) IP Multicast 1999 - grigotti@exa.unicen.edu.ar
PIM-SM: Dominios, interoperabilidad • Dominio: • Conjunto de routers que operan PIM • Configurados para operar dentro de límites comunes • Conectado a otros dominios por PMBR • Conjunto común de RPs, con mapping común (procedimiento de bootstrap) • Entradas (*,*,RP): • Representan todos los grupos asociados al RP • Un datagram (S,G) hará matching con (*,*,RP) si • No existe entrada (S,G) ni (*,G) • G está asociado a RP • PMBR: • Router que opera PIM y otro protocolo multicast • Deben enviar al otro dominio todos los datagrams multicast generados internamente (caso de interoperación con protocolos modo denso - DVMRP) • Deben propagar dentro del dominio los datagrams generados en otros dominios IP Multicast 1999 - grigotti@exa.unicen.edu.ar
DOMINIO DVMRP RP1(G1,G2) Unicast a RP (*,*,RP1) (S1,G1) PMBR Difusión datagrams S1 R2 PMBR (S2,G2) (*,*,RP1) (*,*,RP1) Unicast a RP DOMINIO PIM-SM R4 R3 (*,*,RP1) S2 R6 PMBR Difusión datagrams (*,*,RP1) R5 R6 RP2(G3,G4) R8 DOMINIO PIM-SM PIM-SM:Interoperabilidad • Difusión de datagrams generados internamente a otros dominios • Un router PMBR inicializa estado para todos los RPs del dominio (*,*,RP) • Envían J/P a los RP (crea árboles de distribución). • Al arribar los datagrams al PMBR, se procesan de acuero al protocolo correspondiente (DVMRP, etc). IP Multicast 1999 - grigotti@exa.unicen.edu.ar
DOMINIO DVMRP (S1,G1) S1 RP1(G1,G2) Unicast a RP (S1,G1) PMBR1 S1 R2 PMBR Unicast a RP DOMINIO PIM-SM R4 R3 S2 Register-Stop R6 PMBR2 R5 R6 RP2(G3,G4) R8 DOMINIO PIM-SM PIM-SM:Interoperabilidad • Difusión de datagrams generados en otros dominios • Un PMBR encapsula y envía Register al RP correspondiente (B=1). • El RP almacena para le entrada la dirección del PMBR. • Si se recibe un Register de otro PMBR, el RP responde enviando Register-Stop. • RP1: Entrada (S1,G1): PMBR=PMBR1 (S1,G1) IP Multicast 1999 - grigotti@exa.unicen.edu.ar
PIM-SM: Encapsulación, detalles Recepción en un DR de un dg. Multicast desde un host directamente conectado: • Creación/Modificación de entradas • No existe entrada (S,G) • Existe mapping (G en un RP) • El DR no es RP para G • Creación de entrada (S,G): • oif-list: nula o copiada de (*,G) o (*,*,RP) si existen • interfaz de arribo del datagram excluida de oif-list • Envío de un J/P (S,G) (RTP=1) si existe entrada (*,G) o (*,*,RP) • Register-Supression-Timer de la entrada: off • Existe entrada (S,G) • Reactivar el timer para vigencia de la entrada. • Envío de datos • Si Register-Supression-Timer en off, encapsular paquete y enviar al RP • Si oif-list de (S,G) no nula, reenviar por las interfaces de salida IP Multicast 1999 - grigotti@exa.unicen.edu.ar
PIM-SM: Recepción de Registers Recepción en un RP de un dg. Multicast encapsulado en un Register: • Existe entrada (S,G) con SPT=0 y paquete no nulo: • Enviar paquete • Dejar SPT = 0 • Existe entrada (S,G) con SPT=1 y paquete no nulo: • Descartar paquete • Enviar Register-Stop • No existe (S,G) pero existe (*,G) y paquete no nulo: • Enviar el paquete • No existe (S,G) ni (*,G) pero sí (*,*,RP) y paquete no nulo: • Se crea entrada (S,G) o (*,G) copiando oiflist de (*,*,RP) • Se envía el paquete • No existe entrada • Se descarta el paquete • Se envía Register-Stop IP Multicast 1999 - grigotti@exa.unicen.edu.ar
PIM-SM: Recepción de Registers Recepción en un RP de un dg. Multicast encapsulado en un Register: • Register con Border Bit = 1 • Existe entrada (*,G) o (*,*,RP) y no existe entrada (S,G) • Crear entrada (S,G) con • dirección de PMBR = Dirección origen Register y SPT = 0 • Enviar Join a S • Enviar datagram según oiflist • Existe entrada (S,G) con SPT = 0 y dirección PMBR coincide • Reenviar datagram • Existe entrada (S,G) con SPT = 1 o dirección PMBR no coincide • Descartar datagram • Enviar Register-Stop al PMBR que emitió el Register IP Multicast 1999 - grigotti@exa.unicen.edu.ar