140 likes | 322 Views
CBT: Keepalive. Mecanismo para mantener el estado creado por JOINs (REQUEST/ACK). Opera entre nodos adyacentes. Implementado a través de ECHO-REQUEST y ECHO-REPLY. Router Child: envío de ECHO-REQUEST. Router Parent: respuesta con ECHO-REPLY. ECHO-REQUEST:
E N D
CBT: Keepalive • Mecanismo para mantener el estado creado por JOINs (REQUEST/ACK). • Opera entre nodos adyacentes. • Implementado a través de ECHO-REQUEST y ECHO-REPLY. • Router Child: envío de ECHO-REQUEST. • Router Parent: respuesta con ECHO-REPLY. • ECHO-REQUEST: • Granularidad (*,core), (*,G) o (S,G) (Contiene las entradas cuya interfaz parent es aquella por la que se envía). • Enviados multicast a 224.0.0.15, TTL=1 (o unicast) periódicamente. • ECHO-REPLY: • Enviado en respuesta inmediata a un ECHO-REPLY. • Contiene una lista de los estados para los cuales el router se considera parent en la interfaz. • Child que detecta pérdida de parent: inicio de FLUSH-TREE. • Parent que detecta pérdida de child: eliminación de la interfaz child en las entradas. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
CBT: Keepalive Envío de ECHO-REQUEST • Timers por cada entrada en interfaz parent: • T1: Para envío de ECHO-REQUEST, [ECHO-INTERVAL] • T2: Para eliminarse del árbol (FLUSH-TREE), [UPSTREAM-EXPIRE-TIMER] • Por cada entrada con interfaz parent P, incluirla en el ECHO-REQUEST. • Al vencer T1: • Enviar ECHO-REQUEST. • Rearrancar el timer de envío de la entrada (T1). • Al vencer T2: • Iniciar FLUSH-TREE en todas las interfaces child de la entrada. • Envío de QUIT-NOTIFICATION a parent. • Eliminación de la entrada. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
CBT: Keepalive Recepción de ECHO-REQUEST • T3: Timer para eliminación de una interfaz child en una entrada [DOWNSTREAM-EXPIRE-TIME]. • Recepción de ECHO-REQUEST a través de una interfaz parent: a ver en vínculos multiacceso. • Recepción de ECHO-REQUEST a través de una interfaz child: • Rearrancar timer T3 para las entradas anunciadas que tienen como child a la interfaz de recepción. • Enviar ECHO-REPLY al child anunciando todas las entradas para las cuales el router es parent en la interfaz. • Expiración de T3: • Eliminación de la interfaz child de la entrada correspondiente. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
CBT: Keepalive Envío de ECHO-REPLY • Enviado como respuesta a un ECHO-REQUEST recibido por una interfaz child (válida para alguna entrada). • Contiene una lista de todas las entradas para las cuales el receptor se considera parent en la interfaz. Recepción de ECHO-REPLY • Por cada entrada anunciada • Rearrancar timer de expiración de upstream (T2). • Rearrancar timer para envío de ECHO-REQUEST (T1). IP Multicast 1999 - grigotti@exa.unicen.edu.ar
CBT: Desconexión del árbol • Proceso iniciado desde un router que detecta falla en el parent hacia las hojas. • Resultan desconectados todos los routers que integran el subárbol. • Cada router leaf se reconectará independientemente. • Evita posibles loops debidos a intentos de reconectar subárboles. • Envío de FLUSH-TREE • Al perder conectividad con el parent. • Por todas las interfaces child de una entrada(s) (podadas o no). • Borrado de la entrada (s). • Recepción de FLUSH-TREE • Recibido por una interfaz parent de una entrada. • Elimina la entrada y todo estado igual o más específico que el anunciado. • No es propagado por un router con estado menos específico que el anunciado. • No afecta el estado menos específico del router leaf (o BR). IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Core A B R2 R3 R1 Operación en vínculos multiacceso: DR • DR (Designated Router): Router en una red multiacceso encargado de recibir JOIN-REQUESTS y reenviarlos según su visión del ruteo unicast. • Upstream router: router de la red multiacceso que envía los J-R fuera de la red. • Necesario en redes con routers con diferente visión del ruteo unicast (distintos dominios). • Evita posibles loops en el árbol de distribución. • Selección del DR a través del protocolo HELLO. - R1 envía JOIN-REQUEST por la LAN - R2 se considera el router con mejor métrica al core, via A y reenvía el JOIN-REQUEST. - R3 se considera el de mejor métrica al core, vía B, y reenvía el JOIN-REQUEST. - Como resultado, se forma un árbol con dos ramas hacia el core. - Se produce duplicado de paquetes IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Operación del DR • El DR es el único router de la red multiacceso que procesa los J-R multicast. • Un J-R unicast redireccionado por el DR sobre la red multiacceso acceso es procesado sólo por el router aludido (upstream router). • El upstream router tiene una interfaz parent que no pertenece a la red multiacceso. • El DR no almacena información transitoria a menos que sea origen del J-R enviado en la red multiacceso. • Existe duplicación de los J-R sobre la red multiacceso. • No existe duplicación de los datos. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
DR no es upstream y no origina J-R 1- J-R multicast, procesado sólo por DR 2- J-R unicast a UPS, procesado sólo por UPS 3- J-R a best-hop al core 4- J-ACK 5- J-ACK multicast, procesado por R2 Entradas: UPS: (*,G) a b R2: (*,G) a .. 4 UPS a 3 b 5 a DR R1 R2 2 1 3 DR es upstream y no origina J-R 1- J-R multicast, procesado sólo por DR 2- J-R a best-hop al core 3- J-ACK 4- J-ACK multicast, procesado por R2 Entradas: UPS/DR: (*,G) a b R2: (*,G) a .. a 2 UPS DR 4 b 1 a R3 R1 R2 Operación del DR: ejemplos IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Elección del DR: HELLO • Elección dinámica basada en el intercambio periódico de HELLOs • Envío a la dirección “all-cbt-routers”, TTL = 1. • Un router anuncia su valor de preferencia (entre 1 y 254), configurado por el administrador. • Un router funcionando como DR, anuncia 0. • Se elige DR al router que anunció el menor valor. • Si dos routers anuncial el mismo valor, se convierte el DR el de menor dirección IP. • El DR debe anunciarse periódicamente vía HELLO, de lo contrario es reemplazado. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Elección del DR: HELLO-diagrama de estados • Timers: • rnd: Tiempo al azar entre 1 y HOLDTIME segs. • Hello-timer para DR: HELLO_INTERVAL • Hello-timer para no DR: HELLO_INTERVAL + rnd • Trans-timer = rnd • Valor de preferencia anunciado: • DR: 0 • No DR: el configurado IP Multicast 1999 - grigotti@exa.unicen.edu.ar
A: Envío de dos HELLOs A: Arrancar HOLDTIME E: Recepción de peor HELLO Inicio DR No DR E: Recepción de mejor HELLO A: Reset Hello-timer E: Expira HOLDTIME A: Envío de HELLO A: Reset Hello-timer E: Recepción peor HELLO A: Envío de HELLO. A: Reset Hello-timer E: Expira Hello-timer A: Envío de HELLO A: Reset Hello-timer No DR y peor Hello Espera para DR E: Expira HOLDTIME A: Envío de HELLO A: Reset Hello-timer E: Recibe mejor HELLO A: Reset Hello-timer E: Recibe mejor HELLO A: Reset Hello-timer E: Recibe peor HELLO A: Arrancar trans-timer E: Expira Hello-timer A: Envío de HELLO A: Arrancar HOLDTIME A: Reset Hello-timer E: Recibe mejor HELLO A: Cancelar trans-timer A: Reset Hello-timer E: Recibe mejor HELLO A: Reset Hello-timer E: Expira trans-timer A: Envío de HELLO A: Arrancar HOLDTIME A: Reset Hello-timer Elección del DR: HELLO-diagrama de estados IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Operación en vínculos multiacceso • QUIT-NOTIFICATION recibido por interfaz child multiacceso • Arranque de child-deletion-timer • QUIT-NOTIFICATION recibido por interfaz parent multiacceso • Si el router está interesado en seguir perteneciendo al árbol, envío de JOIN-REQUEST • JOIN-REQUEST recibido por interfaz child multiacceso • Si el router tiene corriendo el child-deletion-timer para estado igual o menos específico, cancelar timer. • JOIN-REQUEST recibido por interfaz parent multiacceso • Si el router tiene agendado el envío de J-R para evitar borrado, cancelar timer • ECHO-REQUEST recibido por interfaz parent multiacceso • Reset timer para envío de ECHO-REQUEST, para los estados que corresponda IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Descubrimiento de Cores • Mapeo core/grupo: alternativas • Incorporación de un procedimiento de bootstrap: • Igual al de PIM-SM. • Permite operación plug and play. • Sólo en el ámbito intra-dominio. • Configuración manual: • Sólo routers leaf. • Gran carga administrativa. • No escalable. • Apto para ámbito inter-dominio. IP Multicast 1999 - grigotti@exa.unicen.edu.ar
Timers y valores por defecto • HELLO_INTERVAL: 60 seg. Intervalo para envío de HELLOs. • HELLO_PREFERENCE: 255. Preferencia para DR. • HOLDTIME: 3 segs. Intervalo de respuesta genérico. • DR_TRANS_TIMER: Al azar entre 1 seg y HOLDTIME segs. Timer utilizado para pasar de estado no-dr a dr. • MAX_RTX: 3. Máximo número de retransmisiones. • RTX_INTERVAL: 5 segs. Tiempo para retransmisión de una PDU. • JOIN_TIMEOUT: 3.5 * RTX_INTERVAL. Tiempo de espera para desistir de la retransmisión de JOIN-REQUEST. • TRANSIENT_TIMEOUT: JOIN_TIMEOUT. Tiempo para eliminar estado transitorio. • CHILD_DEL_TIMER: 1.5 * HOLDTIME. Tiempo para eliminar child multiacceso. • UPSTREAM_EXPIRE_TIME: MAX_RTX * RTX_INTERVAL * HOLDTIME segs. Tiempo para enviar QUIT-NOTIFICATION a un parent que no responde. • DOWNSTREAM_EXPIRA_TIME: ECHO_INTERVAL + UPSTRM_EXPIRE_TIME seg. Tiempo para eliminar una interfaz child que no es detectada. • ECHO_INTERVAL: 60 + rnd seg. (rnd entre 1 y HOLDTIME seg.). Tiempo para envío de ECHO_REQUESTs al parent. IP Multicast 1999 - grigotti@exa.unicen.edu.ar