Стандартная модель группового вещания IP

Основной целью группового вещания является создание эффективного механизма передачи данных от одного источника нескольким получателям. Для решения этой задачи могут использоваться несколько подходов, например индивидуальная рассылка, широковещательная рассылка, привлечение сервисов прикладного уровня.

Рис. 1. Групповая доставка на основе индивидуальных адресов

равном количеству узлов-получателей, состоящих в данной группе (рис. 1). То есть передача по принципу «один ко многим» сводится к нескольким передачам «один к одному». Очевидно, что передача нескольких идентичных копий на участках, где маршруты к разным членам группы перекрываются (это особенно характерно для начальных участков), приводит к избыточному трафику.

При широковещательной рассылке (broadcast) станция направляет пакеты, используя широковещательные адреса (рис. 2). В этой схеме, для того чтобы доставить данные группе узлов-получателей, источник генерирует один экземпляр данных, но снабжает этот экземпляр широковещательным адресом, который диктует маршрутизаторам сети копировать эти данные и рассылать их всем конечным узлам независимо от того, «заинтересованы» узлы в получении этих данных или нет. В этом случае, как и в предыдущем, существенная доля трафика является избыточной.

Рис. 2. Групповая доставка на основе широковещательного адреса

В случае привлечения сервисов прикладного уровня функции по обеспечению групповой доставки перекладываются на самих членов группы. То есть, как показано на рис. 3, источник генерирует один экземпляр данных и, используя индивидуальный адрес, передает данные одному из членов группы, который генерирует копию и направляет ее другому члену группы и т. д. Перемещение решения задачи с нижних транспортных уровней на прикладной уровень повышает суммарные накладные расходы сети на реализацию групповой доставки и делает этот механизм менее гибким.

Таким образом, традиционные Механизмы доставки пакетов стека TCP/IP мало пригодны для поддержки группового вещания. В такой ситуации наиболее эффективным решением является использование специально разработанного механизма группового вещания, ориентированного на сокращение избыточного трафика и накладных расходов сети.

Рис. 3 Групповая доставка на основе сервисов прикладного уровня

Главная идея группового вещания состоит в следующем: источник генерирует только один экземпляр сообщения с групповым адресом, которое затем, по мере перемещения по сети, копируется на каждой из «развилок», ведущих к тому или иному члену группы, указанной в адресе данного сообщения (рис. 4). В конце концов, пакет с групповым адресом достигает маршрутизатора, к которому непосредственно подключена сеть с хостами-членами данной группы. Напомним, что у хостов, относящихся к той или иной группе, интерфейс наряду с индивидуальным адресом имеет еще и групповой адрес — адрес класса D, называемый также адресом группового вещания. Интерфейс может иметь даже несколько групповых адресов — по числу групп, в которых состоит данный хост.
Как и в случае обычной маршрутизации на базе индивидуальных адресов, маршрутизатор упаковывает пакет с групповым адресом в кадр канального уровня (той технологии, которая используется в данной локальной сети, например Ethernet), снабжая его групповым МАС-адресом, соответствующим групповому IP-адресу данного пакета1. Кадр с пакетом группового вещания поступает в локальную сеть, распознается и захватывается интерфейсами хостов, являющихся членами данной группы.

При таком подходе данные рассылаются только тем узлам, которые заинтересованы в их получении. Функция репликации группового сообщения и продвижения копий в сторону членов группы возлагается на маршрутизаторы, для чего они должны быть оснащены соответствующими программно-аппаратными средствами. Такой режим экономит пропускную способность за счет передачи только того трафика, который необходим.

Рис. 4. Схема группового вещания

Стив Диринг (Steve Deering) — один из главных идеологов группового вещания — сформулировал несколько принципиальных положений, регламентирующих поведение конечных узлов сети, которые являются источниками и получателями группового трафика.

  • Дейтаграммный подход. Источник может посылать пакеты UDP/IP в любое время без необходимости регистрировать или планировать передачи, реализуя сервис «по возможности».
  • Открытые группы. Источники должны знать только групповой адрес. Они не должны знать членов группы и не обязательно должны быть членами той группы, которой они посылают данные. Группа может быть образована узлами, принадлежащими к разным IP-сетям и подсетям. Группа может иметь любое число источников данных.
  • Динамические группы. Хосты могут присоединяться к группам или покидать группы без необходимости регистрации, синхронизации или переговоров с каким-либо централизованным элементом группового управления. Членство в группе является динамическим, поскольку хосты могут присоединиться к группе или выйти из группы в любой момент времени, к тому же они могут быть членами нескольких групп.

Из концепции открытых групп следует, что групповое вещание может быть организовано как по схеме «один ко многим», так и по схеме «многие ко многим».

Заметим также, что возможность быть источником никак не связана с членством хоста в той или иной группе. Источник группового вещания может начать передачу пакетов некоторой группе даже при условии, что во всем Интернете нет ни одного узла, который был бы заинтересован в этих данных.

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

В соответствии с традиционной моделью группового вещания узлы могут делать заявки на трафик, направляемый той или иной конкретной группе (по тому или иному групповому адресу), при этом не имеет значения, каким источником генерируется этот трафик. Для описания такой модели часто используют термин групповое вещание из любого источника (Any Source Multicast, ASM). Модель ASM включает обе схемы: и «один ко многим», и «многие ко многим».

В более поздней модели, называемой групповым вещанием из конкретного источника (Source Specific Multicast, SSM), хосты могут регистрировать свою заинтересованность не только относительно определенной группы, указывая соответствующий групповой адрес, но и в отношении совершенно определенных источников группового трафика, указывая соответствующие индивидуальные адреса. Возможность запроса конкретных источников является ключевой в модели SSM. Модель сервиса группового вещания SSM строится по схеме «один ко многим» и предусматривает возможность работы хостов в двух дополнительных режимах:

  • в режиме исключения хост может требовать, чтобы ему направлялись пакеты для его группы, но только те, которые поступают от источников, не входящих в его список исключенных источников;
  • в режиме включения хост может требовать получение группового трафика только от тех источников, которые перечислены в списке включенных источников.