Title: CBT: Keepalive
1CBT 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, TTL1 (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.
2CBT 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.
3CBT 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.
4CBT 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).
5CBT 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).
6Operació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
7Operació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.
8Operación del DR ejemplos
9Elecció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.
10Elecció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
11Elección del DR HELLO-diagrama de estados
12Operació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
13Descubrimiento 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.
14Timers 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.