Мультивещание
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Схемы маршрутизации |
---|
Мультивещание, многоадресное вещание (англ. multicast — групповая передача) — форма широковещания, при которой адресом назначения сетевого пакета является мультикастная группа (один ко многим). Существует мультивещание на канальном, сетевом и прикладном уровнях. Мультивещание не следует путать с технологией передачи на физическом уровне точка-многоточка.
ОписаниеПравить
Ряд приложений, например, дистанционное обучение, рассылка почты, радио, видео по запросу, видеоконференцсвязь, поддерживают мультивещание. В одноадресной сети с каждым получателем устанавливается индивидуальное соединение даже при потреблении одного ресурса по общему маршруту. В многоадресной рассылке источник посылает единственный экземпляр данных по общему маршруту тем получателям, кто подписался на рассылку. Преимущество этого подхода: добавление новых пользователей не влечет за собой необходимость увеличения пропускной способности сети по общему маршруту до потребителей услуги. Соответственно, снижается нагрузка и на промежуточное оборудование.
При запуске на сервере приложения с поддержкой мультивещания, оно посылает в сеть уведомление, что соответствующая группа доступна для присоединения. Клиент, который хочет присоединиться к рассылке посылает уведомление об этом. Все промежуточные маршрутизаторы записывают, что за соответствующим маршрутом находится клиент соответствующей мультикастной группы. Поскольку состав группы со временем может меняться, вновь появившиеся и выбывшие члены группы динамически учитываются в построении путей маршрутизации. В локальной сети управлением мультикастными группами обычно занимается IGMP. Существует несколько алгоритмов и протоколов для построения мультивещательного дерева и опроса участников.
Для мультикастных групп зарезервированы адреса как на канальном, так и на сетевом уровнях.
Чтобы технология работала, она должна поддерживаться сервером, клиентом и всеми промежуточными маршрутизаторами. Чтобы коммутаторы посылали пакеты только нужным получателям, они должны поддерживать IGMP snooping (у Cisco есть своя реализация — CGMP), иначе пакеты рассылаются широковещательно. Также нужно иметь в виду, что мультикаст может блокироваться межсетевыми экранами.
Мультивещание в интернетеПравить
В 1995 году была создана международная магистральная сеть для обмена мультивещательным трафиком Mbone[en]. На её основе с 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[en])
- CBT (Core-Based Tree)
Основные протоколы построения деревьев мультивещанияПравить
Внутри звена: IGMP (Internet Group Management Protocol) в IPV4 и Multicast Listener Discovery в IPv6.
Интрадоменный (Inter-domain[en]) протокол: BGMP (Border Gateway Multicast Protocol[en])
Интердоменные протоколы:
- плотный режим (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[en])
- PIM-SM (Protocol Independent Multicast — sparse mode)
В сетях с подвижными узлами:
- MoM (Mobile Multicast)
- MMA (Multicast by Multicast Agent)
- MobiCast[en]
- MRMP (Maximum-Residual Multicast Protocol[en])
Xcast[en] (explicit multi-unicast) — особый протокол мультивещания не использующий мультикастные группы. Хорошо работает в небольших группах.
Протоколы, использующие мультивещаниеПравить
multicast NTP, Multicast BGP[en], Multicast DNS[en], Multicast File Transfer Protocol, Pragmatic General Multicast, Multicast router discovery[en], Narada multicast protocol[en], Gossip protocol[en], SMART Multicast[en], Scalable Reliable Multicast[en], Shortest Path Bridging (SPB) (IEEE 802.1aq), Cisco Group Multicast Protocol, Simple Multicast Routing Protocol, Multiple Registration Protocol.
Сервисы и технологииПравить
- Потоковое мультимедиа, Scalable video multicast[en]
- Интернет телевидение[en]
- MBMS и eMBMS (Multimedia Broadcast Multicast Service[en])
- Сеть доставки контента (CDN)
- Peercasting[en]
- Secure multicast[en]
- Multicast encryption[en]
- Any-source multicast[en]
- Broadcast and Multicast Service[en] (BCMCS) в мобильных сетях 3GPP2 CDMA2000.
- ANT (сеть) — протокол беспроводной сенсорной сети.
См. такжеПравить
СсылкиПравить
- IPv4 Multicast Address Space Registry
- IGMP query generator — утилита для запроса на всю подсеть кто в каких мультикастных группах находится
- Статьи про мультивещание на www.xgu.ru