Содержание
Случай 1. L3-мультикаст-услуга по запросу недоступна при настройке PIM-DM
Случай 2. L3-мультикаст-услуга по запросу недоступна при настройке PIM-SM
Цель
В этой статье представлены рекомендации по устранению неполадок L3-мультикаста по запросу на основе режимов PIM-DM и PIM-SM.
Требования
Введение
PIM (Protocol Independent Multicast) не зависит от какого-либо конкретного протокола однонаправленной маршрутизации. Ему не требуется поддерживать специальную информацию о однонаправленной маршрутизации, он напрямую использует информацию из таблицы однонаправленной маршрутизации для выполнения проверки обратного пути (RPF) для мультикаст-пакетов. Если проверка пройдена, создаётся запись в таблице мультикаст-маршрутизации для пересылки мультикаст-пакетов. В настоящее время L3-коммутаторы поддерживают как PIM-Dense Mode (PIM-DM), так и PIM-Sparse Mode (PIM-SM). PIM-DM подходит для небольших сетей с большим количеством мультикаст-получателей в каждом сегменте сети; PIM-SM более сложен в настройке и подходит для крупномасштабных сетей.
IGMP (Internet Group Management Protocol) является частью набора протоколов TCP/IP и используется для управления членством в IPv4-мультикаст-группах. IGMP используется для установления и поддержания членства в мультикаст-группах между хостом-получателем и непосредственно подключёнными к нему мультикаст-маршрутизаторами путём обмена IGMP-сообщениями.
Для L3-мультикаст-маршрутизации требуется развёртывание как PIM, так и IGMP в сети. PIM должен быть развёрнут как в режиме плотного, так и разрежённого режима во всей L3-мультикаст-домене. IGMP должен быть развёрнут на мультикаст-маршрутизаторах, подключённых к мультикаст-получателям.
Шаги по устранению неполадок
Случай 1. L3-мультикаст-услуга по запросу недоступна при настройке PIM-DM
Чтобы лучше понять процесс устранения неполадок, ниже кратко описывается принцип работы PIM-DM. Общий процесс пересылки потока данных в PIM-DM можно описать как Flooding (затопление) — Prune (отсечение) — Graft (прививка):
- Затопление: После получения потока мультикаст-данных PIM-маршрутизатор, непосредственно подключённый к источнику мультикаста, рассылает поток данных по всей PIM-DM-мультикаст-домене. Таким образом, все PIM-маршрутизаторы в PIM-DM-мультикаст-домене получают информацию об источнике мультикаста.
- Отсечение: После затопления потока данных, если к PIM-маршрутизатору не подключено ни одного члена мультикаст-группы, требуется выполнить отсечение (Prune), чтобы уведомить вышестоящий маршрутизатор о прекращении пересылки информации о данной мультикаст-группе.
- Прививка: Когда клиент подключается к PIM-маршрутизатору, маршрутизатор сначала проверяет, содержит ли информация о мультикаст-группе, полученная во время затопления, запрашиваемую клиентом группу. Если да, то на источник мультикаст-группы отправляется сообщение прививки (Graft). Через механизм проверки RPF сообщение Graft пересылается по кратчайшему пути между PIM-маршрутизатором, непосредственно подключённым к клиенту, и источником. После получения сообщения Graft PIM-маршрутизатор, непосредственно подключённый к источнику, направляет соответствующий поток мультикаст-данных нижестоящему устройству, отправившему сообщение Graft, и поток данных пересылается клиенту по дереву кратчайших путей (SPT), сгенерированному сообщением Graft.
Как показано на рисунке ниже, четыре коммутатора Omada образуют типичную L3-мультикаст-топологию с петлёй. Мультикаст-сервер находится в сегменте сети 172.19.1.0/24, а клиент — в сегменте 172.16.1.0/24. Поскольку сервер и клиент находятся в разных сегментах сети, требуется L3-мультикаст-услуга, чтобы клиент мог нормально воспроизводить мультикаст-данные по запросу. Обратитесь к таблице ниже для настройки каждого устройства (DUT) в топологии.

