Перейти к содержимому

Ws discovery что это

  • автор:

WS-Discovery — WS-Discovery

Динамическое обнаружение веб-служб (WS-Discovery ) — это техническая спецификация который определяет протокол обнаружения multicast для обнаружения служб в локальной сети. Он работает через TCP и UDP порт 3702 и использует IP-адрес многоадресной рассылки 239.255.255.250. Как следует из названия, фактическая связь между узлами осуществляется с использованием стандартов веб-служб, в частности SOAP-over-UDP.

UDP-портов 139, 445, 1124, 3702 TCP-портов 139, 445, 3702, 49179, 5357,5358

Протокол был первоначально разработан BEA Systems, Canon, Intel, Microsoft и WebMethods. 1 июля 2009 г. он был утвержден в качестве стандарта OASIS.

. Различные компоненты операционной системы Microsoft Windows Vista используют WS-Discovery, например «Люди рядом». WS-Discovery является неотъемлемой частью технологий Windows Rally и профиля устройств для веб-служб.

Компонент WSDMON в Windows 7 и более поздних версиях использует WS-Discovery для автоматического обнаружения Сетевые принтеры с поддержкой WSD, которые отображаются в разделе «Сеть» в проводнике Windows и могут быть установлены двойным щелчком по ним. В Windows 8 или более поздней версии установка выполняется автоматически. WS-Discovery включен по умолчанию в сетевых принтерах HP примерно с 2008 года.

См. Также

  • Avahi
  • Bonjour
  • DHCP
  • Jini
  • Список Спецификации веб-служб
  • LLMNR
  • OSGi Alliance
  • SSDP
  • Universal Plug and Play (UPnP)
  • Обнаружение веб-служб
  • Веб-службы для устройств
  • Нулевая конфигурация сеть (Zeroconf)

Ссылки

Внешние ссылки

Соответствие спецификации WS-Discovery

WS-Discovery описывает, как выполнять следующие задачи:

  • Объявление о доступности служб в локальной подсети
  • Поиск служб в подсети
  • Поиск ранее упоминаемой службы

Для этого WS-Discovery определяет два односторонних сообщения, Hello и Bye, и два двунаправленных поисковых сообщения: Probe и Resolve.

WS-Discovery также предоставляет адреса и зарезервированный порт для локального обнаружения IPv4- и IPv6-каналов. Спецификация также позволяет определять альтернативные привязки в другом месте, например привязку пробы через HTTP, определенную в профиле устройств для веб-служб (DPWS).

Спецификация WS-Discovery описывает выборную функциональность с использованием терминов MAY или SHOULD в данной рекомендации или ограничении реализации. Пропущенные функциональные возможности могут быть описаны как REQUIRED в спецификации WS-Discovery, которая не была реализована WSDAPI, или это может быть функциональность, реализованная WSDAPI в методе, другом в том, который указан в спецификации WS-Discovery.

В этом разделе описывается, как WS-Discovery ограничения, требования и выбор функций обрабатываются реализацией WSDAPI. Этот раздел лучше всего читать в сочетании со спецификацией WS-Discovery.

поддержка WS-Discovery и soap-over-UDP

В разделе 3.2 в soap-over-UDP указано, что сообщение UDP должно помещаться в датаграмму размером 64 КБ. WSDAPI будет принимать 64K UDP-сообщений, но ограничение DPWS MAX_ENVELOPE_SIZE (32 КБ) ограничивает размер сообщения. В соответствии с требованиями WS-Discovery WSDAPI поддерживает шаблоны сообщений, описанные в разделе 4.

WSDAPI можно настроить для поддержки модели безопасности в разделах 7 и 8. Если это настроено, WSDAPI будет подписывать исходящие WS-Discovery сообщения и проверять подписи во входящих сообщениях.

WSDAPI реализует алгоритм повторной передачи, определенный в Приложении I с изменениями, приведенными в Приложении I к DPWS.

В WS-Discovery WSDAPI использует адреса, указанные в разделе 2.4. WSDAPI расширяет APP_MAX_DELAY из раздела 2.4, но не в той степени, в какой она определена в приложении I к DPWS. Дополнительные сведения о APP_MAX_DELAY см. в разделе Дополнительные функции WS-Discovery.

WS-Discovery описывает рекомендации по формату uuid: URI в разделе 2.6, но WSDAPI переопределяет эту рекомендацию. Вместо этого WSDAPI использует формат URI, описанный urn:uuid: в разделе DPWS.

В разделе 3 WS-Discovery описывается взаимодействие клиента с прокси-сервером обнаружения. WSDAPI не распознает это взаимодействие и игнорирует объявления от прокси-серверов обнаружения. В Windows 7 WSDAPI реализует частное расширение для протокола WS-Discovery, WS-Discovery удаленные расширения, чтобы клиенты обнаружения могли искать службы, распределенные по множеству различных сетей, отправляя запросы централизованным прокси-серверам. Дополнительные сведения см. в разделе Дополнительные функции WS-Discovery.

В разделе 4.1, пункт 3 WS-Discovery требуется, чтобы таймер истек перед отправкой сообщения Hello . API размещения не ожидает отправки сообщения Hello. Если в сценарии требуется задержка перед отправкой сообщения Hello, разработчик приложения должен реализовать ожидание.

WSDAPI реализует все сообщения, описанные в разделах WS-Discovery 4, 5 и 6. WSDAPI также применяет MATCH_TIMEOUT, описанные в разделе 7 с изменениями в приложении I к DPWS. WSDAPI защищает от воспроизведения только из соображений безопасности, описанных в разделе 9.

WSDAPI реализует виртуализацию приложений, как описано в WS-Discovery Приложении I.

Дополнительные функции WS-Discovery

В некоторых случаях профиль устройств для веб-служб (DPWS) и связанные спецификации не определяют функциональность реализации явным образом. Например, спецификация WS-Discovery не определяет поведение клиента и узла в средах с несколькими клиентами. При реализации WSDAPI были добавлены некоторые функции обнаружения, выходящие за рамки функций, определенных в спецификации.

WSDAPI также реализует выбранные части WS-Discovery CD1 версии 1.1 для связи с прокси-сервером обнаружения по протоколу HTTP.

Цель этого раздела — описать функции обнаружения, реализованные WSDAPI, но не описанные в спецификациях DPWS или WS-Discovery.

IPv6-адреса и формат URI soap.udp

ПРОТОКОЛ SOAP-over-UDP и WS-Discovery не описывают явно, как литеральный IPv6-адрес представлен в формате URI soap.udp. RFC 2396, озаглавленный «Универсальные идентификаторы ресурсов (URI): универсальный синтаксис», указывает, что литеральные IPv6-адреса не поддерживаются форматом URI soap.udp.

Для простоты WSDAPI распознает IPv6-адреса, заключенные в квадратные скобки в схеме soap.udp. Например, адрес soap.udp://[2001:abcd:0001:0002:0003:0004:0005:0032]:3702 распознается WSDAPI. Это аналогично обработке IPv6-адресов в HTTP.

Hello и XAddrs

Объект размещения DPWS WSDAPI никогда не отправляет WS-Discovery сообщение Hello с XAddrs в тексте сообщения. Клиент всегда отправляет сообщение Resolve после получения сообщения Hello, если клиенту необходимо получить XAddrs.

Этот подход имеет два преимущества. Во-первых, устройство, созданное на основе WSDAPI, никогда не будет предоставлять XAddrs, которые раскрывают IP-адреса частных сетей. Во-вторых, устройство, созданное на основе WSDAPI, предоставляет только XAddrs, которые доступны клиенту. Это означает, что IPv6-адреса никогда не отправляются клиенту IPv4.

При получении сообщения пробы или разрешения в ответ отправляется только один XAddr. Отправленный XAddr соответствует локальному адресу, по которому был получен запрос. Если запрос был получен в подсетях по протоколу IPv6, WSDAPI предоставит глобальный IPv6-адрес в ответе.

