La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

IP Multicast 1999 - Construcción y mantenimento de árboles de distribución Procedimientos explícitos para unirse a un árbol.

Presentaciones similares


Presentación del tema: "IP Multicast 1999 - Construcción y mantenimento de árboles de distribución Procedimientos explícitos para unirse a un árbol."— Transcripción de la presentación:

1 IP Multicast 1999 - grigotti@exa.unicen.edu.ar1 Construcción y mantenimento de árboles de distribución Procedimientos explícitos para unirse a un árbol de distribución (JOIN). Procedimientos explícitos para podarse de un árbol de distribución (PRUNE). JOINs y PRUNEs: –Enviados en la misma PDU (JOIN/PRUNE). –Enviados periódicamente para mantener estado en routers upstream. –Disparados por eventos: Creación de nueva entrada en el router. Lista de oifs de una entrada pasa de null a no null o de no null a null. Routers que originan los procedimientos: –Routers con miembros directamente conectados (DRs, PMBRs). –RPs (conmutación a árbol por emisor). Procedimientos explícitos para unirse a un árbol de distribución (JOIN). Procedimientos explícitos para podarse de un árbol de distribución (PRUNE). JOINs y PRUNEs: –Enviados en la misma PDU (JOIN/PRUNE). –Enviados periódicamente para mantener estado en routers upstream. –Disparados por eventos: Creación de nueva entrada en el router. Lista de oifs de una entrada pasa de null a no null o de no null a null. Routers que originan los procedimientos: –Routers con miembros directamente conectados (DRs, PMBRs). –RPs (conmutación a árbol por emisor).

2 IP Multicast 1999 - grigotti@exa.unicen.edu.ar2 PIM-SM: Join/Prune Vers. PIM (4) Tipo (4) Reservado (8) Checksum (16) Dirección unicast de upstream neighbor codificada (variable) Dirección multicast codificada de grupo-1 (variable) Holdtime (16) Reservado (8) Núm de grupos (8) Número de orígenes Joined (J) (16) Número de orígenes podados (P) (16) Dirección codificada origen-1 (joined) (variable) Dirección codificada origen-J (joined) (variable)........... Dirección codificada origen-P (pruned) (variable)........... Dirección codificada origen-1 ( pruned) (variable) Dirección multicast codificada de grupo-N (variable) Número de orígenes Joined (16) Número de orígenes podados (16)........... G R U P O 1 G R U P O N

3 IP Multicast 1999 - grigotti@exa.unicen.edu.ar3 Envío periódico de Join/Prune Para cada router PIM vecino, se envían J/P periódicos –para todas las entradas activas asociadas para las cuales el vecino es RPF hacia el RP del grupo o para árboles compartidos. Hacia el emisor (source) para árboles específicos Join para todos los sources, de todos los grupos del RP, vía árbol compartido Join G:224.0.0.0 S:(Dirección RP, RPT=1, WC=1) –oiflist de la entrada (*,*,RP) no nula o router es DR en la interfaz al neighbor Join para todos los sources de un grupo determinado, vía árbol compartido Join G:G1 S: (Dirección RP, RPT=1, WC=1) –oiflist de la entrada (*,G1) no nula o router es DR en la interfaz al neighbor Join para un source de un grupo determinado, vía árbol específico con raíz en el emisor Join G:G1 S: (S1, RPT=0, WC=0) –oiflist de la entrada (S1,G1) es no nula y –RPT-bit de la entrada (S1,G1) es 0 (entrada para árbol específico al emisor). Para cada router PIM vecino, se envían J/P periódicos –para todas las entradas activas asociadas para las cuales el vecino es RPF hacia el RP del grupo o para árboles compartidos. Hacia el emisor (source) para árboles específicos Join para todos los sources, de todos los grupos del RP, vía árbol compartido Join G:224.0.0.0 S:(Dirección RP, RPT=1, WC=1) –oiflist de la entrada (*,*,RP) no nula o router es DR en la interfaz al neighbor Join para todos los sources de un grupo determinado, vía árbol compartido Join G:G1 S: (Dirección RP, RPT=1, WC=1) –oiflist de la entrada (*,G1) no nula o router es DR en la interfaz al neighbor Join para un source de un grupo determinado, vía árbol específico con raíz en el emisor Join G:G1 S: (S1, RPT=0, WC=0) –oiflist de la entrada (S1,G1) es no nula y –RPT-bit de la entrada (S1,G1) es 0 (entrada para árbol específico al emisor).

