В этой статье описаны основы мультикастовой рассылки (multicast), которая работает на сетевом уровне модели OSI.

Типы трафика в TCP/IP

Трафик в TCP/IP принято разделять на три вида:

  • Unicast — когда один отправитель и один получатель. Например компьютер с адресом 192.168.0.1 связывается с компьютером 192.168.0.2.
  • Broadcast — когда один отправитель посылает сигнал всей подсети в которой находится. Например arp запрос, или поиск dhcp сервера в своей локальной сети.
  • Multicast — когда один отправитель посылает сигнал группе хостов, которые хотят получать мультикастовую рассылку.
Unicast Broadcast Multicast

В этой статье будем разбираться с мультикастом.

Где Multicast применяется

Чаще всего вы можете встретиться с мультикастом в IP телевидение (IP TV). Когда видиотрансляция передаётся с сервера одновременно на несколько устройств. Приёмники при этом должны быть подписаны на мультикастовую подписку и получать сигнал от источника.

Ещё мультикаст применяется в рекламных цифровых билбордах, в мультимедийных системах в общественном транспорте и так далее. В общем везде, где есть источник и много приёмников для получения одной и той же информации.

Зачем нужен Multicast

В случае, когда есть один источник информации и множество приёмников, unicast приводит к избыточной нагрузке на сеть. Например где-то в интернете есть сервер, который должен передать пяти компьютерам одинаковую информацию в одно и тоже время. Если он будет передавать с помощью unicast рассылки, то он передаст пять порций одинаковой информации:

Unicast рассылка

А если для передачи будет использоваться multicast рассылка, то сервер будет передавать только одну порцию информации, без дубликатов. Дублироваться информация конечно будет, но для каждого следующего устройства будет передаваться только одна копия информации:

Multicast рассылка

То есть с помощью Multicast мы экономим трафик и меньше нагружаем сетевые устройства.

А broadcast для подобных дел вообще не подходит. Broadcast не переходит из одной подсети в другую и работает в пределах своей локальной сети.

Особенности Multicast

Мультикаст работает на сетевом уровне модели OSI или на уровне «Интернет» модели TCP/IP. Про эти сетевые модели я писал здесь.

Адресация

Каждое сетевое устройство в сети имеет IP адрес. Но есть специальная группа адресов выделенная специально для мультикаста. Это адреса в сети 224.0.0.0/4, то есть в диапазоне от 224.0.0.0 до 239.255.255.255. Каждое устройство, которое хочет получать Multicast информацию должно иметь групповой IP адрес. Но из этого диапазона некоторые адреса уже зарезервированы:

  • 224.0.0.0/24 — не маршрутизируемые протоколы (например OSPF);
  • 224.0.1.0/24 — маршрутизируемые протоколы (например AUTO-RP).
  • Все остальные адреса можно использовать.

Например, в IP-TV, каждый адрес из мультикастового диапазона это 1 канал. То есть, если мы переключаемся на другой канал, то мы просто меняем мультикастовый адрес. И начинаем получать информацию предназначенную для другой мультикастовой группы.

Если в Unicast все устройства должны иметь разные IP адреса. То в Multicast разные устройства могут иметь один и тот же мультикастовый адрес, если они находятся в одной мультикастовой группе.

И каждому групповому IP адресу должен соответствовать групповой MAC адрес. Такой адрес начинается с префикса 01:00:5Е.

Восходящие и нисходящие интерфейсы

Когда строится мультикастовое дерево, должны соблюдаться некоторые правила. Вот некоторые из них:

  • Для каждой пары источник-приёмник может быть только один восходящий интерфейс. То есть от одного источника к одному приёмнику не нужно посылать несколько копий информации.
  • Нисходящих интерфейсов может быть несколько, например сетевое устройство может передавать информацию сразу группе клиентов.
Восходящие и нисходящие интерфейсы

То что приходит в роутер — это восходящий интерфейс, а то что выходит из роутера — исходящие интерфейсы.

Основные протоколы мультикаста

Два основных протокола для передачи мультикастового трафика это — PIM-SM и IGMP. То есть, если вы будите иметь дело с мультикастом на практике, то скорее всего будите настраивать именно эти протоколы на сетевых устройствах.

Сводка
Multicast (групповая рассылка в TCP/IP сетях)
Имя статьи
Multicast (групповая рассылка в TCP/IP сетях)
Описание
В этой статье описаны основы мультикастовой рассылки (multicast), которая работает на сетевом уровне модели OSI

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *