Music On Hold - замечательная функция, позволяющая проигрывать абоненту музыку, в то время пока тот находится на ожидании или поставлен on hold.
MoH различают по настройке и методу передачи на два типа:
По умолчанию на CUCM включена только функция Unicast MOH; она же и самая простая в настройке.
Но при большом количестве абонентов, а также в крупном предприятии для экономии расхода трафика на участках сети WAN рекомендуется настройка Multicast MoH.
Как понятно из названия Multicast MoH базируется на методе передачи данных Multicast.
Для примера рассмотрим поток Music on Hold.
При использовании Unicast для его передачи каждому получателю отсылаются по копии каждого пакета. Т.е. от источника будет одновременно исходить столько же потоков RTP, сколько получателей на данный момент.
При использовании broadcast от источника будет исходить только один поток, но трафик broadcast получают все устройства сети, в том числе и те кому этот поток не нужен.
При использовании технологии Multicast сервер-источник отдаёт только один поток, а получают этот поток только те клиенты кому этот поток нужен.
Получатели подключаются к определенной multicast group (Class D IP address, т.е. находящийся в интервале 224.0.0.0 - 239.255.255.255). Сервер-источник шлет трафик на этот Class D IP address; свитчи а также routing protocols передают этот трафик только к подписавшимся машинам.
IGMP - это протокол, который используется между клиентами и маршрутизаторами. Его работа происходит следующим образом:
Существует три версии IGMP, но широко используются только две:
Хосты и роутеры разных версий IGMP способны работать совместно.
Как уже упоминалось, multicast router периодически отсылает запросы IGMP Query message со стороны интерфейса, где находятся клиенты. Если окажется что в сети находятся два и более multicast router, только один из них выбирается как querier для данного сегмента.
IGMP designated querier - это маршрутизатор с наименьшим IP адресом.
Для определения какой маршрутизатор является querier:
show ip igmp interface [interface-id]
Отображение мультикастных групп, доступных через данный маршрутизатор:
show ip igmp group
Если Layer 2 switch получает на интерфейсе multicast frame, то по умолчанию он флудит копии этого кадра на все интерфейсы. Для предотвращения такого поведения необходимо настроить IGMP snooping.
IGMP snooping - фича, позволяющая коммутатору автоматически определять интерфейсы, подключенные к клиентам для определённых multicast groups. Это достигается тем, что коммутатор анализирует IGMP traffic между клиентами и маршрутизатором.
Глобально включаем IGMP snooping:
Switch(config)# ip igmp snooping
Включение IGMP snooping на определённых VLANs:
Switch(config)# ip igmp snooping vlan vlan_id
В мультикастной сети сервер-источник отсылает пакеты на Class D IP Address.
Адреса класса D это IP адреса, которые начинаются с 1110 и находятся в интервале 224.0.0.0 - 239.255.255.255.
Class D IP Address в свою очередь делится на следующие подинтервалы:
224.0.0.0–224.0.0.255 | Reserved Link Local Addresses - Специализированные адреса, используемые для служебных целей, например: 224.0.0.5, 224.0.0.6 - OSPF 224.0.0.9 - RIPv2 224.0.0.10 - EIGRP 224.0.0.1 - all multicast hosts 224.0.0.2 - all multicast routers |
224.0.1.0–238.255.255.255 | Globally Scoped Addresses - Используются для приложений multicast. Поскольку эти адреса уникальны глобально, они могут быть использованы и за пределами local autonomous system. |
232.0.0.0–232.255.255.255 | Source-Specific Multicast (SSM) Addresses - Эти адреса используются совместно с IGMPv3, который позволяет клиентам принимать трафик не только на основе мультикастной группы, но и на основе конкретных источников этого трафика. Таким образом в среде SSM разные сервера могут слать различный контент, при этом находясь в одной и той же группе. | 233.0.0.0–233.255.255.255 | GLOP Addresses - These addresses provide a globally unique multicast address range, based on autonomous system numbers. |
239.0.0.0–239.255.255.255 | Limited Scope Addresses - эти адреса используются для внутренних мультикастных приложений. Это очень похоже на private addresses типа 10.0.0.0/8. Адреса из этого интервала будут использоваться к примеру для организации Multicast MoH для CUCM |
Также в дополнение к адресу 3-го уровня, multicast applications также должны иметь адреса 2-го уровня (MAC Addresses).
Адрес 2-го уровня автоматом составляется исходя из адреса 3-го уровня:
- Multicast MAC address это адрес длиной 48-bit, и первая его половина (24бита) всегда будет (hex) 01-00-5e
- 25-ый бит всегда "0"
- Последние 23 бита для Multicast MAC address напрямую забираются из Multicast IP address
Для примера рассмотрим Multicast IP address 224.1.10.10:
Маршрутизаторы, находящиеся в сети, должны определить для мультикаста forwarding path, т.е. путь для пакетов от источника до клиента. Структуру этого пути принято изображать в виде дерева, корнем которого является источник. Источнику абсолютно всё равно кто является клиентом, следовательно структуру дерева определяют маршрутзаторы, через которые идёт трафик.
На рисунке изображен пример пример возникновения проблемы duplicate packets, которая заключается в том, что роутеру необходимо решить какой из потоков следует форвардить далее, а какой нет.
В этом случае маршрутизатор применяет метод Reverse Path Forwarding (RPF) .
RPF - это процедура при которой у входящего пакета multicast берется source address, и затем по таблице маршрутизации проверяется egress interface для данного маршрута. Если входящий пакет использует этот интерфес, RPF check passes и данный пакет пропускается дальше, если нет, то RPF check fails.
Как уже было сказано, трафик multicast получают только члены данной мултикастной группы.
Но источник мультикастного трафика не обязан входит в эту группу.
Мультикастный трафик идёт от источника к назначению по пути, который называют distribution tree. Различают два типа distribution tree:
Для создания IP multicast distribution trees маршрутизаторы cisco используют протокол Protocol Independent Multicast (PIM). PIM способен работать в любой IP сети, т.е. к примеру OSPF, EIGRP или статика, - отсюда и название : Independent.
Существуют два вида протокола PIM:
Таким образом, PIM Dense Mode (PIM-DM) рекомендуется использовать в сравнительно небольших сетях, где получатели мультикаста расположены относительно плотно. Если различные группы мультикаста разбросаны по большой сети, могут возникнуть проблемы с полосой пропускания из-за флуда.
Подробный алгоритм работы:
Сравнивая PIM-DM и PIM-SM, можно сказать, что PIM-SM даёт тот же результат, что и PIM-DM, но без необходимости флудить и затем прунить (flood-and-prune behavior).
Глобально включаем multicast routing:
Router(config)# ip multicast-routing
Далее нам необходимо включить на отдельных интерфейсах поддержку PIM:
Router(config-if)# ip pim {dense-mode sparse-mode sparse-dense-mode}
Cisco рекомендует использовать sparse-dense-mode, поскольку данный алгоритм работает более эффективно.
Для проверки топологии дерева мы можем посмотреть multicast routing table:
show ip mroute
Здесь мы можем посмотреть (*, G) и (S, G).
А также incoming interface (IIF) и outgoing interface list (OIL).
В сети PIM-SM один или более маршрутизатор должен быть выделенным rendezvous point (RP).
RP задаётся либо статически через команду ip pim rp-address ip-address, либо динамически.
Cisco поддерживает два метода автоопределения RP:
Добавить комментарий