4 IP Multicast 1999 - grigotti@exa.unicen.edu.ar4 Envío periódico de Join/Prune Poda para un source de un grupo determinado, en el árbol específico por emisor Prune G:G1 S:(Dirección S1, RPT=0, WC=0) –Existe una entrada activa (S1,G1) con RPT-bit = 0 (árbol por emisor) y –oiflist de la entrada (S1,G1) es nula Poda para un source de un grupo determinado sobre el árbol compartido Prune G:G1 S: (S1, RPT=1, WC=0) –existe una entrada (S1,G1) RPT-bit = 1 y oiflist nula o –existe una entrada (S1,G1) RPT-bit=0, SPT-bit=1 y iif desde S1 distinta iif desde RP o –existe una entrada (*,G1) y una entrada (S1,G1) para S1 conectado directamente. Poda de un grupo sobre el árbol compartido Prune G:G1 S: (Dirección del RP, RPT=1, WC=1) –oiflist de la entrada (*,G1) es nula. Poda para un source de un grupo determinado, en el árbol específico por emisor Prune G:G1 S:(Dirección S1, RPT=0, WC=0) –Existe una entrada activa (S1,G1) con RPT-bit = 0 (árbol por emisor) y –oiflist de la entrada (S1,G1) es nula Poda para un source de un grupo determinado sobre el árbol compartido Prune G:G1 S: (S1, RPT=1, WC=0) –existe una entrada (S1,G1) RPT-bit = 1 y oiflist nula o –existe una entrada (S1,G1) RPT-bit=0, SPT-bit=1 y iif desde S1 distinta iif desde RP o –existe una entrada (*,G1) y una entrada (S1,G1) para S1 conectado directamente. Poda de un grupo sobre el árbol compartido Prune G:G1 S: (Dirección del RP, RPT=1, WC=1) –oiflist de la entrada (*,G1) es nula.

5 IP Multicast 1999 - grigotti@exa.unicen.edu.ar5 Recepción de Join/Prune Chequeo de que el J/P sea direccionado al router Interfaz de arribo del J/P, I Join G:G1 S:(S1, RPT=1, WC=1) Si G1 no corresponde al RP S1, descartar. Si G1 corresponde al RP S1, –Si no existe entrada (*,G1), crearla (copiar oiflist de (*,*,RP) si existe). –Agregar I a lista de oifs (*,G1) –Setear oif-timer de la oif con Holdtime del J/P, y oif-deletion-delay = 1/3 de oif-timer –Por cada (Si,G1), si –Si no esta el la lista de prunes y –Si I no es la iif de la entrada (Si,G1) y –Si I no está en la subred a la que pertenece la dirección de Si Agregar I a la oiflist de la entrada (Si,G1) Si la oiflist de una entrada (Si,G1)RPT=1 queda igual a la de (*,G1), eliminar la entrada Chequeo de que el J/P sea direccionado al router Interfaz de arribo del J/P, I Join G:G1 S:(S1, RPT=1, WC=1) Si G1 no corresponde al RP S1, descartar. Si G1 corresponde al RP S1, –Si no existe entrada (*,G1), crearla (copiar oiflist de (*,*,RP) si existe). –Agregar I a lista de oifs (*,G1) –Setear oif-timer de la oif con Holdtime del J/P, y oif-deletion-delay = 1/3 de oif-timer –Por cada (Si,G1), si –Si no esta el la lista de prunes y –Si I no es la iif de la entrada (Si,G1) y –Si I no está en la subred a la que pertenece la dirección de Si Agregar I a la oiflist de la entrada (Si,G1) Si la oiflist de una entrada (Si,G1)RPT=1 queda igual a la de (*,G1), eliminar la entrada

6 IP Multicast 1999 - grigotti@exa.unicen.edu.ar6 Recepción de Join/Prune Join G:G1 S:(S1, RPT=0, WC=0) –Si no existe una entrada (S1,G1) Crear una entrada (S1,G1) con bit SPT = 0 Lista de oifs, copia de (*,G) o (*,*,RP) si existen Excluir iif de (S1,G1) de lista de oifs Incluir I en oiflist. Iif de entrada (S1,G1), interfaz usada para enviar a S1. –Existe una entrada (S1,G1) Si es una (S1,G1)RPT=1 –Poner RPT = 0 y SPT = 0 –Cambiar iif a iif desde S1 –Enviar Join hacia la interfaz desde S1 –Agregar I a la oiflist, si no es a su vez la iif de la entrada Si es una entrada (S1,G1)RPT=0 –Agregar I como oif si no es la iif de la entrada Join G:G1 S:(S1, RPT=0, WC=0) –Si no existe una entrada (S1,G1) Crear una entrada (S1,G1) con bit SPT = 0 Lista de oifs, copia de (*,G) o (*,*,RP) si existen Excluir iif de (S1,G1) de lista de oifs Incluir I en oiflist. Iif de entrada (S1,G1), interfaz usada para enviar a S1. –Existe una entrada (S1,G1) Si es una (S1,G1)RPT=1 –Poner RPT = 0 y SPT = 0 –Cambiar iif a iif desde S1 –Enviar Join hacia la interfaz desde S1 –Agregar I a la oiflist, si no es a su vez la iif de la entrada Si es una entrada (S1,G1)RPT=0 –Agregar I como oif si no es la iif de la entrada

