L2 Multicast. IGMP. Практика.
2021.09.07. Kurapov Alexey.
L2 Multicast. IGMP
IGMP — Internet Group Management Protocol — это сетевой протокол взаимодействия клиентов multicast трафика и ближайшего к ним маршрутизатора – Default Gateway.
IGMP
используется клиентами и коммутаторами для соединения клиентов и локального маршрутизатора,
осуществляющего multicast передачу. Далее между локальным и удаленным
маршрутизаторами используется протокол Protocol
Independent
Multicast (PIM),
с его помощью групповой трафик направляется от источника multicast трафика
к многочисленным клиентам групповой передачи.
Рассмотрим топологию:
Первоначальная конфигурация минимальная:
На Client_1:
На Default Gateway:
На клиенте Client_1 указываем какой multicast трафик хотим принимать, подписываемся
на определенные multicast ip адреса (группы):
В Wireshark видим – Client_1 начинает высылать IGMP Report, часто называемые JOIN сообщениями:
На Default Gateway включаем multicast маршрутизацию и протокол PIM на интерфейсе в сторону клиента:
Wireshark:
Как видим шлюз отправляет сообщения:
1. На multicast адрес 224.0.1.40 – проприетарный протокол
Cisco, рассмотрим
позже, т.е. шлюз по умолчанию подписывается на группу 224.0.1.40,
2. На multicast адрес 224.0.0.1 – все хосты с multicast обрабатывают эти пакеты.
В сообщениях с ip dest 224.0.0.1 - указан multicast адрес 0.0.0.0, т.е. роутер
спрашивает, есть хоть кто-то заинтересованный в любом multicast трафике, клиент отвечает сообщениями Report:
Client_1 заинтересован в multicast трафике на группы 239.1.1.1 и
239.2.2.2.
Таблица маршрутизации multicast трафика на роутере:
Есть
подписчики на трафик с ip dest 239.1.1.1 и 239.2.2.2 и они находятся за интерфейсом
gi0/0. При получении
шлюзом пакета с ip dest 239.1.1.1 или 239.2.2.2, он отправит его через интерфейсы, указанные в OIL – Outgoing interface list – куда передаются пакеты.
Incoming interface – откуда ожидаются пакеты, сейчас –Null, ни откуда.
* - source ip – любой ip, в IGMP v2, в IGMP v3 – source ip указывается обязательно, например, в IP ТВ приставки зашиты ip адреса серверов.
Роутер
отправляет Query general, чтобы узнать есть ли активные
клиенты, если ответа не будет, шлюз перестанет пересылать multicast трафик на интерфейсы, указанные в OIL, это требуется в случае
некорректного отключения клиентов.
Эмулируем корректное отключение клиента:
Смотрим Wireshark:
1. От клиента приходят Leave сообщения на 224.0.0.2 – все роутеры.
Leave messages означают – клиент больше не заинтересован в получении multicast трафика с ip destination 239.2.2.2 и 239.1.1.1.
2. Роутер высылает Query specific для 239.2.2.2 и 239.1.1.1 – возможно есть еще активные клиенты. Если нет ответа, то интерфейсы удаляются из OIL. Удаляются в течении Max Resp Time.
Рассмотрим еще раз кратко как работает IGMP:
В следующей статье рассмотрим
случай, когда имеется несколько клиентов, а также как работает IGMP Snooping на коммутаторах.
Комментарии
Отправить комментарий