Как архитектура многоадресной рассылки вписывается вместе
В этом разделе описывается пример конфигурации и способ их объединения.
На следующем рисунке показана связь между различными компонентами маршрутизатора.
Диспетчер групп многоадресной рассылки является частью службы RRAS, которая выполняется на сервере, работающем в качестве маршрутизатора.
Показанный маршрутизатор имеет три протокола многоадресной маршрутизации (Протокол 1, Протокол 2, Протокол 3). Каждый протокол может владеть одним или несколькими интерфейсами (на этом рисунке протокол 1 владеет интерфейсом 1, протокол 2 — интерфейсом 2, а протокол 3 — интерфейсом 3). Каждый интерфейс может принадлежать только одному протоколу маршрутизации (в дополнение к IGMP, что является особым случаем).
Диспетчер групп многоадресной рассылки выполняется на маршрутизаторе и координирует распределение сведений о группах между протоколами маршрутизации.
На следующем рисунке показана связь между двумя маршрутизаторами в многоадресной архитектуре.
На предыдущем рисунке маршрутизатор 2 отправляет многоадресное сообщение в сеть 2 в интерфейсе 3. Маршрутизатор 1 получает сообщение многоадресной рассылки из сети 2 в интерфейсе 3. На обоих маршрутизаторах протокол 3 владеет соответствующим интерфейсом 3.
На следующем рисунке показан путь сообщения из источника многоадресной рассылки (в группу многоадресной рассылки), чтобы связаться с узлом, присоединившемся к группе многоадресной рассылки. Маршрутизаторы на рисунке используют ту же конфигурацию, что и на предыдущих иллюстрациях; однако сведения об интерфейсе и протоколе не отображаются для простоты рисунка.
В следующем сценарии описываются события, которые происходят при присоединении узла к группе многоадресной рассылки. Связи между различными сущностями см. на предыдущем рисунке.
- Узел 1 присоединяется к группе многоадресной рассылки G в сети 3.
- Маршрутизатор 3 узнает о G через IGMP.
- Диспетчер групп многоадресной рассылки на маршрутизаторе 3 уведомляет протокол 3 на маршрутизаторе 3 о наличии новых приемников для G.
- Протокол 3 на маршрутизаторе 3 затем уведомляет протокол 3 на маршрутизаторе 1 о G.
- В свою очередь, протокол 3 на маршрутизаторе 1 уведомляет диспетчера групп многоадресной рассылки на маршрутизаторе 1 о G.
- Затем диспетчер групп многоадресной рассылки на маршрутизаторе 1 уведомляет протоколы 1 и 2 о G.
- Протокол 2 может сообщать маршрутизатору 2 о G, если протокол предназначен для этого.
В следующем сценарии описываются события, происходящие при отправке сообщения в группу многоадресной рассылки. Связи между различными сущностями см. на предыдущем рисунке.
- Источник в сети 1 отправляет сообщение в группу G.
- Сообщение, отправленное из источника S, сначала передается маршрутизатору 2, который затем пересылает его маршрутизатору 1 с помощью интерфейса 2 (так как маршрутизатор 2 был проинформирован протоколом 2 о наличии получателей ниже).
- Маршрутизатор 1 перенаправит сообщение маршрутизатору 3 (так как маршрутизатор 1 был проинформирован протоколом 2, что получатели присутствуют ниже).
- Маршрутизатор 3 перенаправит сообщение в сеть 3 и, следовательно, поступает на узел 1.
Дополнительные сведения о взаимодействии протокола многоадресной маршрутизации см. в статье RFC 2715, Правила взаимодействия для протоколов многоадресной маршрутизации.
Многоадресная IP-рассылка
Многоадресная IP-рассылка — это метод доставки информации по IP-сетям, предполагающий, что отправитель лишь единожды передает пакет данных различным адресатам, которые могут быть подключены к различным подсетям
Определение
Многоадресная IP-рассылка — это метод доставки информации по IP-сетям, предполагающий, что отправитель лишь единожды передает пакет данных различным адресатам, которые могут быть подключены к различным подсетям
В мире протокола Internet Protocol Version 4 (IPv4) можно пересылать пакеты данных с использованием адресации трех разных типов: передача конкретному устройству, широковещательная рассылка и многоадресная рассылка. Большая часть трафика Internet передается по модели адресации конкретному устройству. Другими словами, если пакет посылается с помощью адресации такого типа, его сможет получить только один компьютер.
Существует также широковещательная рассылка (broadcast), которая IP-соглашением интерпретируется как «рассылка всем хостам, подключенным к данной сети», а не какому-то конкретному хосту. При передаче пакета по многоадресной рассылке (multicast) он будет доставлен каждому хосту, подключенному к сети с указанным адресом.
Адресация конкретному устройству — это именно тот метод, который позволяет связать браузер с предпочтительными для пользователя Web-сайтами, загружать файлы и делать большую часть того, что происходит в Internet. Но такая модель достаточно ограниченна — она позволяет в каждый момент времени взаимодействовать только с одним компьютером. Владельцы Web-сервера, предлагающего потоковое видео, как правило, предпочитают передавать эти потоки только один раз, но так, чтобы их могли получить многие пользователи, и при этом стремятся избежать неоправданной перегрузки сети, которая возникла бы в том случае, если бы пришлось каждому пользователю пересылать отдельный поток.
В такой ситуации неплохим решением могло бы стать использование широковещательной рассылки, поскольку в такой модели пакеты передаются один раз и теоретически могут быть доставлены любому хосту в Internet. Однако на практике широковещательная рассылка спросом не пользуется. Во времена становления Internet (в конце 70-х — начале 80-х) широковещательная рассылка считалась хорошим способом распространения информации по Сети. Но такая рассылка мешает передаче других видов трафика, даже когда она используется только в одной сети или подсети; широковещательная рассылка, охватывающая весь Internet, была исключена в самом начале.
Для доставки пакетов различным получателям используется многоадресная IP-рассылка. Адреса IPv4 Class D (то есть со значениями в диапазоне от 224.0.0.0 до 239.255.255.255) зарезервированы для многоадресных рассылок. Каждый адрес может быть связан с группой многоадресной рассылки. Чтобы получить данные, переданные по этому адресу, необходимо стать членом такой группы. Этот метод также применяется для взаимодействий в модели «многие ко многим», поскольку инициировать рассылку пакетов может каждый член группы.
Членство в группе
Чтобы присоединиться к группе, необходимо уведомить ближайший маршрутизатор, поддерживающий возможность многоадресной рассылки, который и добавляет пользователя к списку членов группы. Когда маршрутизатор получает пакет, адресованный данной группе, он передает его всем членам группы, обслуживаемым данным маршрутизатором.
Маршрутизация пакетов при многоадресной IP-рассылке делает одноадресную маршрутизацию (то есть доставку пакета от отправителя к получателю по постоянно меняющейся структуре взаимосвязанных сетей) похожей на игру. Идея состоит в том, чтобы попытаться минимизировать дублирование, которое понапрасну расходует полосу пропускания, в то же время гарантируя, что все члены группы получат пакеты. И, конечно же, эти пакеты должны доставляться своевременно.
Разработчики годами создают масштабируемые решения, поддерживающие маршрутизацию при многоадресной рассылке. Стратегии маршрутизации при многоадресной рассылке зависят от того, является ли распределение членов группы «компактным» (то есть большинство сетевых хостов являются членами группы многоадресной рассылки) или «рассеянным» (где большая часть хостов не являются членами группы многоадресной рассылки).
Базовая стратегия для многоадресной маршрутизации при компактном распределении — это «затопление». Все поддерживающие многоадресную рассылку маршрутизаторы, получающие такой пакет, просто передают его по всем своим сетям, за исключением той сети, из которой этот пакет получен. Таким образом, все маршрутизаторы в конечном итоге получают все пакеты многоадресной рассылки. Конечно, такой подход ставит вопрос о масштабируемости, поскольку он генерирует трафик большого объема.
Базовая стратегия для многоадресной рассылки в рассеянном режиме состоит в том, чтобы избежать передачи маршрутизаторам нескольких копий одного и того же пакета и попытаться посылать пакеты многоадресной рассылки только на те маршрутизаторы, которые обслуживают членов группы.
Отсутствие совершенного решения
Многоадресная рассылка имеет определенные недостатки. Она не предполагает удержание соединений, что означает невозможность установления надежных потоков данных, как это позволяет сделать протокол Transmission Control Protocol. Многоадресная рассылка по умолчанию использует менее надежный протокол User Datagram Protocol.
Самая серьезная проблема связана с тем, что очень немногие Internet-провайдеры поддерживают обслуживание многоадресных пакетов, что очень неприятно, поскольку с помощью многоадресной рассылки можно реализовать очень много интересных приложений. К примеру, Internet Engineering Task Force в своей текущей деятельности достаточно продолжительное время применяет Mbone — «магистраль многоадресной рассылки» — для широковещательной трансляции своих событий.
Инициативу IP Multicast Initiative (IPMI) ее создатели подают как «всемирный форум производителей, способствующий распространению IP Multicast», и предоставляют список компаний, предлагающих услуги многоадресной рассылки. Среди них такие ведущие американские операторы, как AboveNet Communications, UUnet Technologies и Sprint.
Нельзя сказать, что многоадресная рассылка пользуется огромной популярностью, но она тем не менее до сих пор имеет большой потенциал. Согласно документу, опубликованному IPMI, корпорация Intel начала использовать многоадресную рассылку в 1996 году для передачи информации о таких событиях, как анонсы и демонстрации новых продуктов.
Многоадресная рассылка в действии
На этом рисунке справа изображен Internet, а слева — маршрутизатор, поддерживающий многоадресную рассылку. Маршрутизатор подключен к intranet и Internet. Сеть intranet состоит из нескольких хостов, один из которых уже является членом группы многоадресной рассылки; другой готовится стать членом группы.
- Эта стрелка связывает узел, который еще не входит в состав группы многоадресной рассылки, и маршрутизатор, поддерживающий многоадресную рассылку. Пакет передает маршрутизатору запрос на членство в группе
- Из Internet пакет, предназначенный для данной группы многоадресной рассылки, передается на локальный маршрутизатор, ориентированный на многоадресную рассылку
- Маршрутизатор, поддерживающий многоадресную рассылку, передает пакет обоим членам группы, которые размещаются в локальной сети intranet, и больше никаким другим узлам в сети