7 IP Multicast 1999 - grigotti@exa.unicen.edu.ar7 Recepción de Join/Prune Prune G:G1 S:(S1, RPT=0, WC=0) –Si existe una entrada (S1,G1) Eliminar la interfaz (I) de la oiflist de la entrada, en vínculos punto a punto Reducir el oif-timer de I en la entrada, a oif-deletion-delay en vínculos macceso Si la entrada es (S1,G1)RPT=1 y existe (*,G1) o (*,*,RP) –la entrada (S1,G1) debe ser mantenida aún con oiflist nula. Si la entrada es (S1,G1)RPT=0 –la entrada será eliminada si oiflist es nula Prune G:G1 S:(S1, RPT=1, WC=0) –Si existe una entrada (S1,G1) Eliminar la interfaz (I) de la oiflist de la entrada en vínculos punto a punto Reducir el oif-timer de I en la entrada, a oif-deletion-delay en vínculos macceso. Si la entrada es (S1,G1)RPT=1 y existe estado (*,G1) o (*,*,RP) –no eliminar la entrada, aún con oiflist nula –Si no existe entrada (S1,G1) y existe (*,G1) o (*,*,RP) Crear una entrada (S1,G1)RPT=1 oiflist copiada de (*,G1) o (*,*,RP) sin I Prune G:G1 S:(S1, RPT=0, WC=0) –Si existe una entrada (S1,G1) Eliminar la interfaz (I) de la oiflist de la entrada, en vínculos punto a punto Reducir el oif-timer de I en la entrada, a oif-deletion-delay en vínculos macceso Si la entrada es (S1,G1)RPT=1 y existe (*,G1) o (*,*,RP) –la entrada (S1,G1) debe ser mantenida aún con oiflist nula. Si la entrada es (S1,G1)RPT=0 –la entrada será eliminada si oiflist es nula Prune G:G1 S:(S1, RPT=1, WC=0) –Si existe una entrada (S1,G1) Eliminar la interfaz (I) de la oiflist de la entrada en vínculos punto a punto Reducir el oif-timer de I en la entrada, a oif-deletion-delay en vínculos macceso. Si la entrada es (S1,G1)RPT=1 y existe estado (*,G1) o (*,*,RP) –no eliminar la entrada, aún con oiflist nula –Si no existe entrada (S1,G1) y existe (*,G1) o (*,*,RP) Crear una entrada (S1,G1)RPT=1 oiflist copiada de (*,G1) o (*,*,RP) sin I

8 IP Multicast 1999 - grigotti@exa.unicen.edu.ar8 Recepción de Join/Prune Prune G:G1 S:(S1, RPT=1, WC=1) –Si existe una entrada (*,G1) con S1 como RPT Eliminar la interfaz (I) de la oiflist de la entrada, en vínculos punto a punto Reducir el oif-timer de I en la entrada, a oif-deletion-delay en vínculos macceso –Si existe (*,*,RP) y no existe (*,G1) Crear (*,G1) con oiflist igual a (*,*,RP) eliminando la interfaz de arribo del prune Prune G:G1 S:(S1, RPT=1, WC=1) –Si existe una entrada (*,G1) con S1 como RPT Eliminar la interfaz (I) de la oiflist de la entrada, en vínculos punto a punto Reducir el oif-timer de I en la entrada, a oif-deletion-delay en vínculos macceso –Si existe (*,*,RP) y no existe (*,G1) Crear (*,G1) con oiflist igual a (*,*,RP) eliminando la interfaz de arribo del prune

9 IP Multicast 1999 - grigotti@exa.unicen.edu.ar9 Reenvío Búsqueda de entrada –Buscar entrada que coincida con S (longest match) y con G (exactamente) (entradas (S,G) y (*,G) ). –Buscar entrada (*,*,RP) (Si G asociado a un RP) Existe entrada para el datagram recibido –Interfaz de arribo coincide con iif de la entrada y oiflist no nula Reenviar por oiflist excluyendo subred que contiene a S Si entrada es (S,G), restart Entry-timer Si entrada es (S,G) RPT=0,SPT=0 y existe (*,G) o (*,*,RP) asociada con iif distinta –Poner SPT =1 en (S,G) –Enviar prune para (S,G) vía árbol compartido (RPT=1) Si el origen es un host directamente conectado y el router es DR en la interfaz de arribo –Si Register-Supression-timer no esta corriendo para la entrada, encapsular y enviar register al RP Búsqueda de entrada –Buscar entrada que coincida con S (longest match) y con G (exactamente) (entradas (S,G) y (*,G) ). –Buscar entrada (*,*,RP) (Si G asociado a un RP) Existe entrada para el datagram recibido –Interfaz de arribo coincide con iif de la entrada y oiflist no nula Reenviar por oiflist excluyendo subred que contiene a S Si entrada es (S,G), restart Entry-timer Si entrada es (S,G) RPT=0,SPT=0 y existe (*,G) o (*,*,RP) asociada con iif distinta –Poner SPT =1 en (S,G) –Enviar prune para (S,G) vía árbol compartido (RPT=1) Si el origen es un host directamente conectado y el router es DR en la interfaz de arribo –Si Register-Supression-timer no esta corriendo para la entrada, encapsular y enviar register al RP