|
Устройство |
Интерфейс |
IP-адрес |
VLAN |
|
DUT#1 |
1/0/1 |
172.16.1.1/24 |
100 |
|
1/0/2 |
10.10.10.1/30 |
101 |
|
|
DUT#2 |
1/0/1 |
10.10.10.2/30 |
101 |
|
1/0/2 |
10.10.10.5/30 |
102 |
|
|
1/0/3 |
10.10.10.9/30 |
103 |
|
|
DUT#3 |
1/0/1 |
10.10.10.10/30 |
103 |
|
1/0/2 |
10.10.10.13/30 |
104 |
|
|
DUT#4 |
1/0/1 |
10.10.10.6/30 |
102 |
|
1/0/2 |
10.10.10.14/30 |
104 |
|
|
1/0/3 |
172.19.1.1/24 |
200 |
Ниже приведены рекомендации по устранению распространённых проблем PIM-DM на основе указанной выше топологии:
Шаг 1. Проверьте связность между мультикаст-сервером и непосредственно подключённым к нему PIM-маршрутизатором
Для L3-мультикаст-услуг IP-адрес мультикаст-сервера и IP-адрес интерфейса непосредственно подключённого PIM-маршрутизатора должны находиться в одном сегменте сети. Вы можете использовать команду show ip route для проверки таблицы однонаправленной маршрутизации на PIM-маршрутизаторе, непосредственно подключённом к мультикаст-серверу. Код префикса непосредственно подключённой записи маршрутизации — C. В примере PIM-маршрутизатором, непосредственно подключённым к источнику, является DUT#4. Ниже приведён результат выполнения show ip route на DUT#4. Запись в красной рамке является записью маршрутизации PIM-маршрутизатора, непосредственно подключённого к источнику.

Кроме того, вы можете напрямую выполнить ping IP-адреса мультикаст-сервера с PIM-маршрутизатора. Если ping успешен, это означает, что мультикаст-сервер и IP-адрес интерфейса непосредственно подключённого PIM-маршрутизатора находятся в одном сегменте сети и проблем с связностью нет.

Кроме того, в режиме PIM-DM записи создаются по умолчанию для легальных потоков данных. Поэтому вы также можете использовать команду show ip mroute для проверки таблицы мультикаст-маршрутизации PIM-маршрутизатора, непосредственно подключённого к источнику. Если запись в таблице мультикаста, соответствующая мультикаст-серверу, уже создана, проблем с связностью между мультикаст-сервером и его непосредственно подключённым PIM-маршрутизатором нет. На рисунке ниже показан результат show ip mroute на DUT#4, отображающий, что мультикаст-сервер создал в общей сложности 20 каналов.

Шаг 2. Убедитесь, что все сегменты сети во всей мультикаст-домене достижимы по однонаправленной маршрутизации.
Протокол PIM использует информацию маршрутизации из таблицы однонаправленной маршрутизации для выполнения проверок RPF мультикаст-пакетов. Если PIM-маршрутизатор не может достичь определённого сегмента сети в мультикаст-домене, проверка RPF потока мультикаст-данных может не пройти, и в конечном итоге вещание по запросу может быть недоступно. Вы можете использовать команду show ip route для проверки таблицы маршрутизации. В этом примере мультикаст-домен включает шесть сегментов сети: vlan100, vlan101-104 и vlan200. Следовательно, все PIM-маршрутизаторы в мультикаст-домене должны содержать записи маршрутизации для достижения этих шести сегментов. Подробнее о настройке динамической маршрутизации см. в соответствующем руководстве по настройке протоколов динамической маршрутизации.

Особо проверьте записи маршрутов на каждом PIM-маршрутизаторе, ведущие к сегменту сети, в котором находится источник. Если IP-адрес источника мультикаст-потока недостижим, соответствующий поток данных будет сразу отброшен. Вы можете использовать команду show ip route specify <ip мультикаст-сервера> на PIM-маршрутизаторе для проверки записей.

Шаг 3. Убедитесь, что отношения соседства PIM между PIM-маршрутизаторами в мультикаст-домене установлены нормально
Мультикаст-потоки данных могут пересылаться только между соседними PIM-маршрутизаторами, поэтому необходимо убедиться, что отношения соседства PIM установлены между всеми PIM-маршрутизаторами в мультикаст-домене. Для проверки используйте команду show ip pim neighbor. В этом примере только интерфейс vlan101 DUT#1 имеет PIM-соседей, а интерфейсы vlan101-103 DUT#2 имеют PIM-соседей. Если отношения соседства PIM не могут быть установлены нормально, проверьте, включён ли PIM на каждом интерфейсе и правильно ли настроен IP-адрес каждого интерфейса.


