Протокол определения местоположения службы - Service Location Protocol
Эта статья включает в себя список общих Рекомендации, но он остается в основном непроверенным, потому что ему не хватает соответствующих встроенные цитаты.Август 2010 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В Протокол определения местоположения службы (SLP, srvloc) это обнаружение службы протокол что позволяет компьютерам и другим устройствам находить службы в локальная сеть без предварительной настройки. SLP был разработан для масштабирования от небольших неуправляемых сетей до крупных корпоративных сетей. Это было определено в RFC 2608 и RFC 3224 в качестве стандарты отслеживать документ.
Обзор
SLP используется устройствами для объявления Сервисы в локальной сети. Каждая услуга должна иметь URL который используется для поиска службы. Кроме того, он может иметь неограниченное количество пар имя / значение, называемых атрибуты. Каждое устройство всегда должно быть в одном или нескольких объемы. Области действия представляют собой простые строки и используются для группировки служб, сравнимых с сетевое окружение в других системах. Устройство не может видеть службы, которые находятся в разных областях.
URL-адрес принтера может выглядеть так:
служба: принтер: lpr: // myprinter / myqueue
Этот URL-адрес описывает очередь под названием «myqueue» на принтере с именем хоста «myprinter». Протокол, используемый принтером: LPR. Обратите внимание, что принтер использует специальную схему URL-адреса «service:». URL-адреса "service:" не требуются: можно использовать любую схему URL-адресов, но они позволяют искать все службы одного типа (например, все принтеры) независимо от того, какой протокол они используют. Также называются первые три компонента типа URL "service:" ("service: printer: lpr") Тип Обслуживания. Первые два компонента («сервис: принтер») называются абстрактный тип услуги. В URL, отличном от "service:", имя схемы является типом службы (например, "http" в "http://www.wikipedia.org ").
Атрибуты принтера могут выглядеть так:
(имя-принтера = Хьюго), (printer-natural-language-configure = en-us), (printer-location = В моем домашнем офисе), (printer-document-format-supported = application / postscript), (printer- color-supported = false), (принтер-сжатие-поддерживается = deflate, gzip)
В примере используется стандартный синтаксис для атрибутов в SLP, добавлены только новые строки для улучшения читаемости.
Определение URL-адреса "service:" и разрешенные атрибуты для URL-адреса указаны шаблон услуги, формализованное описание синтаксиса URL и атрибутов. Шаблоны услуг определены в RFC 2609.
SLP позволяет нескольким типам запросов находить сервисы и получать информацию о них:
- Он может искать все службы с одним и тем же типом службы или абстрактным типом службы.
- Запрос можно объединить с запросом атрибутов, используя LDAP язык запросов.
- По его URL-адресу могут быть запрошены атрибуты службы. В стандартном SLP атрибуты не возвращаются в результате запроса и должны выбираться отдельно. Расширение списка атрибутов (RFC 3059 ) устраняет эту проблему.
- Список всех видов услуг можно получить
- Можно запросить список всех существующих объемов.
Роли
SLP выполняет три разные роли для устройств. Устройство также может иметь две или все три роли одновременно.
- Пользовательские агенты (UA) - это устройства, которые ищут услуги
- Сервисные агенты (SA) - это устройства, которые объявляют одну или несколько служб.
- Агенты каталога (DA) - это устройства, которые кэшируют информацию об услугах. Они используются в более крупных сетях для уменьшения объема трафика и обеспечения масштабирования SLP. Наличие DA в сети необязательно, но если DA присутствует, UA и SA должны использовать его вместо прямого взаимодействия.
Сегодня большинство реализаций демоны которые могут действовать как UA и SA. Обычно их можно настроить так, чтобы они также стали DA.
Сетевой протокол
SLP - это пакетно-ориентированный протокол. Большинство пакетов передаются с использованием UDP, но TCP также может использоваться для передачи более длинных пакетов. Из-за потенциальной ненадежности UDP SLP повторяет все многоадресные рассылки несколько раз с увеличивающимися интервалами, пока не будет получен ответ. Все устройства должны прослушивать порт 427 для пакетов UDP, SA и DA также должны прослушивать TCP на том же порту. Многоадресная рассылка SLP широко используется, особенно устройствами, которые присоединяются к сети и которым необходимо найти другие устройства.
Работа SLP значительно различается в зависимости от того, находится ли агент каталога (DA) в сети или нет. Когда клиент впервые подключается к сети, он выполняет многоадресную рассылку запроса DA в сети. Если DA не отвечает, предполагается, что он находится в сети без DA. Также возможно добавить DA позже, поскольку они многоадресно передают пакет «пульса» в заранее определенном интервале, который будет получен всеми другими устройствами. Когда SA обнаруживает DA, необходимо зарегистрировать все службы в DA. Когда служба исчезает, SA должен уведомить DA и отменить регистрацию.
Чтобы отправить запрос в сети без DA, UA отправляет многоадресный UDP-пакет, содержащий запрос. Все сопоставления безопасности, содержащие совпадения, отправят ответ UDP на UA. Если ответ слишком велик, чтобы поместиться в один пакет UDP, пакет будет помечен как «переполненный», и UA может отправить запрос непосредственно в SA, используя TCP, который может передавать пакеты любого размера.
Чтобы отправить запрос в сети с DA, UA отправит пакет запроса DA, используя UDP или TCP. Поскольку каждый SA должен регистрировать все службы в DA, DA может полностью выполнить запрос и просто отправляет результат обратно в UA.
Безопасность
SLP содержит криптография с открытым ключом механизм безопасности, позволяющий подписывать служебные объявления. На практике используются редко:
- Открытые ключи каждого поставщика услуг должны быть установлены на каждом UA. Это требование противоречит первоначальной цели SLP, заключающейся в возможности обнаружения служб без предварительной настройки.
- Недостаточно защищать только сервисы. URL-адреса служб содержат имена хостов или IP-адреса, и в локальной сети предотвратить это практически невозможно. Подмена IP или DNS. Таким образом, только гарантии подлинности URL-адреса недостаточно, если какое-либо устройство может ответить на адрес.
- Поскольку адреса могут быть подделаны, подлинность устройства в любом случае должна быть подтверждена на другом уровне, например в протоколе приложения (например, с SSL ) или на уровне пакетов (IPsec ). Выполнение этого дополнительно в SLP не обеспечивает особой дополнительной безопасности.
Принятие
- SLP часто используется для поиска принтеров и поддерживается такими системами печати, как ЧАШКИ.
- SLP часто встречается в принтерах, подключенных к локальной сети, поэтому их можно обнаружить прямо из коробки. Некоторые драйверы печати клиента могут использовать это для обнаружения принтера.
- ACN Протокол, разрабатываемый для управления развлечениями, использует SLP для поиска различных устройств, таких как диммеры и интеллектуальное освещение.
- В классическая Mac OS, и Mac OS X до версии 10.1 использовал SLP для поиска общих файловых ресурсов и других служб. Однако функции, представленные в Mac OS X (версия 10.2 и выше) используйте Зероконф.
- Протокол ядра Netware (NCP) клиенты в чистой IP-среде используют SLP для обнаружения Novell NetWare и Сервер Novell Open Enterprise (OES) серверов.
- SUSE Linux поддерживает SLP для различных сервисов, начиная с версии 9.1.
- Sun Microsystems поддерживает SLPv1 и SLPv2, включая функции SA, UA и DA.[1]
- В Целевая группа по распределенному управлению стандартизировало открытие Услуги WBEM через SLP.
- В Промышленная ассоциация сетей хранения данных обязал использовать SLP для обнаружения сервисов в Инициатива по управлению хранением - Спецификация.
Смотрите также
- Авахи
- Bonjour
- Протокол динамического конфигурирования сервера
- Джини
- Link-Local Multicast Name Resolution
- OSGi Альянс
- Универсальный Plug and Play (UPnP)
- WS-Discovery
- Сеть без конфигурации (Zeroconf)
Рекомендации
- ^ Руководство администратора протокола определения местоположения службы (PDF), Sun Microsystems, февраль 2000 г., получено 2010-08-19
- Сильвия Хаген, Руководство по протоколу определения местоположения службы, ООО Podbooks.Com, ISBN 1-893939-35-9
- Джеймс Кемпф, Роберт Сен-Пьер, Пит Сен-Пьер: Протокол определения местоположения служб для корпоративных сетей: внедрение и развертывание динамического средства поиска служб, Джон Уайли и сыновья, ISBN 0-471-31587-7
- Голден Дж. Ричард: Обнаружение служб и устройств: протоколы и программирование, McGraw-Hill Professional, ISBN 0-07-137959-2
- Йохан Хьельм: Создание служб определения местоположения для беспроводной сети, Джон Уайли и сыновья, ISBN 0-471-40261-3
- Анна Хак: Протоколы мобильной связи для сетей передачи данных, Джон Уайли и сыновья, ISBN 0-470-85056-6
внешняя ссылка
- Модуль LiveTribe SLP / OSGi
- Проект протокола местоположения службы
- Улучшения протокола определения местоположения службы
- OpenSLP
- jSLP - чистая реализация Java SLP.
- Клиент SBLIM CIM для Java - включает RFC 2614 совместимая реализация SLP на Java.
- Сравнение протоколов обнаружения услуг и реализации протокола определения местоположения услуг
- https://web.archive.org/web/20050312060250/http://www.ietf.org/html.charters/svrloc-charter.html - IETF SRVLOC рабочая группа, который создал стандарт SLP
- WBEM Discovery с использованием SLP к DMTF
- Шаблон WBEM SLP ДМТФ
- Автоматизация управления клиентами с помощью протокола определения местоположения службы статья М. Тима Джонса на developerWorks