10 IP Multicast 1999 - grigotti@exa.unicen.edu.ar10 Reenvío –Interfaz de arribo no coincide con iif de la entrada Si SPT bit de la entrada es 1 –descartar paquete Si SPT bit de la entrada es 0 –si iif de entrada (*,G) o (*,*,RP) coincide con interfaz de arribo, reenviar por oiflist de (*,G) o (*,*,RP) No existe entrada para el datagram recibido –Si el origen es un host directamente conectado y –Router es DR Obtener RP para el grupo Crear entrada (S,G) con Register-Supression-timer inactivo y oiflist nula Encapsular datagram y enviar Register al RP –Interfaz de arribo no coincide con iif de la entrada Si SPT bit de la entrada es 1 –descartar paquete Si SPT bit de la entrada es 0 –si iif de entrada (*,G) o (*,*,RP) coincide con interfaz de arribo, reenviar por oiflist de (*,G) o (*,*,RP) No existe entrada para el datagram recibido –Si el origen es un host directamente conectado y –Router es DR Obtener RP para el grupo Crear entrada (S,G) con Register-Supression-timer inactivo y oiflist nula Encapsular datagram y enviar Register al RP

11 IP Multicast 1999 - grigotti@exa.unicen.edu.ar11 Construcción y difusión de lista de RPs Bootstrap Router (BSR): Responsable de construir y difundir el conjunto de RPs de un dominio. Rendevouz Point (RP): Router responsable de actuar como raíz del árbol compartido para uno o más grupos. Mecanismos de elección de un BSR en un dominio entre los posibles routers (Candidate- BSR). Mecanismos de elección de los RP para los diferentes grupos entre los posibles routers (Candidate RP). PDUs: –Candidate-RP-Advertisment: Unicast de cada C-RP al BSR. Registro de RPs –Bootstrap: Multicast a los routers PIM. Elección de BSR Distribución de RPs Bootstrap Router (BSR): Responsable de construir y difundir el conjunto de RPs de un dominio. Rendevouz Point (RP): Router responsable de actuar como raíz del árbol compartido para uno o más grupos. Mecanismos de elección de un BSR en un dominio entre los posibles routers (Candidate- BSR). Mecanismos de elección de los RP para los diferentes grupos entre los posibles routers (Candidate RP). PDUs: –Candidate-RP-Advertisment: Unicast de cada C-RP al BSR. Registro de RPs –Bootstrap: Multicast a los routers PIM. Elección de BSR Distribución de RPs

12 IP Multicast 1999 - grigotti@exa.unicen.edu.ar12 PIM-SM: Anuncio Candidato RP Vers. PIM (4) Tipo (4) Reservado (8) Checksum (16) Dirección codificada Unicast del RP (variable) Dirección codificada Grupo-1 (variable) Dirección codificada Grupo-N (variable) Cta. Prefijos (8) Prioridad (8) Holdtime (16)...... - Cta.Prefijos: Cantidad de direcciones de grupo para las cuales se anuncia el RP. 0 indica todos los grupos. - Prioridad: Prioridad del RP para los grupos anunciados. 0 es la más alta prioridad. - Holdtime: Tiempo de validez del anuncio - Dirección RP: Dirección de la interfaz que se está anunciando como RP. - Dirección Grupo i: Direcciones de grupo para las cuales el router se anuncia como RP.

13 IP Multicast 1999 - grigotti@exa.unicen.edu.ar13 PIM-SM: Bootstrap Vers. PIM (4) Tipo (4) Reservado (8) Checksum (16) Dirección unicast codificada de BSR (variable) Dirección multicast codificada de grupo-1 (variable) Dirección codificada unicast origen-1 (variable) Dirección codificada unicast origen-M (variable)........... Dirección multicast codificada de grupo-N (variable)........... G R U P O 1 G R U P O N Long Masc Hash (8) Prioridad BSR (8) Marca de fragmento (16) Reservado (16) Frg RP-count-1 (8) RP-Count-1 (8) Reservado (8) Prioridad RP1 (8) Holdtime RP1 (16) Reservado (8) Prioridad RPM (8) Holdtime RPM (16) Reservado (16) Frg RP-count-N (8) RP-Count-N (8)........... - Masc. Fragm: Número generado al azar. Identifica los diferentes fragmentos que componen un bootstrap. - Long. Masc. Hash: Indica la longitud de la máscara de hashing utilizada. 30 bits para IPv4. - Pri. BSR: Prioridad del BSR que emite la PDU. Utilizada para elegir BSR. - Dirección de grupo-i: Dirección de grupo asociada a los RPs que le siguen. - RP_Count-i:Cantidad de RPs anunciados en el bootstrap. - Frag-RP-Count-i: Cantidad de RPs en este fragmento. - Dirección RP origen-j: Dirección de los RP para el grupo. - Holdtime RP-j: Tiempo de validez de la entrada (RP). Copiado del campo Holdtime de la entrada en el BSR. - Prioridad RP-j: Prioridad del RP para el grupo. Copiada del campo prioridad de la entrada en el BSR.

