Мультикаст. Мультикаст маршрутизация
Muticast (от англ. Мультивещание) — метод передачи данных в компьютерных сетях, при котором адресатом сетевого пакета является группа заинтересованных получателей.
Применение
Потоковое мультимедиа, видеоконференцсвязь, радио, рассылка почты и котировок акций.
Описание
В multicast рассылке источник посылает единственный экземпляр пакета. Маршрутизаторы копируют пакеты заинтересованным пользователям. Преимущество этого подхода: добавление новых пользователей не приводит к допольнительной нагрузке на сеть. Пользователи получают только те пакеты, в которых они заинтересованы (в отличие от broadcast, где неинтересные пакеты необходимо фильтровать).
Как работает
При запуске на сервере приложения с поддержкой мультивещания, оно посылает в сеть уведомление, что соответствующая группа доступна для присоединения. Клиент, который хочет присоединиться к рассылке, посылает уведомление об этом устройству сети. Все промежуточные маршрутизаторы записывают, что за соответствующим маршрутом находится клиент соответствующей мультикастной группы. Поскольку состав группы со временем может меняться, вновь появившиеся и выбывшие члены группы динамически учитываются в построении путей маршрутизации (этим занимается протокол IGMP).
Мультикаст не привязан к какому-то конкретному протоколу. По сути, всё, что его определяет — адреса. Однако, в абсолютном большинстве случаев используется протокол UDP. Это легко объясняется тем, что обычно с помощью многоадресной рассылки передаются данные, небольшая потеря которых некритична.
IP адреса
В IPv4 был заложен блок адресов класса D: 224.0.0.0/4 (224.0.0.0-239.255.255.255). Адреса этого диапазона определяют мультикастовую группу. Один адрес — это одна группа, обычно она обозначается буквой «G».
То есть, говоря, что клиент подключен к группе 224.2.2.4, мы имеем ввиду, что он получает мультикастовый трафик с адресом назначения 224.2.2.4.
IGMP
IGMP (англ. Internet Group Management Protocol) - протокол управления групповой (multicast) передачей данных в сетях, основанных на протоколе IP.
IGMP используется клиентским компьютером и соседними коммутаторами для соединения клиента и локального маршрутизатора, осуществляющего групповую передачу.
Сеть, предоставляющая услуги групповой передачи данных (например, видео) с использованием IGMP, может иметь следующую базовую архитектуру: