Многоадресный фоновый трафик IPv6 (часть 5) — протоколы обнаружения службы многоадресной рассылки IPv6 от Microsoft

Опубликовано: 20 Марта, 2023

Введение

В предыдущей статье этой серии мы обсудили общие идеи, лежащие в основе сетей с нулевой конфигурацией, и двух основных корпоративных фреймворков с нулевой конфигурацией, Windows Rally и Apple Bonjour. Мы отметили, что нулевая конфигурация имеет три этапа (автоматическое назначение IP-адресов, присвоение имен устройств или служб и обнаружение служб), и рассмотрели LLMNR, решение Microsoft для именования. В этой статье рассказывается, как корпорация Майкрософт выполняет обнаружение служб по многоадресной рассылке IPv6.

UPnP, SSDP, WS-Discovery и ff02::c

Локальный адрес канала ff02::c определен в спецификации многоадресного адреса IANA как принадлежащий форуму UPnP. UPnP — это более старая, но все еще широко используемая платформа, основанная на протоколе обнаружения простых служб (SSDP). Он называется «простым», потому что использует пакеты UDP, содержащие информацию только об одном сервисе. SSDP используется многими потребительскими и бытовыми устройствами, а также принтерами и различными службами Windows.

WS-Discovery — это более новый протокол, использующий подход веб-сервисов. Он в основном ориентирован на корпоративные среды, и поскольку библиотеки SOAP и XML, на которые он опирается, довольно тяжелые, WS-Discovery, как правило, ограничивается устройствами с большим объемом памяти и вычислительной мощностью.

Оба протокола обнаружения используют один и тот же локальный для канала многоадресный адрес рандеву IPv6, ff02::c.

SSDP

Давайте рассмотрим некоторые распространенные приложения Windows, использующие SSDP.

Проигрыватель Windows Media (WMP) поддерживает UPnP — при запуске WMP рекламирует свои услуги всем, кто слушает в локальной сети (хотя мы обсуждаем ограничения брандмауэра Windows в других частях этой серии), а также ищет мультимедийные библиотеки, которые могут предлагать другие.. Вот сетевой монитор Microsoft, показывающий детали двух пакетов SSDP NOTIFY (объявление службы):

Изображение 18964
фигура 1

В этом первом пакете обратите внимание на NT (тип уведомления) «MediaRenderer:1». Не вдаваясь слишком глубоко в архитектуру UPnP (сложная задача), MediaRenderer является одним из множества протоколов управления устройствами, которые были стандартизированы UPnP Forum. В то время как эта серия статей посвящена корпоративной ИТ-среде, как обсуждалось в предыдущем посте, UPnP Forum и торговые ассоциации DLNA возникли в секторе бытовой электроники, но «перешли» в ИТ. Используя жаргон UPnP, вышеприведенный пакет предназначен для объявления услуг MediaRenderer любой контрольной точке UPnP, прослушивающей многоадресную рассылку.

Как мы увидим позже, вместо SOAP Bonjour от Apple использует другой подход, используя DNS для рекламы записей SRV и TXT, в которых перечислены службы, поддерживаемые данным устройством или приложением. Подход UPnP «тяжелый» в том смысле, что для стандартизации каждого протокола управления устройствами требуются месяцы или годы, но поэтому он чрезвычайно тщательный. Подход Apple более легкий, больше похож на настоящую службу каталогов для соединения заинтересованных сторон, а затем предполагает, что после соединения сторон будут согласованы протоколы более высокого уровня (такие как печать, совместное использование iTunes и т. д.). Оба подхода верны, но UPnP предназначен только для крупных игроков отрасли, тогда как подход Apple может использоваться кем угодно.

Изображение 18965
фигура 2

Оба приведенных выше пакета содержат местоположение, в котором можно связаться с рекламируемой службой — любой компьютер, прослушивающий многоадресный адрес ff02::c, теперь знает, что WMP предлагает какую-то услугу в локальной сети, где ее можно получить, и все без использования какой-либо центральной службы каталогов. Если вы скопируете URL-адрес местоположения в веб-браузер, вы увидите XML, который сообщает вам (или, скорее, сообщает другой машине — XML не совсем подходит для легкого чтения перед сном), какие услуги предлагает это устройство:

Изображение 18966
Рисунок 3

Недостатком SSDP является то, что он довольно болтлив. Многие устройства и приложения предоставляют многочисленные услуги, которые часто рекламируются в отдельных пакетах. Вы можете увидеть это в примере WMP с двумя различными предложениями NT (тип уведомления) в двух пакетах.

WMP также действует как контрольная точка UPnP и ищет другие медиа-сервисы в локальной сети с помощью пакета SSDP «M-SEARCH» для ff02::c:

Изображение 18967
Рисунок 4

Когда вы закрываете WMP, он уведомляет всех прослушивателей многоадресной рассылки о том, что он отозвал свои услуги. Как отмечалось ранее, SSDP очень болтливый, и здесь он отправляет пакет «до свидания» для каждой отдельной службы. На следующем рисунке показан пакет подписи для службы RenderingControl, который мы видели в одном из более ранних пакетов NOTIFY:

Изображение 18968
Рисунок 5

Помимо запускаемых пользователем приложений, таких как WMP, различные фоновые службы Windows используют многоадресную рассылку IPv6. Служба общего доступа к проигрывателю Windows Media и служба Media Extender генерируют запросы SSDP M-SEARCH для поиска других мультимедийных предложений в локальной подсети.

Изображение 18969
Рисунок 6

WS-обнаружение

Этот более современный протокол обнаружения, лежащий в основе стандарта Microsoft Device Profile for Web Services, использует XML-сообщения SOAP Web Services, распространяемые через многоадресную рассылку. Одной из служб, использующих WS-Discovery, является поставщик домашней группы:

Изображение 18970
Рисунок 7

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

Изображение 18971
Рисунок 8

При запуске служба HomeGroup Provider отправляет несколько пакетов WS-Discovery на ff02::c, например, это приветственное сообщение:

Изображение 18972
Рисунок 9

Многие другие службы и устройства используют WS-Discovery. Хотя в настоящее время вы можете не видеть особой необходимости в RFID в типичной корпоративной локальной сети, эти чипы начинают появляться повсюду, и использование многоадресного обнаружения для их обнаружения является естественным подходом.

На этом мы завершаем наш взгляд на многоадресные P2P-технологии IPv6 от Microsoft. В следующей части этой серии мы перейдем к платформе Apple Bonjour.