Предпочтительные адреса

Устройство может предоставить несколько XAddrs в сообщении Hello, ProbeMatch или ResolveMatch . Служба также может быть доступна в нескольких конечных точках с разными транспортными адресами. В таких случаях WSDAPI попытается связаться с устройством по первому найденном адресу. Адрес можно использовать, если он получен из доступного протокола, например IPv4 на компьютере, где установлен протокол IPv4, или IPv6 на компьютере, где установлен IPv6. Кроме того, если адрес получен от устройства или службы, которые не находится в локальной подсети, он доступен только в том случае, если он является IPv4, локальным сайтом IPv6 или локальным каналом IPv6.

WSDL в обмене метаданными

Устройства и службы, созданные на основе WSDAPI, не предоставляют WSDL в обмен метаданными, если только приложение не предоставило эти сведения. По умолчанию подготовка WSDL не является частью модели программирования.

APP_MAX_DELAY

DPWS определяет APP_MAX_DELAY, случайный интервал задержки между получением пробы и отправкой ProbeMatch, как 5000 миллисекунд. Брандмауэр Windows требует, чтобы модель многоадресной рассылки запросов и одноадресной рассылки для UDP работала только в пределах 4-секундного окна брандмауэра. В результате WSDAPI будет передавать ответы за 2500 мс или меньше, а не в окне 5000 мс, описанном в APP_MAX_DELAY.

Резервирование портов IANA

WSDAPI использует TCP-порт 5357 для трафика HTTP и TCP-порт 5358 для трафика HTTPS по умолчанию. Эти порты зарезервированы для процессов с более низким уровнем привилегий с помощью резервирования URL-адресов в HTTP.sys, а также зарезервированы с помощью IANA.

Совместное использование портов UDP

WSDAPI использует общий доступ к портам. Сообщения одноадресной рассылки, отправленные на порт 3702, могут неправильно обрабатываться всеми приложениями на основе WSDAPI. Если приложение привязывается исключительно к порту 3702, это может помешать приложениям на основе WSDAPI правильно использовать этот порт.

Прокси-сервер CD1 WS-Discovery версии 1.1

WSDAPI будет искать и взаимодействовать с прокси-сервером обнаружения, который реализует протокол управляемого режима CD1 WS-Discovery версии 1.1. WS-Discovery версии 1.1 CD1 — это первая редакция WS-Discovery, включающее явное описание протокола HTTP для обмена данными между прокси-сервером и клиентом или устройством.

Чтобы ограничить количество параллельных версий, используемых в многоадресных запросах, WSDAPI отправляет запрос WS-Discovery Probe в пространстве имен 2005/04, но ищет тип DiscoveryProxy WS-Discovery версии 1.1 CD1. Если прокси-сервер отвечает, WSDAPI отправит запрос пробы HTTP или разрешения в указанную конечную точку прокси-сервера, как определено в WS-Discovery CD1 версии 1.1.

Настройка веб-служб для устройств (WSD)

Веб-службы для устройств (WSD) позволяют компьютерам находить принтеры и другие устройства в сети. Необходимо включить порт 3702 (WS-Discovery).

Важное замечание: Существует две версии Configure, каждая из которых соответствует тому серверу Fiery Server , к которому установлено подключение. Это составная процедура, в которой описываются действия, выполняемые при подключении к серверу Fiery Server с FS100/100Pro или более ранней версии, а также приведены примечания о действиях, которые следует предпринять при работе с FS150/150 Pro или более поздней версии. Если вы не знаете, какую версию Configure вы используете, см. раздел Какая версия Configure используется?.

  1. В Configure выберите Сеть > Службы > WSD .

Важно: Если установлено подключение к серверу Fiery Server с FS150/150Pro, то для получения доступа к настройкам, которые описаны в этой процедуре, выберите Отправка заданий > Веб-службы для устройств (WSD) .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *