lunes, 10 de diciembre de 2012

Configuración de Multicast en redes Cisco

 

Introducción

Multicast IP es una tecnología que facilita el ahorro de ancho de banda reduciendo el tráfico transmitido al enviar una única trama de información simultáneamente a varios receptores, a diferencia del tráfico Unicast, en el que se envía una trama a cada uno de los receptores. Dentro de las aplicaciones que se benefician de esta tecnología se incluye la videoconferencia, e-learning, comunicaciones corporativas, y la que ha motivado su implantación en la red de SAICA: la retransmisión de TV en directo, vídeo y audio a cualquier punto de la red optimizando el ancho de banda.

Conceptos básicos


Direcciones multicast en Ethernet

En Ethernet una dirección es multicast si y sólo si el segundo dígito hexadecimal es impar.
Ejemplos: AB-00-03-00-00-00 01-00-5e-00-00-01

Direcciones multicast en IPv4

Comprende el rango de direcciones IP 224.0.0.0 - 239.255.255.255

Resolución de direcciones multicast

Para resolver la equivalencia entre las direcciones IP (nivel de red) y las direcciones MAC (nivel de enlace) no se emplea ARP o un protocolo similar, sino que se utiliza un mapeo directo de una dirección a otra. Las direcciones IP siempre se traducen en direccione MAC con 01-00-5e en los primeros 24 bits y un cero en el bit siguiente. En los 23 bits restantes se escriben los últimos 23 bits de la dirección IP. Una consecuencia de este mapeo es la correspondencia biunívoca de direcciones. Para cada MAC multicast existen 32 IPs posibles. Por ejemplo, a las IPs 224.0.0.1 y 224.128.0.1 corresponde la MAC 0100.5e00.0001.

Multicast en una LAN

Por defecto, en una LAN el tráfico multicast se trata como el tráfico broadcast, es decir, se reenvía a todos los interfaces del switch o hub. Para evitar esto, los switches implementan protocolos que optimizan la retransmisión de las tramas multicast: CGMP y IGMP Snooping. Siempre que los switches lo soporten se recomienda la segunda opción.

IGMP (Internet Group Management Protocol)

Se utiliza para mantener los grupos multicast. Permite que los hosts notifiquen a los routers cuáles son los grupos multicast en los que están interesados. Los mensajes IGMP se envían con TTL=1, por lo que el ámbito de aplicación es la LAN.

Routing Multicast

Se va a encargar de llevar el tráfico desde los emisores los grupos activos a través de los routers de la red. Hay dos modos:

Modo denso (Dense mode)
Consiste en difundir los datagramas multicast por toda la red y esperar a que los routers que no los deseen lo indiquen explicitamente.

Modo disperso (Sparse Mode)
Consiste en difundir la información únicamente a los routers que previamente la han solicitado. Los routers que deseen adherirse al grupo deben indicarlo mediante una petición explícita. El modo disperso es el recomendado y el más utilizado en redes en producción. Para construir la tabla de routing multicast se emplea un protocolo llamado PIM (Protocol Independent Multicast), que se basa en la tabla de routing unicast para construir su tabla. Para localizar a los emisores se establece un punto de encuentro donde los emisores se registran y los receptores van a preguntar. Este punto de encuentro es un router denominado Rendezvous Poing (RP).

Multicast en Internet

En la práctica, el Multicast IP está confinado a la parte académica de la red, y muy pocos ISPs los implementan en sus redes. Algunos ISPs utilizan multicast IP internamente, pero sin posibilidad de salida al exterior.

Configuración de Multicast

Para la red de SAICA se ha seleccionado IGMP Snooping para el nivel 2, PIM-SM como protocolo de routing multicast y Anycast-RP para la configuración de los RPs. Siguiendo las recomendaciones de la IANA se ha seleccionado el rango 239.195.0.0/16 para asignar IPs a los grupos multicast. Este rango corresponde a la recomendación de direccionamiento para las redes tipo "Campus", que en estes caso comprende las redes de Zaragoza y El Burgo. La elección de Anycast-RP en lugar de Auto-RP viene dada porque con esta configuración no es necesario realizar el filtrado de los anuncios que genera el Auto-RP. Anycast-RP garantiza alta disponibilidad combinado con una configuración estática del RP en los routers de la red. El SWS1-246 y SWS1-247 se han seleccionado como RPs para la red de SAICA.

Configuración de los RPs

En los Cat6509 de Zaragoza, que actuan cómo RPs, la configuracion de multicast es la siguiente:

SWS1-246
(config)# ip multicast routing         --> comando a nivel global que habilita el router multicast
(config)# int loopback 1               --> creamos un interfaz de loopback para el RP
(config-if)# ip address 10.161.2.230 255.255.255.255
(config-if)# ip pim sparse-mode
(config)# ip pim rp-address 10.161.2.230   --> indica quién es el RP
(config)# ip msdp peer 10.161.2.247 connect-source Loopback0 --> configuración de MSDP
(config)# ip msdp mesh-group anycast 10.161.2.247 --> crea un grupo de MSDP
(config)# ip msdp originator-id Loopback0 
Además de la configuración global de multicast, hay que habilitar el protocolo PIM-SM en todos los interfaces por los que queremos que se propague el tráfico multicast. Por ejemplo:
(config)# int vlan 101
(config-if)# ip pim sparse-mode
(config)# int vlan 7
(config-if)# ip pim sparse-mode
(config) int gi8/47
(config-if)# ip pim sparse-mode
...
 
De manera análoga, la configuración del SWS1-247 es la siguiente:

SWS1-247
(config)# ip multicast routing         --> comando a nivel global que habilita el router multicast
(config)# int loopback 1               --> creamos un interfaz de loopback para el RP
(config-if)# ip address 10.161.2.230 255.255.255.255
(config-if)# ip pim sparse-mode
(config)# ip pim rp-address 10.161.2.230   --> indica quién es el RP
(config)# ip msdp peer 10.161.2.246 connect-source Loopback0 --> configuración de MSDP
(config)# ip msdp mesh-group anycast 10.161.2.246 --> crea un grupo de MSDP
(config)# ip msdp originator-id Loopback0 
 
Y para habilitar el enrutamiento multicast en los interfaces de routing:

(config)# int vlan 101
(config-if)# ip pim sparse-mode
(config)# int vlan 7
(config-if)# ip pim sparse-mode
(config) int gi8/47
(config-if)# ip pim sparse-mode
...

Configuración de otros routers

La configuración del resto de routers por los que queremos que se transmitan las tramas multicast es bastante sencilla, ya que únicamente hay que habilitar el routing multicast a nivel global, el protocolo PIM-SM en cada interfaz e indicar la dirección IP del RP. Se muestra un ejemplo válido para cualquier router de la red así como para los Cat6509 de El Burgo:
(config)# ip multicast-routing
(config)# int gi7/48
(config-if)# ip pim sparse-mode
(config)# int vlan 98
(config-if)# ip pim sparse-mode
(config)# ip pim rp-address 10.161.2.230

Configuración de los switches de acceso

Los switches de acceso de SAICA sólo trabajan en el nivel 2, por lo que no se requiere configuración del routing multicast. Además, el protocolo IGMP Snooping viene habilitado por defecto, por lo que no es necesaria ninguna configuración para que las tramas multicast se retransmitan únicamente a los puertos desde los que se solicite suscripción a algún grupo multicast.