Шаг 4. Убедитесь, что интерфейс, непосредственно подключённый к клиенту, имеет включённые IGMP и PIM, и что L3-таблица IGMP-мультикаста создана правильно
Интерфейс с включённой функцией IGMP может служить IGMP-запросчиком (querier). L3-запросчик IGMP выполняет строгую проверку исходного IP-адреса сообщений report/leave и обрабатывает только IGMP-протокольные сообщения, исходный IP-адрес которых и запросчик находятся в одном сегменте сети. По умолчанию IGMP включён как IGMPv3, который совместим с сообщениями IGMPv1 и IGMPv2. В этом примере для запросчика IGMPv3 установлена IGMPv2-мультикаст-группа. Вы можете использовать команду show ip igmp interface statistic для проверки отправки и получения IGMP-сообщений. Кроме того, вы можете использовать команду show ip igmp group interface <type><id>{detail} для проверки установки L3-групп IGMP.


Шаг 5. Если L3-мультикаст по-прежнему не работает, проверьте мультикаст-маршрутизацию пошагово
В режиме PIM-DM мультикаст-потоки данных пересылаются по кратчайшему пути (SPT) между источником и клиентом. В приведённой выше топологии SPT выглядит так: Source→DUT#4→DUT#2→DUT#1→Client. Поскольку мы уже проверили участки Source→DUT#4 и DUT#1→Client, теперь необходимо проверить участок DUT#4→DUT#2→DUT#1. Рекомендуется проверить таблицу мультикаст-маршрутизации от клиента к источнику с помощью команды show ip mroute. Проверьте, соответствуют ли входящий и исходящий интерфейсы в таблице мультикаст-маршрутизации ожидаемым. На рисунке ниже показана полная таблица мультикаст-маршрутизации DUT#4→DUT#2→DUT#1.

Случай 2. L3-мультикаст-услуга по запросу недоступна при настройке PIM-SM
Затопление в PIM-DM занимает большую пропускную способность и увеличивает потенциальную нагрузку на все PIM-маршрутизаторы в мультикаст-домене. Поэтому в крупномасштабных сетях рекомендуется использовать режим PIM-SM. С помощью настройки Bootstrap Router (BSR) и Rendezvous Point (RP) PIM-SM позволяет регистрировать все мультикаст-потоки данных в сети на RP в однонаправленном режиме, гарантируя, что RP может записывать всю мультикаст-информацию в мультикаст-домене, а другие PIM-маршрутизаторы получают информацию о мультикаст-группах через RP. Работу PIM-SM можно разделить на два основных этапа:
- Этап 1: Клиент получает поток данных через RPT (дерево rendezvous point)
После получения от клиента IGMP-запроса на присоединение к группе PIM-маршрутизатор, непосредственно подключённый к клиенту, запрашивает данные мультикаст-группы у RP, а затем RP запрашивает мультикаст-данные у соответствующего источника на основе зарегистрированной информации о мультикаст-группе. Поток мультикаст-данных достигает клиента через RP. На этом этапе путь пересылки мультикаста через RP называется деревом rendezvous point (RPT).
- Этап 2: Клиент получает поток данных через SPT (дерево кратчайших путей)
На этапе 1 PIM-маршрутизатор, непосредственно подключённый к клиенту, уже получил поток мультикаст-данных и может получить информацию об источнике мультикаста на основе IP-адреса источника мультикаст-потока. После этого этот PIM-маршрутизатор отправляет сообщение Join, содержащее информацию об IP-адресе источника мультикаста, в сторону источника на основе проверки RPF. PIM-промежуточный маршрутизатор, получивший сообщение Join, продолжает выполнять проверки RPF и отправляет сообщения Join в сторону источника, пока PIM-маршрутизатор, подключённый к источнику, не получит сообщение Join и не направит соответствующий поток данных подключённым устройствам. Теперь поток мультикаст-данных пересылается клиенту по SPT, созданному сообщением Join, а передача данных на этапе 1 отменяется, что снижает нагрузку на полосу пропускания RP и других некоротких путей.
Как показано на рисунке ниже, четыре коммутатора Omada образуют типичную топологию с петлёй, развёртывая L3-мультикаст-услуги в режиме PIM-SM. IP-адреса мультикаст-сервера, клиента и каждого интерфейса такие же, как и в PIM-DM. В PIM-SM DUT#2 настроен как BSR, а DUT#3 — как RP.

