Конфигурация IGMP Proxy
В некоторых простых древовидных топологиях нет необходимости настраивать сложные протоколы маршрутизации мультикастов, такие как PIM, на пограничных устройствах. Достаточно изучить и проксировать информацию о членстве в группах и просто пересылать мультикастовые пакеты на основе этой информации. Использование IGMP forwarding (RFC 4605) для репликации мультикастового трафика на устройствах, таких как пограничные маршрутизаторы, может значительно упростить проектирование и реализацию этих устройств. Отказ от поддержки более сложных протоколов маршрутизации мультикастов, таких как Protocol Independent Multicast (PIM), снижает не только стоимость устройств, но и операционные затраты. Еще одно преимущество заключается в том, что это делает проксирующие устройства независимыми от протокола маршрутизации мультикастов, используемого маршрутизаторами ядра сети.
IGMP Proxy может использоваться в таких топологиях вместо PIM. При настройке IGMP Proxy устройство выступает в качестве прокси для хостов нижнего уровня, отправляя IGMP-сообщения, поддерживая членство в группах и реализуя пересылку мультикастов на основе членства. В этом случае каждое пограничное устройство, настроенное с IGMP Proxy, является хостом, но больше не является соседом PIM для вышестоящего устройства.
Устройство с настроенным IGMP Proxy поддерживает базу данных членства в группах, которая хранит информацию о членстве в группах на всех нижестоящих интерфейсах. Каждая запись включает мультикастовый адрес, режим фильтрации и список источников. Такая запись представляет собой коллекцию участников одной и той же мультикастовой группы на каждом нижестоящем интерфейсе.
Проксирующее устройство выполняет функции хоста на вышестоящем интерфейсе на основе базы данных. Оно отвечает на запросы в соответствии с информацией в базе данных или отправляет сообщения о присоединении/выходе при изменении базы данных. С другой стороны, проксирующее устройство выполняет функции маршрутизатора на нижестоящих интерфейсах, участвуя в выборах запрашивающего устройства, отправляя запросы и поддерживая членство на основе отчетов.
Терминология
Ниже приведено краткое описание терминов и концепций, используемых для описания IGMP Proxy:
Вышестоящий интерфейс
Также называется прокси-интерфейсом. Прокси-интерфейс — это интерфейс, на котором настроена служба IGMP Proxy. Он направлен в сторону корня дерева пересылки мультикастов. Вышестоящий интерфейс действует как хост, работающий с IGMP; поэтому его также называют интерфейсом хоста.
Нижестоящий интерфейс
Интерфейс, работающий с IGMP и направленный в сторону, противоположную корню дерева форвардинга мультикастов. Нижестоящий интерфейс действует как маршрутизатор, работающий с IGMP; поэтому его также называют интерфейсом маршрутизатора.
Состояние участника
Состояние, связанное с адресом группы и интерфейсом.
Idle - Интерфейс еще не ответил на запрос членства в группе или общий запрос для этой группы.
Delay - Интерфейс ответил на последний запрос членства в группе или общий запрос для этой группы.
Шаги настройки IGMP Proxy
Этот раздел описывает шаги настройки IGMP Proxy и пример для соответствующего сценария.
- Включите IP-мультикаст на каждом маршрутизаторе (см. раздел "Включение маршрутизации IP-мультикастов").
- Включите службу IGMP Proxy на вышестоящем интерфейсе.
- Включите конфигурацию IGMP mrouter на нижестоящем интерфейсе.
- Включите интервал отправки непрошенных отчетов IGMP Proxy на прокси-интерфейсе. Отчеты о членстве в прокси-группах пересылаются вышестоящему маршрутизатору в течение этого интервала. Это необязательный параметр, по умолчанию используется значение 1 секунда для форвардинга прокси-групп вышестоящему маршрутизатору.
Примечание: Настройте IP-адреса на всех интерфейсах, используемых в топологии.
Протокол маршрутизации Unicast должен быть настроен в домене PIM.
Топология
В этой сетевой топологии Switch 1 действует как проксирующий маршрутизатор для вышестоящего маршрутизатора Switch 2, в котором присутствует домен PIM. Также адрес источника — 172.31.1.52, а адрес группы установлен на 224.0.1.3.
Примечание: Любой режим PIM (PIM-SM, PIM-DM, PIM-SMDM) должен быть включен на всех интерфейсах в домене PIM.
В этом примере используется значение по умолчанию для интервала отправки непрошенных отчетов.
Рисунок 2-33: Топология IGMP Proxy
В этом примере маршрутизаторы 2 и 3 работают с PIM, а маршрутизатор 1 является маршрутизатором с IGMP Proxy.
- Хост отправляет отчет о членстве IGMP в подсеть 1.
- Нижестоящий интерфейс на маршрутизаторе 1 получает отчеты IGMP от хоста и обновляет прокси-интерфейс.
- Маршрутизатор с IGMP Proxy (Router1) поддерживает информацию о членстве в группах и пересылает полученный отчет вышестоящему маршрутизатору (Router2).
- Источник затем отправляет пакет данных для группы.
- Когда пакет данных достигает маршрутизатора 1, он пересылает его через интерфейс eth2, так как для мультикастового трафика был запрошен IGMP join.
Включение маршрутизации IP-мультикастов
Включите маршрутизацию IP-мультикастов на всех маршрутизаторах PIM внутри домена PIM:
#configure terminal | Перейти в режим конфигурации. |
(config)# ip multicast-routing | Включить маршрутизацию IP-мультикастов. |
(config)#exit | Выйти из режима конфигурации. |
Включение прокси на вышестоящем интерфейсе
Включите службу IGMP Proxy на интерфейсе, который направлен в сторону корня дерева форвардинга мультикастов. В этом примере eth1 является вышестоящим интерфейсом, который действует как IGMP-хост.
#configure terminal | Перейти в режим конфигурации. |
(config)#interface eth1 | Перейти в режим интерфейса. |
(config-if)#ip address 192.168.1.57/24 | Назначить IP-адрес интерфейсу. |
(config-if)#ip igmp proxy-service | Включить службу IGMP Proxy на вышестоящем интерфейсе. |
(config-if)#exit | Выйти из режима интерфейса. |
(config)#exit | Выйти из режима конфигурации. |
Включение прокси на нижестоящем интерфейсе
Включите IGMP mrouter proxy на интерфейсе, который направлен в сторону, противоположную корню дерева форвардинга мультикастов. В этом примере eth2 является нижестоящим интерфейсом, который подключен к получателю.
#configure terminal | Перейти в режим конфигурации. |
(config)#interface eth2 | Перейти в режим интерфейса. |
(config-if)#ip address 192.168.10.57/24 | Назначить IP-адрес интерфейсу. |
(config-if)#ip igmp mroute-proxy eth1 | Включить IGMP mroute proxy на нижестоящем интерфейсе и указать имя вышестоящего прокси-интерфейса. |
(config-if)#exit | Выйти из режима интерфейса. |
(config)#exit | Выйти из режима конфигурации. |
Проверка
Пример конфигурации маршрутизатора с IGMP Proxy:
hostname Router1
!
interface lo
!
!
ip multicast-routing
!
interface eth0
!
interface eth1
ip address 192.168.1.57/24
no shutdown
ip igmp proxy-service
!
interface eth2
ip address 192.168.10.57/24
no shutdown
ip igmp mroute-proxy eth1
!
Интерфейс IGMP Proxy
Следующий вывод отображает информацию об интерфейсе IGMP Proxy.
Router1#show ip igmp interface
Interface eth1 (Index 3)
IGMP Enabled, Active, Version 3 (default), proxy-service
IGMP host version 3
Internet address is 192.168.1.57
Unsolicited Report Interval is 1000 milliseconds
Interface eth2 (Index 4)
IGMP Enabled, Active, Querier, Version 3 (default)
IGMP mroute-proxy interface is eth1
Internet address is 192.168.10.57 IGMP interface has 1 group-record states
IGMP Interface statistics: v1-reports: 0 v2-reports: 1, v2-leaves: 0 v3-reports: 0
IGMP query interval is 125 seconds
IGMP Startup query interval is 31 seconds
IGMP Startup query count is 2
IGMP querier timeout is 255 seconds
IGMP max query response time is 10 seconds
Group Membership interval is 260 seconds
IGMP Last member query count is 2
Last member query response interval is 1000 milliseconds
IGMP Proxy
Следующий вывод отображает информацию о IGMP Proxy.
Router1#show ip igmp proxy
Interface eth2 (Index 4)
Administrative status: enabled
Operational status: up
Upstream interface is eth1
Number of multicast groups: 1
Группы IGMP Proxy
Следующий вывод отображает информацию о членстве в группах IGMP Proxy.
Router1#show ip igmp proxy groups
IGMP Connected Proxy Group Membership
Group Address Interface State Member state
224.0.1.3 eth1 Active Delay
Таблица маршрутизации IP-мультикастов
Команда show ip mroute отображает таблицу маршрутизации IP-мультикастов.
Router1#show ip mroute
IP Multicast Routing Table
Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed
B - BIDIR
Timers: Uptime/Stat Expiry
Interface State: Interface (TTL)
(172.31.1.52, 224.0.1.3), uptime 00:00:05
Owner IGMP-Proxy-Service, Flags: F
Incoming interface: eth1 Outgoing interface list: eth2 (1)