Мультивещание
Мультивещание, многоадресное вещание (англ. multicast — групповая передача) — форма широковещания, при которой адресом назначения сетевого пакета является мультикастная группа (один ко многим). Существует мультивещание на канальном, сетевом и прикладном уровнях. Мультивещание не следует путать с технологией передачи на физическом уровне точка-многоточка.
Схемы маршрутизации |
---|
|
|
|
|
|
Описание
Ряд приложений, например, дистанционное обучение, рассылка почты, радио, видео по запросу, видеоконференцсвязь, поддерживают мультивещание. В одноадресной сети с каждым получателем устанавливается индивидуальное соединение даже при потреблении одного ресурса по общему маршруту. В многоадресной рассылке источник посылает единственный экземпляр данных по общему маршруту тем получателям, кто подписался на рассылку. Преимущество этого подхода: добавление новых пользователей не влечет за собой необходимость увеличения пропускной способности сети по общему маршруту до потребителей услуги. Соответственно, снижается нагрузка и на промежуточное оборудование.
При запуске на сервере приложения с поддержкой мультивещания, оно посылает в сеть уведомление, что соответствующая группа доступна для присоединения. Клиент, который хочет присоединиться к рассылке посылает уведомление об этом. Все промежуточные маршрутизаторы записывают, что за соответствующим маршрутом находится клиент соответствующей мультикастной группы. Поскольку состав группы со временем может меняться, вновь появившиеся и выбывшие члены группы динамически учитываются в построении путей маршрутизации. В локальной сети управлением мультикастными группами обычно занимается IGMP. Существует несколько алгоритмов и протоколов для построения мультивещательного дерева и опроса участников.
Для мультикастных групп зарезервированы адреса как на канальном, так и на сетевом уровнях.
Чтобы технология работала, она должна поддерживаться сервером, клиентом и всеми промежуточными маршрутизаторами. Чтобы коммутаторы посылали пакеты только нужным получателям, они должны поддерживать IGMP snooping (у Cisco есть своя реализация — CGMP), иначе пакеты рассылаются широковещательно. Также нужно иметь в виду, что мультикаст может блокироваться межсетевыми экранами.
Мультивещание в интернете
В 1995 году была создана международная магистральная сеть для обмена мультивещательным трафиком Mbone. На её основе с 1997 до 2008 работала система виртуальных комнат для видео-конференций. Российская точка обмена мультикаст-трафиком Multicast Internet Exchange (Multicast-IX) создана на базе Московского Internet Exchange в 2002 году.
Каждый участник Мультикаст-IX образует собственный PIM домен и может использовать собственный набор Rendezvous Point (RP), отличающийся от RP других участников Multicast IX. Каждый из участников Мультикаст-IX конфигурирует на своем маршрутизаторе PIM RP для своего домена. Попарное взаимодействие между участниками осуществляется путём настройки MBGP/MSDP-сессий.www.msk-ix.ru
Существуют уникальные глобальные мультикастовые группы, принадлежащие соответствующим компаниям. Обычное физическое лицо не может вещать в интернете с использованием частных мультикастных групп. Кроме того, многие интернет-провайдеры не имеют мультикаст-связности либо запрещают её. Для преодоления участков, не поддерживающих мультивещание, может применяться туннелирование.
IPv4
В IPv4 для мультивещания зарезервирована подсеть 224.0.0.0/4. Полный актуальный список зарезервированных блоков на сайте IANA . Разъяснения по зарезервированным мультикастовым подсетям RFC 5771. Выделение мультикастовых адресов описано в RFC 5771. Глобально маршрутизация разрешена только для подсетей 233.0.0.0/8 и 234.0.0.0/8. Но не все провайдеры поддерживают мультикаст-связность.
В Windows просмотреть arp таблицу можно командой arp -a; просмотреть членство в мультикастных группах: netsh interface ipv4 show joins.
224.0.0.0/24 | Local Network Control Block. Как правило только для известных протоколов. RFC 3171 для этого блока требует выставления TTL=1. 224.0.0.0 — зарезервировано |
224.0.1.0 по 238.255.255.255 |
Globally Scoped Addresses 224.0.1.0/24 - Internetwork Control Block |
239.0.0.0/8 | Для частных мультикаст-доменов/организаций (пользовательские адреса). Могут динамически использоваться протоколами. 239.255.255.250 — SSDP. |
Алгоритмы построения дерева мультивещания
- Лавинный алгоритм (Flooding)
- RPB (Reverse Path Broadcasting)
- TRPB (Truncated Reverse Path Broadcasting)
- RPM (Reverse Path Multicasting)
- RPF (Reverse path forwarding)
- CBT (Core-Based Tree)
Основные протоколы построения деревьев мультивещания
Внутри звена: IGMP (Internet Group Management Protocol) в IPV4 и Multicast Listener Discovery в IPv6.
Интрадоменный (Inter-domain) протокол: BGMP (Border Gateway Multicast Protocol)
Интердоменные протоколы:
- плотный режим (dense mode):
- DVMRP (Distance Vector Multicast Routing Protocol)
- MOSPF (Multicast Open Shortest Path First)
- PIM-DM (Protocol Independent Multicast — dense mode)
- редкий режим (sparse mode):
- CBT (Core-based trees)
- PIM-SM (Protocol Independent Multicast — sparse mode)
В сетях с подвижными узлами:
- MoM (Mobile Multicast)
- MMA (Multicast by Multicast Agent)
- MobiCast
- MRMP (Maximum-Residual Multicast Protocol)
Xcast (explicit multi-unicast) — особый протокол мультивещания не использующий мультикастные группы. Хорошо работает в небольших группах.
Протоколы, использующие мультивещание
multicast NTP, Multicast BGP, Multicast DNS, Multicast File Transfer Protocol, Pragmatic General Multicast, Multicast router discovery, Narada multicast protocol, Gossip protocol, SMART Multicast, Scalable Reliable Multicast, Shortest Path Bridging (SPB) (IEEE 802.1aq), Cisco Group Multicast Protocol, Simple Multicast Routing Protocol, Multiple Registration Protocol.
Сервисы и технологии
- Потоковое мультимедиа, Scalable video multicast
- Интернет телевидение
- MBMS и eMBMS (Multimedia Broadcast Multicast Service)
- Сеть доставки контента (CDN)
- Peercasting
- Secure multicast
- Multicast encryption
- Any-source multicast
- Broadcast and Multicast Service (BCMCS) в мобильных сетях 3GPP2 CDMA2000.
- ANT (сеть) — протокол беспроводной сенсорной сети.
См. также
- Адреса мультивещания
- Список программ, поддерживающих потоковое медиа
- End System Multicast
- Unicast
- Широковещательный канал
Ссылки
- IPv4 Multicast Address Space Registry
- IGMP query generator — утилита для запроса на всю подсеть кто в каких мультикастных группах находится
- Статьи про мультивещание на www.xgu.ru