По сравнению с PIM-DM, PIM-SM более сложен и требует большего количества проверок при устранении неполадок. Шаги 1–4 устранения неполадок PIM-DM по-прежнему применимы к PIM-SM, и рекомендуется сначала проверить эти шаги при устранении неполадок PIM-SM. Кроме того, при проверке сетевой связности в режиме PIM-SM особое внимание следует уделять связности между источником/RP/клиентом. Ниже представлены шаги по устранению неполадок, специфичные для PIM-SM.
Шаг 1. Убедитесь, что информация BSR и RP на каждом PIM-маршрутизаторе в мультикаст-домене одинакова, и что мультикаст-группа, используемая мультикаст-сервером, имеет соответствующую информацию RP.
Используйте команду show ip pim bsr-router для проверки информации BSR. Ниже приведены результаты выполнения этой команды на DUT#1 и DUT#2 (BSR). Для устройства с настроенным BSR может отображаться информация Candidate BSR. Чтобы настроить BSR, используйте команду ip pim bsr-candidate interface <type><id>. Рекомендуется использовать эту команду на всех PIM-маршрутизаторах в мультикаст-домене, чтобы проверить согласованность информации Elected BSR.


Используйте команду show ip pim rp mapping {candidate} для проверки информации RP. Ниже приведены результаты выполнения этой команды на DUT#2 и DUT#3 (RP). Для устройства с настроенным RP-candidate используйте команду show ip pim rp mapping candidate для проверки конфигурации RP-candidate. Рекомендуется использовать эту команду на всех PIM-маршрутизаторах в мультикаст-домене, чтобы проверить согласованность информации Elected BSR.
Для настройки RP используйте команду ip pim rp-candidate interface <type><id><group addr><group mask>.


Шаг 2. Используйте команду show ip pim rp hash <group addr> для подтверждения адреса RP мультикаст-группы, в которой произошёл сбой по запросу.
В крупномасштабной сети разные мультикаст-группы могут соответствовать разным адресам RP. Для мультикаст-группы со сбоем по запросу сначала найдите соответствующий адрес RP. Ниже показан запрос адреса RP для мультикаст-группы 235.0.0.11 на DUT#4.

Шаг 3. Проверьте установку и обслуживание RPT/SPT на RP и PIM-маршрутизаторе, непосредственно подключённом к клиенту
RP должен содержать всю информацию о регистрации мультикаст-групп всей мультикаст-домены. Как показано на рисунке ниже, результат show ip mroute для DUT#3 (RP) показывает информацию о мультикаст-группах для всех групп 235.0.0.11–235.0.0.30. Здесь 10 записей мультикаст-маршрутизации 235.0.0.11–235.0.0.20 отображаются в двух форматах, а записи мультикаст-маршрутизации, в которых исходный IP-адрес — *, являются RPT. Поскольку подключённые устройства используют IGMPv2 для присоединения к группам, сообщения IGMPv2 не ограничены конкретными исходными IP-адресами мультикаста, поэтому для отображения используется *.

На следующем рисунке показана информация таблицы мультикаст-маршрутизации на PIM-маршрутизаторе, непосредственно подключённом к клиенту. Эта таблица содержит только информацию о 235.0.0.11–235.0.0.20, поскольку подключённые клиенты инициируют запросы на присоединение к IGMP-группам только для этих мультикаст-групп.


Шаг 6. Если неисправное устройство всё ещё не обнаружено, выполните пошаговую проверку вдоль пути пересылки мультикаста.
Красные рамки и стрелки на рисунке ниже выделяют пути пересылки SPT, проверяемые пошагово, которые указывают на местоположение неисправности. В зависимости от стадии неисправности может потребоваться отдельный анализ путей пересылки RPT и SPT с использованием того же метода.

Заключение
В этой статье кратко рассмотрены характеристики и принципы L3-мультикаста, а также представлены методы развёртывания PIM-DM и PIM-SM и шаги по устранению неполадок. Если проблема не устранена, обратитесь в службу поддержки TP-Link за технической помощью.
Чтобы узнать больше о каждой функции и настройке, посетите Страницу поддержки, чтобы загрузить или просмотреть руководство для вашего продукта.