Vous êtes sur la page 1sur 56

Multicast

Conceptos bsicos WALC 2010 Track 4 Guillermo Cicileo

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.

Diferencia con unicast

Diferencia con unicast


Unicast

Diferencia con unicast


Unicast

Diferencia con unicast


Unicast Multicast

Diferencia con unicast


Unicast Multicast

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.

Direcciones reservadas de link-local


Rango 224.0.0.0 - 224.0.0.255 Reservadas para ser usadas por protocolos de red en el segmento de red local (link-local). Nunca deben ser forwardeados por un router. Permanecen locales a la subnet Se transmiten siempre con TTL=1

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

De alcance global (globally scoped)


Rango 224.0.1.0 - 238.255.255.255 Usadas para enviar por multicast entre organizaciones, a traves de la Internet. Algunas direcciones son reservadas (ej. 224.0.1.1 reservada para NTP).

Alcance limitado (limited scope)


Rango 239.0.0.0 - 239.255.255.255 Restringidas a ser usadas dentro de una organizacion Similares en concepto a las IP privadas (10.0.0.0/8) Los routers deben tener ltros para prevenir que el traco hacia estos grupos salga del AS.

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

Algunas direcciones reservadas


Direcciones y proposito: 224.0.0.1 All hosts on a subnet 224.0.0.2 All routers on a subnet 224.0.0.4 All DVMRP routers 224.0.0.5 All MOSPF routers 224.0.0.9 Routing Information Protocol (RIP)-Version 2 224.0.1.1 Network Time Protocol (NTP) 224.0.1.2 SGI Dogght 224.0.1.7 Audio news 224.0.1.11 IETF audio 224.0.1.12 IETF video 224.0.0.13 Protocol Independent Multicasting

IGMP - Internet Group Management Protocol


Usado por los hosts y los routers para identicar pertenencia a un grupo multicast Los hosts indican que pertenecen a un grupo enviando un IGMP a su router Los routers escuchan IGMP y periodicamente "descubren" que grupos estan activos o inactivos en la subnet.

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.

Shared trees (cont.)


Se usa la notacion (*,G) para indicar un arbol compartido para el grupo G. Ejemplo: (*, 224.14.13.25) El * indica cualquier fuente El RP puede ser unico o varios, en funcion de los grupos. El RP es generalmente un router (conguracion).

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:

En forma esttica Auto-RP

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)

RPF - Reverse Path Forwarding


Algoritmo: El router mira el src del paquete y verica en su tabla de ruteo (unicast, multicast) si la ruta a "src" apunta a la interfaz por la cual entro el paquete Si es asi, se forwardea por todas las otras interfaces que corresponda (todas? No!) Si no, se descarta silenciosamente

PIM - Protocol Independent Multicast


Trabaja en base a la informacion de ruteo de los algoritmos tradicionales, de ahi su nombre Usa la tabla unicast de ruteo para realizar RPF check en vez de llevar una tabla multicast de ruteo propia. No se envia informacion de ruteo entre routers Dos modos: dense mode y sparse mode

PIM - Dense Mode


Usa un modelo "push" para inundar con traco multicast toda la red. Metodo de fuerza bruta: solo en ciertas ocasiones puede ser util Inicialmente se envia el traco a toda la red. Los routers que no tienen "downstream" neighbors podan el traco no deseado. Este proceso se repite cada 3 minutos!!! Mediante este metodo de "inundar y podar" (ood & prune) es como los routers acumulan su informacion de estado. PIM-DM solo soporta source trees (S,G), no se pueden construir shared trees.

PIM - Sparse Mode


Utiliza un modelo pull: solo los segmentos de red que tienen interesados reciben el traco (deben haber pedido los datos explicitamente) Se usa un shared tree para distribuir la info. Implementa el concepto de RP, que se debe congurar administrativamente. En algunos casos, el traco puede pasar del arbol compartido a un SPT.

PIM - Sparse Mode


Los routers hacen eso: el traco comienza en un (*,G) y cuando determinan un mejor camino envian un "join" al source para indicarle el nuevo camino (S,G). Para que no pase esto, poner: ip pim spt-threshold innity (evita superpoblar de estados los routers) Escala bien, los "join" explicitos garantizan no inundar la red con traco no deseado.

Cisco: sparse-dense mode


Importante: sparse o dense se deben elegir en funcion del grupo y no de la interfaz! Cisco permite congurar las interfaces como "sparse-dense" y en ese caso el modo de PIM dependera del grupo. CLAVE: si se congura un RP para un grupo, se usara SM. Si el router no encuentra el RP, usa DM!!!! Algunos grupos son solo DM: 224.0.0.x

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.

Mapeo de grupo a MAC


MAC: estan jos los primeros 25 bits: 01:00:5e:ab:cd:ef, donde ab en binario va de 0000.0000 a 0111.1111 (00:00:00 a 7F:FF:FF). Quedan entonces 23 bits. En la direccion multicast: los primeros 4 bits son jos (1110, clase D), los 28 restantes denen el grupo. Problema: 5 bits de perdida de informacion! Ambigedad en el mapeo, relacion 32:1. Consejo: evitar usar grupos que coincidan con los reservados (224.0.0.x, etc)

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.

CGMP - Cisco Grp Mgmt Proto


Permite a los Catalyst obtener info de los routers Basicamente: cuando un host manda un join a un router (para sumarse a un grupo multicast), el router ademas de lo habitual envia un CGMP join al switch. El switch agrega el port del host (y del router) a su CAM (Content Addresable Memory, la tabla de "ruteo" de un switch) junto con la direccion MAC multicast. A partir de alli, solo se enviara el traco a los ports que hayan manifestado interes

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!

Multicast entre dominios


Hasta ahora vimos multicast dentro de un sistema autonomo o un dominio. Para vincular dominios multicast distintos se usa: MBGP - Multiprotocol BGP MSDP - Multicast Source Discovery Protocol

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.

Resumen nal (cont.)


Multicast en capa 2: perdida de informacion al mapear IP a MAC. CGMP e IGMP snooping para los switches. MBGP: ruteo entre dominios, extension al BGP para familia multicast MSDP: vincula RP de dominios distintos, permite pasar traco entre dominios.

Vous aimerez peut-être aussi