Мультивещание
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Схемы маршрутизации |
---|
Мультивещание, многоадресное вещание (англ. 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-сессий.
Существуют уникальные глобальные мультикастовые группы, принадлежащие соответствующим компаниям. Обычное физическое лицо не может вещать в интернете с использованием частных мультикастных групп. Кроме того, многие интернет-провайдеры не имеют мультикаст-связности либо запрещают её. Для преодоления участков, не поддерживающих мультивещание, может применяться туннелирование.
IPv4
В IPv4 для мультивещания зарезервирована подсеть 224.0.0.0/4. Полный актуальный список зарезервированных блоков на сайте IANA [1]. Разъяснения по зарезервированным мультикастовым подсетям 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 (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