14 IP Multicast 1999 - grigotti@exa.unicen.edu.ar14 Elección de BSR y difusión de RPs (C-BSR) LclBSR: Almacena dirección y prioridad del BSR –Inicializado con dirección local si router es C-BSR – Inicializado en 0 si router no es C-BSR LcLRP-Set: Conjunto de RPs, inicialmente vacío Preferrd Bootstrap: Bootstrap con mayor prioridad que la local (y mayor dirección si igual prioridad) Estado CandBSR: El router no origina mensajes de Bootstrap Estado ElectedBSR: El router origina periódicamente mensajes de bootstrap Diagrama de estados para un router C-BSR LclBSR: Almacena dirección y prioridad del BSR –Inicializado con dirección local si router es C-BSR – Inicializado en 0 si router no es C-BSR LcLRP-Set: Conjunto de RPs, inicialmente vacío Preferrd Bootstrap: Bootstrap con mayor prioridad que la local (y mayor dirección si igual prioridad) Estado CandBSR: El router no origina mensajes de Bootstrap Estado ElectedBSR: El router origina periódicamente mensajes de bootstrap Diagrama de estados para un router C-BSR CandBSRElectedBSR E: Expira Bootstrap-Timer A: Originar Bootstrap con LclRP-set, dirección, prioridad Rearrancar Bootstrap-Timer E: Expira Bootstrap-Timer A: Originar Bootstrap con LclRP-set, dirección, prioridad Rearrancar Bootstrap-Timer E: Llega Bootstrap (preferred) A: Rearrancar Bootstrap_Timer Reenviar bootstrap E: Llega Bootstrap (preferred) A: Rearrancar Bootstrap_Timer Reenviar bootstrap

15 IP Multicast 1999 - grigotti@exa.unicen.edu.ar15 Elección de BSR y difusión de RPs (No C-BSR) Estado AxpAny: –El router no origina mensajes de Bootstrap ni mantiene timers activos. –Sólo espera recibir bootstrap Estado AxptPreferred: –El router sólo acepta bootstrap preferred –Mantiene Bootstrap_Timer Diagrama de estados para un router no configurado como BSR Estado AxpAny: –El router no origina mensajes de Bootstrap ni mantiene timers activos. –Sólo espera recibir bootstrap Estado AxptPreferred: –El router sólo acepta bootstrap preferred –Mantiene Bootstrap_Timer Diagrama de estados para un router no configurado como BSR AxptAnyAxptPreferred E: Llega Bootstrap A: Rearrancar Bootstrap-Timer Reenviar Bootstrap E: Llega Preferred Bootstrap A: Rearrancar Bootstrap-Timer Reenviar Bootstrap E: Expira Bootstrap_Timer

16 IP Multicast 1999 - grigotti@exa.unicen.edu.ar16 Recepción de Bootstraps Recepción de un bootstrap por parte de un router Chequear si el mensaje es recibido por el neighbor hacia el emisor, si no, descartar. Si el BSR emisor del bootstrap no es mejor o igual que el almacenado localmente: –Bootstrap timer activo o router es C-BSR: Descartar el bootstrap. –Bootstrap Timer expiró y router no es C-BSR: Almacenar RP-Set y dirección y prioridad BSR. Reenviar bootstrap TTL=1, dirección “ALL-PIM-ROUTERS”. Arrancar Bootstrap-Timer. Si el BSR del emisor es mejor o igual que el almacenado localmente: –Almacenar RP-Set y dirección y prioridad BSR –Reenviar bootstrap TTL=1, dirección “ALL-PIM-ROUTERS” –Arrancar Bootstrap-Timer Si el receptor no tiene información acerca del RP-set y el bootstrap es recibido unicast de un neighbor directamente conectado –Almacenar BSR y RP-set Recepción de un nuevo RP-Set por parte de un router: –Por cada entrada (*,G), (*,*,RP) y (S,G)RPT=1 determinar si el RP está o no en el nuevo RP-Set. –Si no está, y es posible, calcular nuevo RP con función de hash y redistribuir los grupos. –Para un nuevo RP, calcular su valor para las entradas; si es mayor que el actual, reemplaza al RP anterior Recepción de un bootstrap por parte de un router Chequear si el mensaje es recibido por el neighbor hacia el emisor, si no, descartar. Si el BSR emisor del bootstrap no es mejor o igual que el almacenado localmente: –Bootstrap timer activo o router es C-BSR: Descartar el bootstrap. –Bootstrap Timer expiró y router no es C-BSR: Almacenar RP-Set y dirección y prioridad BSR. Reenviar bootstrap TTL=1, dirección “ALL-PIM-ROUTERS”. Arrancar Bootstrap-Timer. Si el BSR del emisor es mejor o igual que el almacenado localmente: –Almacenar RP-Set y dirección y prioridad BSR –Reenviar bootstrap TTL=1, dirección “ALL-PIM-ROUTERS” –Arrancar Bootstrap-Timer Si el receptor no tiene información acerca del RP-set y el bootstrap es recibido unicast de un neighbor directamente conectado –Almacenar BSR y RP-set Recepción de un nuevo RP-Set por parte de un router: –Por cada entrada (*,G), (*,*,RP) y (S,G)RPT=1 determinar si el RP está o no en el nuevo RP-Set. –Si no está, y es posible, calcular nuevo RP con función de hash y redistribuir los grupos. –Para un nuevo RP, calcular su valor para las entradas; si es mayor que el actual, reemplaza al RP anterior

