Внедрение мультикастинга
Технология мультикастинга предусматривает распространение данных от источника — группе получателей. Например - распространение телевизионных каналов ограниченной группе абонентов, при условии, что каждый абонент получает только тот канал, который он заказывал. Для достижения этой цели в IP сетях часто используется связка протоколов IGMP и PIM, хотя есть и другие, менее распространенные варианты.
IGMP + PIM
Для включения в мультикаст группу абонентов, находящихся в непосредственно присоединенных к маршрутизатору сетях, используется протокол IGMP. Для подключения к группе сначала посылается IGMP-сообщение "всем клиентам" о включении в группу, при этом локальный мультикаст-сервер подготавливает маршрут. Маршрутизатор регулярно отправляет запросы с требованием подтверждения участия в группе. Клиент посылает отклик - подтверждение для каждой из групп, если у него (клиента) есть хотя бы один процесс - член группы. Если при очередном запросе клиент не подтверждает членство в группе, то он покидает группу. На основе этих запросов-откликов мультикастинг-маршрутизатор составляет и поддерживает таблицу интерфейсов, которые имеют одного или более клиентов, входящих в мультикастинг-группы.
Для передачи групповых дейтаграмм в другие сети (через систему сетей), используются различные протоколы мультикаст маршрутизации.
Одними из наиболее используемыми современными протоколами мультикаст маршрутизации являются два протокола PIM (Protocol Independent Multicast) - PIM DM (Dense Mode) и PIM SM (Sparse Mode).
В нашем случае, по протоколу PIM передается информация о мультикаст группах всем роутерам вплоть до nord-mk1. Использование протокола PIM DM в нашем случае обусловлено большой плотностью получателей и архитектурой сети. Он не требует доступа к внутренним таблицам маршрутизации, поэтому достигается независимость от протоколов маршрутизации (OSPF, RIP, статическая маршрутизация). PIM DM реализует метод RPF (Reverse Path Forwarding) с усечением (Prune). То есть, при отсутствии получателей на очередном маршрутизаторе, отправляется сообщение Prune, и данный маршрутизатор отсекается от дерева рассылки. Каждые 3 минуты рассылаются пробные дейтаграммы, так как за это время истекает срок сообщения Prune. Время Prune можно задавать в конфигурации маршрутизатора.
Реализация
Итак, приступим к настройке мультикаста.
В нашем случае, для "обычной" маршрутизации используется протокол OSPF.
Настраиваем OSPF на обоих интерфейсах маршрутизаторов. Пример настройки на маршрутизаторе nord-mk1:
config ospf ipif System area 0.0.0.0 priority 1
hello_interval 10 dead_interval 40config ospf ipif System authentication none
metric 1 state enable activeconfig ospf router_id 10.255.255.170
enable ospf
Проверить правильность настройки интерфейсов можно выполнив следующую команду
sh ospf neighbour
Результат вывода должен быть приблизительно таким.
IP Address of Router ID of Neighbor Neighbor
Neighbor Neighbor Priority State
--------------- --------------- -------- -------------
10.255.255.17 192.168.149.5 1 Full
Total Entries : 1
После тщетных попыток заставить работать мультикаст, пришлось обратиться в службу технической поддержки компании D-Link. На запрос были получены новые версии прошивок для nord и nord-mk1 и ситуация исправилась.
Следует также обратить внимание на следующую «особенность». В тексте конфигурационного файла nord-mk1 присутствуют вот такие записи:
disable gvrp
config gvrp 25-28 state disable ingress_checking
enable acceptable_frame admit_all pvid 1
Несмотря на казалось бы глобальное запрещение gvrp, вторая строка влияет на работу, причем именно мультикаста. Как оказалось, необходимо в качестве pvid выставить 1, несмотря на вот эти строки в нашей конфигурации:
config vlan default delete 1-28
config vlan default advertisement enable
create vlan 20-mik9jan-1 tag 20
config vlan 20-mik9jan-1 add tagged 26
config vlan 20-mik9jan-1 advertisement disable
Для каждого из маршрутизаторов DGS-3612G, DXS-3326GSR, nord-mk1 выполняем следующие команды:
enable igmp_snooping
config igmp_snooping all state enable
config igmp all state enable
enable pim
config pim all state enable
create pim crp group 224.0.0.0/4 rp System
Для свитча nord-mk1 обязательным является включение PIM DM совместно с IGMP на всех интерфейсах, где требуется получение мультикаст трафика. Эти и некоторые другие, менее значительные, особенности (ошибки) реализации удалось решить только при активном сотрудничестве со службой технической поддержки компании D-Link.
Проверяем фунционирование протоколов.
DES-3800:admin#show igmp
IGMP Interface Configurations
QI : Query Interval MRT : Maximum Response Time
RV : Robustness Value LMQI : Last Member Query Interval
Interface IP Address/Netmask Version QI MRT RV LMQI State
------------ ------------------ ------- ----- --- --- ---- --------
System 10.255.255.170/30 2 125 10 2 1 Enabled
101-port1 10.0.60.1/26 2 125 10 2 1 Enabled
102-port2 10.0.60.65/26 2 125 10 2 1 Enabled
...
116-port16 10.0.63.193/26 2 125 10 2 1 Enabled
Total Entries: 21
DES-3800:admin#show pim neighbor
PIM Neighbor Address Table
Interface Name Neighbor Address Expired Time
--------------- ---------------- ------------
System 10.255.255.169 96
Total Entries: 1
DES-3800:admin#sh igmp group
Interface Multicast Group Last Reporter IP Querier IP Expire
------------ --------------- --------------- --------- ---------
101-port1 230.1.1.1 10.0.60.4 SELF 145
101-port1 230.1.1.2 10.0.61.3 SELF 250
...
106-port6 239.255.255.250 10.0.61.77 SELF 216
DES-3800:admin#sh ipmc cache
IP Multicast Forwarding Table
Multicast Source Upstream Expire Routing
Group Address/Netmask Neighbor Time Protocol
--------------- ------------------ --------------- ------ ---------
230.1.1.1 10.0.6.144/32 10.255.255.169 163 PIM-DM
230.1.1.2 10.0.6.144/32 10.255.255.169 183 PIM-DM
...
230.1.1.1.6 10.0.6.144/32 10.255.255.169 209 PIM-DM
Total Entries: 21
Не углубляясь в тонкости подбора параметров протоколов PIM DM и IGMP, настройку мультикаста в данном сегменте сети можно считать завершенной. Таким образом, сеть подготовлена к внедрению сервиса теле- и радиовещания и решена первая часть задачи.
Комментариев нет:
Отправить комментарий