Определение
Многоадресная 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, и больше никаким другим узлам в сети