17 IP Multicast 1999 - grigotti@exa.unicen.edu.ar17 Envío y recepción de anuncios C-RP Envio de Candidate-RP-Advertisments –Envío periódico (config. local) unicast de cada candidato a RP hacia el BSR del dominio –C-RP indica prioridad, tiempo de vida del anuncio y grupos que acepta Recepción de Candidate-RP-Advertisments –Router no es elected BSR: Ignora –Router es elected BSR: Almacena dirección del emisor como candidato a RP para los grupos anunciados Arranca un timer con valor Holdtime del RP para eliminar la entrada Si la pioridad del C-RP-Advertisment es distinta de cero, el BSR puede cambiar el prefijo anunciado El BSR puede aplicar políticas locales para controlar el número de RPs anunciados en los bootstrap Envio de Candidate-RP-Advertisments –Envío periódico (config. local) unicast de cada candidato a RP hacia el BSR del dominio –C-RP indica prioridad, tiempo de vida del anuncio y grupos que acepta Recepción de Candidate-RP-Advertisments –Router no es elected BSR: Ignora –Router es elected BSR: Almacena dirección del emisor como candidato a RP para los grupos anunciados Arranca un timer con valor Holdtime del RP para eliminar la entrada Si la pioridad del C-RP-Advertisment es distinta de cero, el BSR puede cambiar el prefijo anunciado El BSR puede aplicar políticas locales para controlar el número de RPs anunciados en los bootstrap

18 IP Multicast 1999 - grigotti@exa.unicen.edu.ar18 Elección del RP para un grupo Función común aplicada en todos los routers del dominio Mapea un grupo en uno de los RPs que cubren el grupo Procedimiento: –Dado un grupo G, seleccionar los RP que cubren el grupo y tienen más alta prioridad –A cada posible RP, aplicarle la función de hashing y obtener un valor V –Seleccionar como RP para el grupo, el de valor V más alto –Si coinciden los valores V, seleccionar el de dirección IP más alta Función de hashing: –V = (1103515245 * ((1103515245 * (G & M) + 12345) XOR C) + 12345) mod 2^31 G: grupo M:Máscara de hashing C: Candidato a RP Función común aplicada en todos los routers del dominio Mapea un grupo en uno de los RPs que cubren el grupo Procedimiento: –Dado un grupo G, seleccionar los RP que cubren el grupo y tienen más alta prioridad –A cada posible RP, aplicarle la función de hashing y obtener un valor V –Seleccionar como RP para el grupo, el de valor V más alto –Si coinciden los valores V, seleccionar el de dirección IP más alta Función de hashing: –V = (1103515245 * ((1103515245 * (G & M) + 12345) XOR C) + 12345) mod 2^31 G: grupo M:Máscara de hashing C: Candidato a RP

19 IP Multicast 1999 - grigotti@exa.unicen.edu.ar19 Timers Relativos a neighbor discovery Hello-Timer: Usado para enviar Hellos periódicamente en todas las interfaces. –Inicialmente configurado con un valor al azar entre 1 y [Hello-Period]. Neighbor-Timer: Usado para eliminar la entrada relativa a un neighbor. –Uno por neighbor –Configurado con el valor Holdtime cada vez que se recibe un Hello del neighbor. Relativos a información de RPs C-RP-Adv-Timer: Usado para enviar C-RP-Advertisments periódicos por los routers C-RP. –Inicialmente configurado con un valor al azar entre 1 y [C-RP-Adv-Period]. RP-Timer: Usado por el BSR para eliminar entradas de los RPs. –Configurado con el valor Holdtime del C-RP-Advertisment. –Rearrancado cada vez que llega el C-RP-Advertisment. Bootstrap-Timer: –Usado por el BSR para generar bootstraps periódicamente. –Usado por otros routers para eliminar la información del BSR, si no reciben bootstrap. Relativos a neighbor discovery Hello-Timer: Usado para enviar Hellos periódicamente en todas las interfaces. –Inicialmente configurado con un valor al azar entre 1 y [Hello-Period]. Neighbor-Timer: Usado para eliminar la entrada relativa a un neighbor. –Uno por neighbor –Configurado con el valor Holdtime cada vez que se recibe un Hello del neighbor. Relativos a información de RPs C-RP-Adv-Timer: Usado para enviar C-RP-Advertisments periódicos por los routers C-RP. –Inicialmente configurado con un valor al azar entre 1 y [C-RP-Adv-Period]. RP-Timer: Usado por el BSR para eliminar entradas de los RPs. –Configurado con el valor Holdtime del C-RP-Advertisment. –Rearrancado cada vez que llega el C-RP-Advertisment. Bootstrap-Timer: –Usado por el BSR para generar bootstraps periódicamente. –Usado por otros routers para eliminar la información del BSR, si no reciben bootstrap.

