info Настройка DCSCM (Destination control source control multicast) на коммутаторах SNR

 

DCSCM (Destination control source control multicast) - комплекс технологий, позволяющий контролировать мультикаст трафик в сети от источника до потребителя.

На коммутаторах SNR DCSCM состоит из 3х частей: multicast source control, multicast destination control, multicast policy.

 

Пример комплексного применения DCSCM.

 

Multicast source control

Позволяет контролировать входящий поток мультикаста от источника. Может применяться на пограничном коммутаторе, в точке присоединения к сети вещателя мультикаста, а также на коммутаторе, используемом в качестве Rendezvous Point (RP).

Для настройки multicast source control необходимо включить функцию в режиме глобальной конфигрурации:

ip multicast source-control

 Внимание! В момент включения multicast source control на коммутаторе входящий мультикаст трафик будет остановлен!

Далее необходимо создать разрешающие ACL. Для работы source control предусмотрены ip multicast access-lists с номерами 5000-5099, создание именованных ip multicast access-lists не допускается. В целом принцип создания multicast ACL не отличается от создания ip access-list:

access-list {5000-5099} {deny|permit} ip [any|host-source] {ip&mask} [any|host-destination] {ip&mask}

где [any|host-source] {ip&mask} адрес источника мультикаста, [any|host-destination] {ip&mask} адрес мультикаст-группы.

По-умолчанию весь не попавший в ACL трафик будет заблокирован, поэтому после разрешающих правил нет необходимости явно создавать запрещающие.

Например, ACL, разрешающий трафик от любого источника на группу из подсети 239.0.0.0/24, а от источника с адресом 10.0.0.1 на любую группу:

!
access-list 5000 permit ip any-source 239.0.0.0 0.0.0.255
access-list 5000 permit ip host-source 10.0.0.1 any-destination

!

В завершение настройки нужно применить правило на интерфейс в сторону источника мультикаста:

ip multicast source-control access-group {5000-5099}

 

Multicast destinaton control

Позволяет контролировать входящие IGMP-сообщения, можно применить для фильтрации IGMP-join от подписчиков мультикаста. Для работы destination control необходим igmp snooping, поэтому в его также нужно включить в режиме глобальной конфигурации и в тех vlan, в которых планируется его использовать.

!
ip igmp snooping
ip igmp snooping vlan 310
multicast destination-control
!

Для работы destination control, как и для source-control, предусмотрены ip multicast access-lists с номерами 6000-7999, создание именованных ip multicast access-lists не допускается. Принцип создания ACL для destination control аналогичен source control:

access-list {6000-7999} {deny|permit} ip [any|host-source] {ip&mask} [any|host-destination] {ip&mask}

где [any|host-source] {ip&mask} адрес источника мультикаста (для IGMPv3-report), [any|host-destination] {ip&mask} адрес мультикаст-группы.

Также как и для source-control, по-умолчанию весь не попавший в ACL трафик будет заблокирован, поэтому после разрешающих правил нет необходимости явно создавать запрещающие.

 

Например, для того, чтобы разрешить подписку только на мультикаст группы из подсети 239.0.0.0/24, можно создать следующий access list:

access-list 6000 permit ip any-source 239.0.0.0 0.0.0.255

 

В завершение настройки созданное правило нужно применить либо на интерфейс, за которым находится получатель потока, либо на его ip-адрес, либо на связку MAC-Vlan.

команда для применения на интерфейс:

ip multicast destination-control access-group {6000-7999}

на связку VLAN-MAC (в режиме глобальной конфигурации):

ip multicast destination-control {1-4094} {mac-addr} access-group {6000-7999}

на ip-адрес получателя потока (в режиме глобальной конфигурации):

ip multicast destination-control {IP_Addr/mask} access-group {6000-7999}

 

Для более гибкого контроля доступа пользователей к мультикаст-группам рекомендуем ознакомиться с нашей статьей IGMP Authentication

 

Multicast policy

Позволяет задать метку CoS 802.1q для маркировки мультикаст трафика на коммутаторе. Можно задать разные метки для разных источников и/или разных групп:

ip multicast policy {source_ip/mask} {group-ip/mask} cos {0-7}