L3 Multicast. PIM. Dense Mode. Практика. Часть1.

2021.11.06. Kurapov Alexey.

L3 Multicast. PIM. Dense Mode

Multicast предполагает  одного источника Multicast трафика- Sender и множество приемников – Receivers.

Multicast IP – это диапазон 224.0.0.0/4, т.е. от 224.0.0.0 до 239.255.255.255. Данные IP могут быть использованы только в качестве Destination IP, не можем назначить их, в качестве Source IP  на интерфейс:



Ранее мы рассмотрели L2 Multicast, а именно протокол IGMP (Internet Group Membership Protocol), который работает на уровне L2, на участке между клиентами (приемниками – Receivers) и шлюзом по умолчанию.

Теперь рассмотрим работу Multicast на уровне L3 – от шлюза до источника Multicast трафика – Sender-а.

L3 Multicast обеспечивает протокол PIM – Protocol Independent Multicast

 

В статье L2 Multicast IGMP  была рассмотрена топология:


Расширим данную сеть:

 


Настройка IGMP на Server и GW_2 в целом аналогична настройке на Receiver и GW_1 и описана в статье L2 Multicast IGMP.

Для ip маршрутизации используем OSPF на интерфейсах роутеров.

На клиенте и сервере маршрут по умолчанию в сторону шлюза.

Настройка.

На клиенте: 


На GW_1:


 

На Router_1: 


На Router_2:


 

На GW_2:


На сервере:


 

Протокол PIM может работать в двух режимах:

- dense mode – является устаревшим вариантом,

- sparse mode.

                Dense-modeмультикаст трафик по умолчанию передается по всей сети, если у шлюза нет активных мультикаст клиентов, он должен специально попросить не присылать ему мультикаст трафик.

Настройка.

Включим PIM между GW_1 и Router_1:

1.      Включаем на int gi0/1 GW_1:

              


В Wireshark видим, что роутер, кроме IGMP General Query начинает рассылать PIM Hello сообщения:



               Hello PIM сообщения передаются на мультикаст ip адрес 224.0.0.13 и, соответственно, имеют MAC Destination:  IPv4mcast_0d (01:00:5e:00:00:0d), т.к. 13 в 16-й системе счисления это d:

 


               Можем поменять приоритет роутера:              


2.             Включаем на int gi0/1 Router_1:



Как видим роутеры с включенным PIM на интерфейсах устанавливают между собой соседство: 


Роутер Router_1 также начинает отправлять PIM Hello сообщения: 


Настроим аналогично PIM в режиме dense-mode между всеми роутерами, а также на интерфейсе GW_2 в сторону сервера.

 

Основную информацию о настройках PIM на роутере и соседях можем получить из вывода трех команд:


 

Рассмотрим подробно вывод каждой команды.

Просмотр таблицы PIM соседей:



Указаны:

-         Ver  версия протокола PIM,

-         DR Prio приоритет, cоседнего роутера на данном широковещательном сегменте,

Столбец Mode:

-         DR если соседний роутер является DR  в данном широковещательном сегменте,

-         Sважно для Dense mode, оптимизация flooding,

-         P роутер используется в качестве IGMP прокси, например, у клиентаиспользуется IP ТВ приставка провайдера, именно она будет отправлять JOIN cообщения на роутер клиента, и провайдер будет поднимать PIM соседство не с роутером клиента, а с ТВ приставкой.

 

Также можно посмотреть информацию о протоколе PIM на отдельном интерфейсе:


- D – Dense-mode,

- Nbt Count количество PIM соседей изученных в данном широковещательном домене,

               - DR Prior – приоритет данного роутера,

               - DR -  какой роутер является DR в данном broadcast домене.

 

И об соседях PIM в одном широковещательном домене: 


На клиентах и серверах настраивается только ПО, используемое для приема / передачи мультикаст трафика.

В нашем случае подписались на клиенте на определенную мультикаст группу рассылки: 


Сервер просто вещает, ничего не знает о клиентах, ни с кем не устанавливает соседства.

 

Проверка работы мультикаст.

 

Для упрощения используем ping, а не udp пакеты.

Запустим ping с сервера на мультикаст ip адрес:


 

Смотрим на роутерах мультикаст маршрут:


 
Нет маршрута.

Требуется дополнительная команда для включения multicast маршрутизации:

                              ip multicast routing

введем ее на всех роутерах и шлюзах: 


Повторно запускаем ping и проверяем мультикаст маршрут:

 


 

 Видим две записи для мультикаст группы 239.1.1.1.

Подробнее рассмотрим оба дерева при изучении PIM в режиме sparse-mode. Для dense-mode важна вторая запись.  Напомним топологию в районе сервера мультикаст:



               И проверим мультикаст маршрутизацию на GW_2:


 

Итак:

               - 172.16.0.10 – адрес сервера – источника мультикаст трафика,

               - 239.1.1.1 – на какую мультикаст группу вещает сервер,

               - Incoming interface = откуда ожидаем мультикаст трафик,

- связка Incoming Interface: Gi0/0 – RPF nbr 0.0.0.0 – говорит о том, что источник мультикаст трафика непосредственно подключен к этому интерфейсу,

               - Outgoing interface listOILкуда перенаправим мультикаст трафик для мультикаст группы 239.1.1.1, сейчас отправляем на int gi0/2.

Флаги:

D- dense mode,

T- SPT-bit set – используется кратчайший путь для мультикаст трафика.

 

В следующей статье продолжим изучение Multicast L3 PIM в режиме Dense-mode. В, частности, рассмотрим механизм RPC.

Комментарии

Популярные сообщения из этого блога