20 IP Multicast 1999 - grigotti@exa.unicen.edu.ar20 Timers Relativos al mantenimiento de árboles de distribución Join/Prune-Timer: Usado para enviar J/Ps periódicamente en todas las interfaces de acuerdo a las entradas. –Inicialmente configurado con un valor al azar entre 1 y [Join/Prune-Period]. Join/Prune-Supression-Timer: Usado en vínculos multiacceso para evitar J/P duplicados. –Uno por entrada. –Si se recibe un J/P por la iif de la entrada con Holdtime mayor que el propio, se inicializa con [Join/Prune-Supression-Timeout] más un valor al azar para evitar sincronismo. –Mientras el timer está activo, no se envían J/P para la entrada Oif-Timer: Uno por cada oif de cada entrada. Usado para eliminar la oif de la entrada. –Cuando el timer expira, la oif es eliminada de la entrada si no hay miembros conectados directamente. Relativos al mantenimiento de árboles de distribución Join/Prune-Timer: Usado para enviar J/Ps periódicamente en todas las interfaces de acuerdo a las entradas. –Inicialmente configurado con un valor al azar entre 1 y [Join/Prune-Period]. Join/Prune-Supression-Timer: Usado en vínculos multiacceso para evitar J/P duplicados. –Uno por entrada. –Si se recibe un J/P por la iif de la entrada con Holdtime mayor que el propio, se inicializa con [Join/Prune-Supression-Timeout] más un valor al azar para evitar sincronismo. –Mientras el timer está activo, no se envían J/P para la entrada Oif-Timer: Uno por cada oif de cada entrada. Usado para eliminar la oif de la entrada. –Cuando el timer expira, la oif es eliminada de la entrada si no hay miembros conectados directamente. Valor Evento Entradas Holdtime Agregado de oif por recepción de J/P (S,G) (*,G) (*,*,RP) Incrementado a Holdtime Recepción de Join/Prune (S,G) (*,G) (*,*,RP) valor oif-timer de (*,*,RP) Restart de oif-timer de entrada (*,*,RP) (S,G) (*,G) valor oif-timer de (*,G) Restart de oif-timer de entrada (*,G) (S,G)

21 IP Multicast 1999 - grigotti@exa.unicen.edu.ar21 Timers Relativos al mantenimiento de árboles de distribución Register-Supression-Timer:Usado para no enviar Registers (si activo) al RP. –Uno por entrada (S,G). –Inicializado al recibir un Register-Stop del RP. Assert-Timer: Usado para mantener válida la información recibida en un Assert. –Iniciado para una entrada (S,G) o (*,G) al recibir un assert. –Al finalizar, el router actualiza su mejor (RPF) neighbor de aceurdo al ruteo unicast. Random-Delay-Join-Timer: Usado para evitar sincronización entre routers de una LAN cuando envían Join/Prunes al cambiar el RPF para una entrada (S,G) o (*,G). –Al expirar, el router envía el Join/Prune Entry-Timer: Usado para enviar eliminar entradas (cuando el timer se vuelve cero). –Uno por entrada –En el caso de eliminar una entrada (*,G) o (*,*,RP), se eliminan las (S,G)RPT=1 asociadas. Relativos al mantenimiento de árboles de distribución Register-Supression-Timer:Usado para no enviar Registers (si activo) al RP. –Uno por entrada (S,G). –Inicializado al recibir un Register-Stop del RP. Assert-Timer: Usado para mantener válida la información recibida en un Assert. –Iniciado para una entrada (S,G) o (*,G) al recibir un assert. –Al finalizar, el router actualiza su mejor (RPF) neighbor de aceurdo al ruteo unicast. Random-Delay-Join-Timer: Usado para evitar sincronización entre routers de una LAN cuando envían Join/Prunes al cambiar el RPF para una entrada (S,G) o (*,G). –Al expirar, el router envía el Join/Prune Entry-Timer: Usado para enviar eliminar entradas (cuando el timer se vuelve cero). –Uno por entrada –En el caso de eliminar una entrada (*,G) o (*,*,RP), se eliminan las (S,G)RPT=1 asociadas. Valor Evento Entradas Data-Timeout Creada por llegada de paquete de datos (S,G) Holdtime del J/P Creada por recepción de Join/Prune (S,G) (*,G) (*,*,RP) Aumentado a Data-Timeout Recepción de paquete de datos (S,G)RPT=0 Aumentado a valor oif-timer Restart de cualquier oif-timer de entrada (S,G)RPT=1 (*,G) (*,*,RP) Aumentado a Assert-Timeout Recepción de un assert (S,G)RPT=1 (*,G) con oiflist nula

