cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 
cancel
4524
Visitas
10
ÚTIL
0
Comentarios
lespejel
Level 3
Level 3

 Este documento es una traducción de la presentación que realizamos para la comunidad en inglés y que pueden consultar aquí:

https://supportforums.cisco.com/t5/network-infrastructure-events/webcast-layer-3-multicast-security-and-best-practices/ba-p/3220569

También hay una grabación y diapositivas:

 

En una red existen básicamente 3 tipos de tráfico:

unicast: donde el receptor es una IP definida, por ejemplo, de 10.1.1.1 a 10.1.1.2

broadcast: donde el receptor es todo host que pertenece a una red, por ejemplo 10.1.1.255/24

multicast: donde el receptor se suscribe a un grupo para recibir cierto tráfico, que puede ser de cualquier fuente (*,G) o de una fuente en particular (S,G)

*anycast: es un tipo de tráfico donde asignamos la misma IP a dos dispositivos diferentes (usualmente una loopback) y depués por ruteo se alcanza al dispositivo más cercano.

 

Qué problemas se resuelven con Multicast?

  • El envío de tráfico para un grupo de dispositivos de una manera más eficiente que broadcast.
  • Conserva el ancho de banda disponible
  • Para aplicaciones de uno a muchos: TV, radio, educación a distancia, actualizaciones, distribución de datos (clima, noticas, NTP, sensores IoT)
  • Muchos a muchos: audio y video, distribución y sincronización de datos, chat grupal, aplicaciones financieras, encuestas, censos, juegos multi-jugador.
  • Muchos uno: recolección de datos, video vigilancia, encuestas, censos, sensores de IoT.

Multicast en capa 3 funciona en base al protocolo PIM (protocol independent multicast) que es el protocolo 103 asignado por la IANA y funciona con la señalización mediante los siguientes paquetes:

 

Paquetes multicast

PIM Hello

PIM join/prune

PIM DF-elect (PIM Bidir)

PIM assert

PIM Bootstrap

Paquetes unicast

Source Register packets

Register Stop packets

BSR Candidate-RP advertisement

 

 

 

Funcionamiento básico de Multicast

Los routers que corren PIM envían paquetes de multicast al grupo 224.0.0.13, y los routers en el mismo dominio de colisión (o VLAN) escuchan dichos mensajes y así se dan cuenta de que hay algún vecino, intercambian paquetes de hello y se forman adyacencias de PIM, con lo que poco a poco se va formando el dominio de multicast.

En su forma más simple, tenemos un router que actúa como Rendevouz-Point (punto de reunión) y que es el punto de referencia para todos los routers de mcast en la red.

Cuando tenemos un suscriptor interesado en un grupo de multicast, envía un paquete de IGMP report para avisarle al dispositivo capa 2 de su interés, quien a su vez lo comparte con el siguiente dispositivo capa 3 (que usa como gateway y para multicast es el Last Hop Router) donde se convierte en un paquete de PIM join y se envía al RP y se forma un estado (*,G).

También del lado de la fuente de tráfico pasa algo similar, envía tráfico de mcast al grupo en cuestión y el primer dispositivo capa 3 (First Hop Router) encapsula el primer paquete dentro de un paquete Source Register de mcast (forma un túnel de mcast) y lo envía al RP, donde se desencapsula y se interpreta la fuente u origen del paquete y el grupo al que va dirigido, con esta información formamos un estado (S,G).

El RP ahora conoce un suscriptor y una fuente que pertenecen al mismo grupo, y avisa al FHR que hay un interesado (*,G) y se enpieza a formar el árbol de distribución desde el FHP hasta el LHP con información de PIM, que básicamente revisa el ruteo en forma inversa, el FHP recibe el tráfico y lo reenvía a la interface que por ruteo lleva hacia el FHP, pero el siguiente router recibe el tráfico de mcast y verifica si la interface de entrada es por ruteo por donde se alcanza a la fuente (S,G), si es así, reenvía el tráfico, si no, lo descarta (RPF check). Por supuesto es mucho más elaborado que esta pequeña descripción, pero la idea general es así.

mcast001.JPG

 

 

El RP puede ser definido de forma

  • estática, definiendo una IP en cada router para el RP
  • o dinámica, y hay dos métodos dinámicos de anunciar un RP en la red,
    • BSR (Boostrap, protocolo estándar), utilizando mensajes de multicast a la 224.0.0.13
    • AutoRP (propietario de Cisco) utilizando mensajes a la 224.0.1.39 y 224.0.1.40
  • Anycast, varios RP usando la "misma" IP y conectados entre su para mejorar la escalabilidad en la red.
  • MSDP (multicast source discovery protocol) que se utiliza para intercambiar estados entre routers RP

mcast002.JPG

 

Protección contra ataques

Pasando al tema de seguridad, hay posibles vectores de ataque para multicast, por ejemplo desde un host generando mensajes falsos de :

  • AutoRP o BSR
  • PIM hellos
  • PIM Joins
  • Register o Register-stop falsos

Por eso un host nunca debe ejecutar PIM.

  • Las consideraciones para mitigar estos vectores son:
  • definir interfaces pasivas de PIM
  • CoPP (control plane policing)
  • ACL
  • un buen diseño de red (definir fronteras a los dominios de multicast, dispositivos stub, interfaces pasivas)
  • utilizar el comando ip pim rp-address override con static RP para evitar que se inyecte un RP falso
  • AutoRP control
  • ALC de entrada que filtren posibles mensajes de IGMP o de PIM falsos o indeseados

algunos ejemplos:

ip pim multicast-routing

ip access-list 1 permit 10.0.0.2

ip access-list 1 deny any

interface ethernet0/0

  ip addess 10.0.0.1 255.255.255.0

  ip pim sparse-mode

  ip pim neighbor-filter 1

ip pim multicast-routing

ip access-list 1 permit 10.0.0.1

ip access-list 1 deny any

interface ethernet0/0

  ip addess 10.0.0.2 255.255.255.0

  ip pim sparse-mode

  ip pim neighbor-filter 1

 

MSDP control

ip msdp peer 10.0.0.1

ip msdp password peer 10.0.0.2 $ecret

 

AutoRP control:

mcast003.JPG

BSR control

interface ethernet0/0

  ip pim bsr-border

BSR está basado en PIM y se propaga por saltos entre vecinos, por lo que no es posible bloquearlo usando un ACL porque se bloquerían todos los mensajes de BSR.

 

Access Control para multicast anysource (*,G) o source specific multicast

grupos que se reciben en una interface

grupos utilizables

control plane scoping

Packet level filtering

fuentes conocidas

límite de mroutes

límite de mroutes por interface

ip igmp access-group

ip multicast group-range

ip multicast bounday [acl|ext-acl]

ip access-group [in|out]

ip pim accept-registry

ip multicast route-limit [limit]

ip multicast limit [rpf|out|connected]

 

 

Referencias:

 

Best Practices:

Vamos a comenzar

¡Conecte con otros expertos de Cisco y del mundo! Encuentre soluciones a sus problemas técnicos o comerciales, y aprenda compartiendo experiencias.

Queremos que su experiencia sea grata, le compartimos algunos links que le ayudarán a familiarizarse con la Comunidad de Cisco: