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

Slides:



Advertisements
Presentaciones similares
Dirección IP - Características
Advertisements

Introducción al enrutamiento y envío de paquetes
IP Multicast Vínculos multiacceso: Assert Objetivo: Resolver para una entrada en una interfaz multiacceso, el router.
PROTOCOLOS Y ESTANDARES DE RED
Problemas asociados a DHCP. Seguridad
IP Multicast DVMRP Definido en RFC 1075 (Distance Vector Multicast Routing Protocol), Nov Actualizado (version.
IP Multicast IGMP Host Extensions for IP Multicasting, RFC 1112, Agosto Define: –Modificaciones en los hosts.
IP Multicast DVMRP:Informacion respecto a interfaces Tipo Tunel, source routing, fisica querier, fisica no querier.
IP Multicast CBT: Keepalive Mecanismo para mantener el estado creado por JOINs (REQUEST/ACK). Opera entre nodos adyacentes.
RIP Routing Information Protocol (Protocolo de Información de Enrutamiento). Es un protocolo de puerta de enlace interna o IGP (Internal Gateway Protocol)
Enginyería de Xarxes Alberto Guerrero Raúl Moreno Carlos Rodríguez
Enginyería de Xarxes Daniel Brañas Jaled Yacoub Toni Espinosa
Curso: Config. Dispositivos de Red MSc. Sergio Quesada Espinoza.
Conceptos y protocolos de enrutamiento. Capítulo 7
ICMP - IGMP David Alejandro Álzate Fernando González David Cuello
© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public 1 Protocolos de enrutamiento de estado de enlace Conceptos y protocolos de enrutamiento.
Sebastián Barbieri IP - ICMP Comunicación de Datos II Ingeniería en Sistemas – Facultad Cs. Exactas Universidad Nacional de Centro de la Prov. de Bs. As.
1 Capítulo 16: Datagramas IP y Reenvío de Datagramas ICD 327: Redes de Computadores Agustín J. González.
Comunicación de Datos I
SWITCHES.
7: Multimedia en Redes de Computadores7-1 Capítulo 7 Multimedia en Redes de Computadores Computer Networking: A Top Down Approach Featuring the Internet,
Conceptos y protocolos de enrutamiento. Capítulo 7
RIPv2 e IGRP. Protocolos de ruteo de Vector de distancia.
1 Capítulo 18: El futuro de IP, IPv6 ICD-327: Redes de Computadores Agustín J. González.
Conceptos y protocolos de enrutamiento. Capítulo 5
Protocolos de enrutamiento por vector de distancia
III. Protocolo RIP Versión 1.
IP Multicast Simple Multicast Definido en “Simple Multicast: A Design for Simple, Low-overhead Multicast”, Internet.
LISTAS DE CONTROL DE ACCESO (ACL)
DIDACTIFICACION DE IPv6 3.2 Stateless. Introducción a IPv6 RFC 4862: Stateless Address Autoconfiguration (SLAC) En la configuración stateless los equipos.
IP Multicast Servicios de transmisión Transmisión punto a punto (unicast): –Un emisor, un receptor. –Tipo de transmisión.
Capítulo 6: Routing estático
DIDACTIFICACION DE IPv6 2. CABECERA, DIRECC. Y CONFIG. BÁSICA
IP Multicast PIM-DM Definido en como draft (draft-ietf-pim-v2-dm-01.txt), Protocol Independent Multicast Version 2 Dense.
1 MENSAJES DE CONTROL Y ERROR DE LA PILA TCP/IP Semestre 2 Capítulo 8 Carlos Bran
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Enrutamiento IP. Enrutamiento IP El router como una computadora Describa la función básica de un router Son computadoras que se especializan en el.
Network Layer4-1 Del Capítulo 4 Ruteo Broadcast y Multicast Agustín J. González Tomado de: Computer Networking: A Top Down Approach Featuring the Internet,
Javier Rodríguez Granados
Aspectos básicos de networking: Unidad 5
Configuracion de protocolos
Capa de Red4-1 Capítulo 4: Capa de Red  4. 1 Introducción  4.2 Circuitos virtuales y redes de datagramas  4.3 ¿Qué hay dentro de un router?  4.4 IP:
La tabla de enrutamiento: Un estudio detallado
Algoritmos de Ruteo - Introducción Comunicación de Datos II – Aldo Rubiales Facultad de Ciencias Exactas - UNCPBA  La función principal de la capa de.
TECNOLOGÍA DE TELECOMUNICACIONES DIRECCIONAMIENTO IPv6.
Funcionamiento del protocolo DHCP. Tipo de mensajes
© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public 1 RIP versión 1 Conceptos y protocolos de enrutamiento. Capítulo 5.
CAPA DE RED DEL MODELO OSI.
REDES.
CAPA DE RED PROTOCOLOS.
© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public 1 Enrutamiento estático Conceptos y protocolos de enrutamiento. Capítulo 2.
Protocolos de Enrutamiento Multicast Sistemas de Comunicación Grupal.
TECNOLOGÍA DE TELECOMUNICACIONES
TCP garantiza que la información es recibida en orden. Para ello, cada paquete enviado tiene un número de secuencia. Cada uno de los dos procesos involucrados.
Introducción a los protocolos de enrutamiento dinámico
Multicast IP Alfonso Alvarado Christian Bravo.
Tecnologías WAN (MODULO ESPECIALIDAD) Instituto Tecnológico Superior de Misantla. INGENIERIA EN SISTEMAS COMPUTACIONALES Unidad II: Protocolos WAN 2.1.-
UD 1: “Introducción a los servicios de red e Internet” Protocolo IP. –Direccionamiento de Red – IPv4 –Direccionamiento de Red.- IPv6 Gustavo Antequera.
LMI (interfaz de administración local)
Protocolos de Enrutamiento Multicast
Protocolos de Enrutamiento Sistemas de Comunicación Grupal.
Sistemas de Comunicación Grupal
© 2008 Cisco Systems, Inc. Todos los derechos reservados.Información confidencial de Cisco Presentation_ID 1 Capítulo 9: División de redes IP en subredes.
SERVICIOS EN RED UT2 – Servicios DHCP.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Capítulo 6: Enrutamiento Estático Protocolos de Enrutamiento.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Capítulo 8: OSPF de una área Protocolos de enrutamiento.
Módulo 7: Resolución de nombres NetBIOS mediante el Servicio de nombres Internet de Windows (WINS)
Sistemas de Comunicación Magistral Nro. 6 Capa 3: Red La Capa de Red provee principalmente los servicios de envío, enrutamiento (routing) y control de.
Transcripción de la presentación:

IP Multicast 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).

IP Multicast 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

IP Multicast 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: 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: 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).

IP Multicast 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.

IP Multicast 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

IP Multicast 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

IP Multicast 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

IP Multicast 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

IP Multicast 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

IP Multicast 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

IP Multicast 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

IP Multicast 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.

IP Multicast 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.

IP Multicast 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

IP Multicast 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

IP Multicast 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

IP Multicast 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

IP Multicast 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 = ( * (( * (G & M) ) XOR C) ) 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 = ( * (( * (G & M) ) XOR C) ) mod 2^31 G: grupo M:Máscara de hashing C: Candidato a RP

IP Multicast 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.

IP Multicast 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)

IP Multicast 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

IP Multicast 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 * 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 * 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.

IP Multicast 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.

IP Multicast 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