Академический Документы
Профессиональный Документы
Культура Документы
Multicast - Temario
Concepto de Multicast. Unicast, broadcast y multicast Concepto de grupo. Direccionamiento. IGMP Arboles de distribucion. RP. Multicast forwarding - RPF. PIM: DM, SM y SDM. Multicast en capa 2. CGMP e IGMP snooping. Multicast entre dominios: MBGP y MSDP
Multicast - Concepto
Es un mecanismo eciente para transmitir los mismos datos a multiples receptores. Unicast: por cada receptor un stream de datos Broadcast: se replican los datos a todos los puntos de la red Multicast: solo se gasta el BW minimo, solo aquellos interesados reciben los datos.
Grupo multicast
Un grupo arbitrario de receptores pide recibir un stream de datos particular. Este grupo no tiene limites sicos o geogracos Los interesados se suman a un grupo (join) mediante IGMP Los hosts deben ser miembros de un grupo para recibir los datos.
Direccionamiento: Clase D
IANA asigno para Multicast el bloque 224.0.0.0-239.255.255.255 Cada IP de estos representa un grupo Los paquetes destinados a un IP de la clase D son recibidos por todos los suscriptos a ese grupo La direccion fuente es un IP unicast Dentro de este bloque tenemos distintos usos, como veremos.
Ejemplo (link-local):
224.0.0.1 --> indica todos los sistemas en la subnet 224.0.0.2 --> todos los routers en la subnet 224.0.0.5 --> routers OSPF 224.0.0.6 --> OSPF "designated routers" 224.0.0.10 --> Todos los routers IGRP
Direcciones GLOP
Rango 233.0.0.0/8 Para ser usadas por organizaciones que tienen un sistema autonomo El sistema autonomo se codica entre el 2do y 3er byte Ej: 4270 --> 233.16.174.0 27822 --> 233.108.174.0
IGMP version 1
Descrito por RFC1112 Dos tipos de Mensaje: membership query y report Los hosts envian membership reports para indicar join a un grupo El router periodicamente (60 segs) envia membership query para vericar que al menos un host en la subnet sigue interesado en el grupo Despues de 3 pasadas consecutivas sin respuesta, el router dejara de forwardear traco para ese grupo por esa interfaz
IGMP version 2
Denido por RFC2236 4 tipos de mensaje: membership query v1 membership report v2 membership report leave group Principal diferencia: los hosts pueden indicar "leave group". El router pregunta una vez y si no hay otros interesados en ese grupo, suspende ese traco (en la interfaz correspondiente). Ventaja: traco innecesario se detiene antes.
IGMP version 3
Denido por RFC3376 Incorpora la posibilidad de especicar emisores (sources) Utilizado para SSM 2 tipos de mensaje nuevos: Group-source Report: permite a los hosts especicar de que emisores pueden recibir datos Group-Source Leave: permite que un host pueda especicar la direccin IP de un emisor y grupo que quiere abandonar
IGMP Versin 3
Membership Query Message
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 0x11 | Max Resp Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Resv |S| QRV | QQIC | Number of Sources (N) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address [1] | +-+ | Source Address [2] | +. -+ . . . . . . +-+ | Source Address [N] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Arboles de distribucion
Los routers que soportan multicast crean "arboles de distribucion", que controlan el camino que los paquetes IP multicast deben tomar. Estos arboles se arman manteniendo informacion de "estados" en los routers (estados => memoria) Dos tipos basicos de arboles de distribucion: fuentes y compartidos (source trees y shared trees).
Source trees
Es un arbol que como raiz tiene a la fuente emisora y como hojas a los receptores Por usar el camino mas corto, tambien se les llama "shortest path tree" (SPT). Notacion: (S, G), donde S indica la fuente y G el grupo. Ejemplo: (200.10.202.3, 224.14.13.25). Implica que hay un SPT separado para cada fuente (memoria en los routers!!!)
Shared trees
A diferencia de los source trees, la raiz es un punto comun puesto en algun lugar determinado de la red Varias fuentes emisoras pueden compartir el arbol de distribucion. La raiz del arbol se llama RP (Rendezvous Point) Los emisores envian el traco al RP y de ahi se usa el arbol compartido para llegar a los receptores.
RP Rendezvous Point
Permite rboles compartidos ademas de fuente Es el punto donde se encuentran los emisores y receptores Raz del rbol compartido Posee la informacin de las fuentes de contenido de la red Los RP se conguran:
Consideraciones
Los arboles de distribucion son dinamicos: cuando todos los receptores de una rama dejan de recibir traco, el router hace un "prune" de esa rama (cambia el arbol). Si un receptor de esa rama se activa, el router debe modicar el arbol SPT: camino optimo entre S y G. Latencia minima. Los routers deben tener informacion de path para cada source. Miles de fuentes y miles de grupos => problemas... Shared trees: minima cantidad de estados en cada router (memoria). Desventaja: los caminos pueden no ser optimos (bastante malos en realidad!). Importancia de ubicar bien el RP!
Multicast forwarding
Olviden lo aprendido de ruteo "unicast"! Multicast hace forwarding tomando en cuenta de donde viene el paquete Se verica que el paquete haya entrado por la interfaz que llevaria hacia la fuente (up stream) De esta forma se comprueba que el paquete esta siguiendo el arbol de distribucion. Si no es asi, el paquete se descarta. Esto se llama Reverse Path Forwarding (RPF)
Multicast en capa 2
El standard 802.3 (Ethernet) preveia direcciones multicast, que son las que tienen el bit 0 del primer octeto en 1 (01:xx:xx:xx:xx:xx). IANA tiene un bloque de ethernets propio: 01:00:5e:xx:xx:xx, del cual la mitad se usa para multicast: 01:00:5e:00:00:00 a 01:00:5e:7f:ff:ff Esto deja 23 bits en la direccion ethernet para que se correspondan con el grupo IP multicast.
Multcast en capa 2
Que pasa con los switches? Si forwardean para todos lados, pierden el sentido de switch! Tienen que tener un metodo de saber a que ports enviar el traco y a cuales no. Esta informacion solo la saben los routers, es a nivel de capa 3, no 2. Entonces? 2 metodos: CGMP (Cisco propietario) e IGMP Snooping.
IGMP Snooping
El switch entiende los mensajes IGMP (capa 3) Cuando hay un join o un leave, se agrega/borra el port correspondiente El switch debe examinar todos los paquetes multicast, para saber si son IGMP o no! En switches chicos, esto se vuelve muy pesado. Solo valido con ASICs que chequeen IGMP en hardware!
MBGP
Se acuerdan de RPF? Es el mecanismo fundamental para forwarding en multicast MBGP provee un metodo para determinar que prejos (redes) se usaran para realizar el RPF check. Es una extension del BGP para permitir una familia distinta a la de unicast Esto permite tablas y topologias no congruentes entre unicast y multicast. Posibilidad de tener distintas politicas para cada caso.
MSDP
En PIM-SM, emisores y receptores deben registrarse con su RP (el router mas cercano a estos es el que lo hace). Los RP tienen toda la informacion acerca de emisores y receptores dentro de un dominio. Pero como vincular los RP de dominios distintos? Para eso se usa MSDP: cuando un RP recibe informacion de un nuevo emisor dentro de su dominio, manda un SA (source active) a todos sus MSDP peers. Esta informacion se propaga hasta alcanzar todos los dominios multicast interconectados (eventualmente la Internet completa).
MSDP
Si el MSDP peer es un RP y tiene un (*,G) para el grupo que llego en el SA (es decir, hay un interesado en recibir ese grupo), ese RP hace un join con el emisor y comienza a recibir el traco a traves de un SPT. Ese traco es reenviado a traves del (*,G). MSDP permite que ISPs distintos que no quieren compartir un RP puedan intercambiar traco multicast.
Resumen nal
Fundamentos: concepto de grupo vinculado a las direcciones de clase D. Arboles de distribucion: (S,G) vs. (*,G) IGMP: hosts informan a los routers su interes en formar parte de un grupo o no. Forwarding: RPF check PIM: sparse mode y dense mode, algoritmo usado para ruteo dentro de un dominio.