hostprofi.ru
Подобрать хостинг
Термин·буква M

Multicast

краткое определение

Multicast — режим передачи данных, при котором один отправитель посылает пакеты группе получателей одновременно. В отличие от broadcast (всем) и unicast (одному), multicast доставляет трафик только тем узлам, которые подписались на группу.

Multicast — модель доставки IP-пакетов группе получателей через одну передачу отправителя. Узел подписывается на multicast-группу (IGMP-запрос в IPv4, MLD в IPv6), и маршрутизаторы доставляют трафик только на те ветви сети, где есть подписчики. Это радикально снижает нагрузку на сеть при потоковой передаче данных нескольким получателям.

Как работает

IPv4 зарезервировал диапазон 224.0.0.0/4 для multicast-адресов. Подгруппы:

  • 224.0.0.0/24 — link-local (не маршрутизируются): 224.0.0.1 — все хосты, 224.0.0.2 — все маршрутизаторы, 224.0.0.5/6 — OSPF.
  • 224.0.1.0-238.255.255.255 — глобальные multicast-адреса.
  • 239.0.0.0/8 — locally scoped (аналог RFC 1918 для multicast).

Узел сообщает маршрутизатору о подписке через IGMP (Internet Group Management Protocol). Маршрутизаторы обмениваются информацией о multicast-группах через PIM (Protocol Independent Multicast) — чаще всего PIM-SM (Sparse Mode). Строится дерево распределения: отправитель → корень дерева → ветви → получатели. Трафик не дублируется: каждый канал несёт одну копию.

В корпоративных сетях multicast используется для видеоконференций, обновления ПО на множестве машин одновременно, финансовых тикеров (market data). В хостинговой инфраструктуре — для репликации данных между кластерными узлами (Corosync в HA-кластерах использует multicast 239.255.1.1) и VXLAN-туннелей.

История

IP Multicast предложил Стив Декринг в диссертации 1988 года и описал в RFC 1112 (1989). IGMP v1 появился там же. IGMP v2 (RFC 2236, 1997) добавил явный leave-механизм, IGMP v3 (RFC 3376, 2002) — подписку на конкретных отправителей (SSM, Source-Specific Multicast). Широкого распространения в публичном интернете multicast так и не достиг из-за сложности маршрутизации и сложностей с биллингом трафика — операторы отключили его в межоператорских стыках.

Multicast vs Unicast vs Broadcast

МодельПолучателейКопий пакетаПрименение
Unicast11HTTP, SSH, большинство протоколов
BroadcastВсе в подсети1 (рассылка в L2)ARP, DHCP, NetBIOS
MulticastГруппа подписчиков1 (репликация на маршрутизаторах)IPTV, HA-кластеры, OSPF
AnycastБлижайший узел1DNS root, CDN, BGP anycast

На что обращать внимание

При настройке HA-кластера (Pacemaker/Corosync) убедитесь, что multicast разрешён в сети между узлами — некоторые облачные платформы и VLAN-конфигурации блокируют его. Альтернатива — unicast-транспорт Corosync. В публичных облаках (AWS, GCP) multicast недоступен; вместо него используют unicast-репликацию или проприетарные overlay-сети. Для Docker Swarm и Kubernetes multicast не нужен — они используют unicast gossip-протоколы.

Мультикаст в хостинге и облаках

В классических VLAN-сетях мультикаст работает через IGMP snooping: коммутатор отслеживает IGMP-запросы и рассылает трафик только на порты, которые его запросили. Без IGMP snooping мультикаст деградирует до broadcast — засоряя все порты VLAN. В публичных облаках (AWS, Yandex Cloud) мультикаст недоступен: используются unicast-протоколы (Unicast, PTP) вместо него. Решения для кластеризации БД (Galera Cluster, PostgreSQL Patroni) в облаке переходят на unicast-режим автообнаружения.

Другие термины