22 IP Multicast 1999 - grigotti@exa.unicen.edu.ar22 Valores por defecto para los timers Valores recomandados para la versión actual de PIM-SM. En versiones posteriores, los valores por defecto podrán basarse en la aplicación de mecanismos en base a valores observados en la red. Join-Prune-Period: 60 segs –Intervalo de envío de los Join/Prunes periódicos. –Puede ser ajustado según características de cada vínculo. Join-Prune-Holdtime :3.5 * Join-Prune-Period (210 segs) –Valor especificado en los J/P, usado para eliminar las oifs. Join/Prune-Supression-Timeout: Aprox. 1.25 * Join-Prune-Period (75 segs.). –Tiempo de inhibición de envío de J/Ps al recibir uno con mayor Holdtime (macceso). Data-Timeout: 210 segs. –Intervalo luego del cual la entrada específica de un S es eliminada si no se reciben datos. Register-Supression-Timeout: 60 segs. –Tiempo durante el cual, un DR que recibe Register-Stop no encapsula al RP. Probe-Time : 5 segs. –Tiempo restante p/expiración de Register-Supresion-Timer para envío de null Register. Assert-Timeout: 180 segs. –Intervalo luego del cual se invalida la información recibida vía Assert. Valores recomandados para la versión actual de PIM-SM. En versiones posteriores, los valores por defecto podrán basarse en la aplicación de mecanismos en base a valores observados en la red. Join-Prune-Period: 60 segs –Intervalo de envío de los Join/Prunes periódicos. –Puede ser ajustado según características de cada vínculo. Join-Prune-Holdtime :3.5 * Join-Prune-Period (210 segs) –Valor especificado en los J/P, usado para eliminar las oifs. Join/Prune-Supression-Timeout: Aprox. 1.25 * Join-Prune-Period (75 segs.). –Tiempo de inhibición de envío de J/Ps al recibir uno con mayor Holdtime (macceso). Data-Timeout: 210 segs. –Intervalo luego del cual la entrada específica de un S es eliminada si no se reciben datos. Register-Supression-Timeout: 60 segs. –Tiempo durante el cual, un DR que recibe Register-Stop no encapsula al RP. Probe-Time : 5 segs. –Tiempo restante p/expiración de Register-Supresion-Timer para envío de null Register. Assert-Timeout: 180 segs. –Intervalo luego del cual se invalida la información recibida vía Assert.

23 IP Multicast 1999 - grigotti@exa.unicen.edu.ar23 Valores por defecto para los timers Random-delay-Join-Timeout: 4.5 segs –Intervalo máximo de envío de los Join/Prunes ante cambios en el RPF. Hello-Period: 30 segs –Intervalo entre el envío de Hellos. Hello-Holdtime: 3.5 * Hello-Period (105 segs.). –Tiempo de validez de las entradas almacenadas para los neighbors. C-RP-Adv-Period: 60 segs. –Intervalo de tiempo entre dos C-RP-Advertisments para los routers C-RP. RP-Holdtime: 2.5 * C-RP-Adv-Period: 150 segs. –Tiempo de validez de una entrada para un RP en el BSR. Bootstrap-Period: 60 segs. –Intervalo de tiempo entre dos Bootstraps periódicos emitidos por el BSR. Bootstrap-Timeout: 2 * Bootstrap-Period + 10 ( 130 segs.) –Intervalo luego del cual se considera al BSR caído si no se reciben sus bootstraps. Random-delay-Join-Timeout: 4.5 segs –Intervalo máximo de envío de los Join/Prunes ante cambios en el RPF. Hello-Period: 30 segs –Intervalo entre el envío de Hellos. Hello-Holdtime: 3.5 * Hello-Period (105 segs.). –Tiempo de validez de las entradas almacenadas para los neighbors. C-RP-Adv-Period: 60 segs. –Intervalo de tiempo entre dos C-RP-Advertisments para los routers C-RP. RP-Holdtime: 2.5 * C-RP-Adv-Period: 150 segs. –Tiempo de validez de una entrada para un RP en el BSR. Bootstrap-Period: 60 segs. –Intervalo de tiempo entre dos Bootstraps periódicos emitidos por el BSR. Bootstrap-Timeout: 2 * Bootstrap-Period + 10 ( 130 segs.) –Intervalo luego del cual se considera al BSR caído si no se reciben sus bootstraps.

24 IP Multicast 1999 - grigotti@exa.unicen.edu.ar24 Resumen de flags utilizados Flag Usado en Significado Border Register Register originado por un PMBR con datos de un emisor externo al dominio Null Register Register enviado como Probe al RP, para evitar ráfagas de Registers RPT Entrada La entrada representa al árbol compartido RPT Join/Prune J/P asociado al árbol compartido, y propagado por él. El campo emisor (source) es la dirección del RP correspondiente RPT Assert El datagram de datos está siendo enviado por el árbol compartido, por lo tanto el camino indicado corresponde al árbol compartido. SPT Entrada (S,G) Ya han llegado paquetes por la iif de la entrada, que es diferente a la de (*,G). WC Join/Prune El receptor espera recibir de todos los emisores del grupo, por lo tanto el J/P se aplica al árbol compartido (*,G). WC Entrada Indica que la entrada hace matching para todos los emisores del grupo


Descargar ppt "IP Multicast 1999 - Construcción y mantenimento de árboles de distribución Procedimientos explícitos para unirse a un árbol."

Presentaciones similares


Anuncios Google