В других случаях члены группы могут располагаться в разных сетях. Тогда протокол маршрутизации необходим. Но для начала маршрутизаторы, передающие многоадресные сообщения, должны знать, какие хосты входят в группу. Процесс может попросить свой хост присоединиться к какой-либо группе или покинуть ее. Каждый хост следит за тем, в какие группы входят его процессы в текущий момент. Когда последний процесс хоста покидает группу, хост больше не является ее участником. Примерно раз в минуту каждый многоадресный маршрутизатор рассылает пакет с запросом на все хосты своей LAN (естественно, по локальному групповому адресу 224.0.0.1) с просьбой сообщить о группах, к которым они принадлежат в данный момент. Многоадресные маршрутизаторы не обязаны находиться там же, где обычные. Каждый хост отсылает обратно ответы для всех интересующих его адресов класса D. Эти пакеты запросов и ответов используются протоколом управления группами в интернете (Internet Group Management Protocol, IGMP). Он описан в RFC 3376.
Для построения связующего дерева, позволяющего получить пути от отправителей до всех членов группы, используются различные протоколы многоадресной маршрутизации.
О соответствующих алгоритмах мы уже говорили в разделе 5.2.8. Внутри АС чаще всего используется протокольно-независимая многоадресная рассылка (Protocol Independent Multicast, PIM). Существует несколько ее вариантов. При PIM в плотном режиме (Dense Mode PIM) создается усеченное дерево, построенное методом продвижения по встречному пути. Этот вариант подходит, когда члены группы находятся во всех частях сети, например, при рассылке файлов на многочисленные серверы сети дата-центра. При PIM в разреженном режиме (Sparse Mode PIM) создаются связующие деревья, похожие на деревья с основанием в ядре. Такой вид PIM может использоваться, к примеру, когда поставщик контента транслирует ТВ-сигнал абонентам своей IP-сети. Также разработан вариант PIM с указанием конкретного источника (Source-Specific Multicast PIM). Наконец, если члены группы находятся в нескольких АС, для построения многоадресных маршрутов нужны специальные расширения BGP или туннелирование.
30 Эта сказка (которую многие считают русской народной) на самом деле была написана англичанином Робертом Саути. В ней медведи — крошечный, среднего размера и огромный — были не семейством, а просто друзьями. — Примеч. ред.
31 Число молекул в моле любого вещества или число атомов в моле простого вещества; обозначается как N
32 Во Франции шифрование возможно при условии передачи ключа правительственным органам. — Примеч. науч. ред.
33 Американский бейсболист, известный парадоксальными высказываниями, «йогизмами». — Примеч. ред.
5.8. Политика сетевого уровня
В последние годы управление трафиком тесно связано с сетевой политикой, поскольку доминирующей составляющей общего трафика стало потоковое видео, а интернет-соединение теперь все чаще представляет собой прямое подключение между контент-провайдерами и сетями доступа. Существует две проблемы сетевого уровня, касающиеся сетевой политики: пиринговые споры и приоритизация трафика (которую иногда связывают с сетевым нейтралитетом). Далее мы подробно рассмотрим оба этих вопроса.
5.8.1. Пиринговые споры
Хотя протокол BGP является техническим стандартом, в конечном итоге любое сетевое соединение — это деньги за маршрутизацию. Трафик направляется по тем путям, которые приносят наибольшую выгоду поставщикам услуг и транзитным сетям; при этом оплата за транзит является крайней мерой. Очевидно, пиринг без взаиморасчетов возможен, только если обе стороны согласны, что это выгодное соединение. Если одна из них считает, что получает недостаточно средств от сделки, она может затребовать оплату от другой сети. Вторая сеть может согласиться или отказаться, но если переговоры заходят в тупик, возникает так называемый пиринговый спор (peering dispute).
Несколько лет назад произошел один такой резонансный спор. В последние годы крупные контент-провайдеры поставляют трафик в объемах, способных перегрузить любое межсетевое соединение. В 2013 году провайдеры видеоданных настолько нагрузили линии между транзитными провайдерами и городскими сетями доступа, что потоковый видеотрафик исчерпал всю их емкость. Такую перегрузку сложно было устранить, не увеличивая пропускную способность сети. Возник вопрос: кто должен за это платить? В результате большинство крупных контент-провайдеров стали платить сетям доступа за прямое подключение. По сути, они заключили соглашение о платном пиринге, о котором мы говорили выше. Многие ошибочно расценили это как несправедливое блокирование видеотрафика или понижение его приоритета. Но на самом деле инцидент возник из-за коммерческих споров о том, какая сеть должна оплачивать предоставление точек подключения. Подробнее о пиринговых спорах и способах их разрешения можно прочитать в книге Нортона «The Internet Peering Playbook» (Norton, 2012).