Service Location Protocol

Материал из Википедии — свободной энциклопедии

Протокол обнаружения сервисов (англ. Service Location Protocol, SLP, srvloc) — протокол обнаружения сервисов, который позволяет компьютерам и иным устройствам находить сервисы в локальной вычислительной сети без предварительной конфигурации. SLP был разработан, чтобы работать как в небольших сетях, так и в больших корпоративных сетях. Он определен в RFC 2608.

Logical overview

Роли SLP

SLP описывает три роли для устройств. Устройство может иметь две или даже три роли одновременно.

  • User Agents (UA) — устройства, которые ищут сервисы
  • Service Agents (SA) — устройства, анонсирующие один или несколько сервисов
  • Directory Agents (DA) — устройства, кеширующие сервисы. Они используются в больших сетях для уменьшения количества трафика и позволяют SLP масштабироваться. Существование DA в сети является необязательным, но если он присутствует, то UA и SA должны использовать его вместо прямых коммуникаций.

Ныне большинство реализаций действуют как UA и SA. Также они могут быть настроены для работы в качестве DA.

Network protocol

Безопасность

SLP содержит механизмы криптографии на основе открытых ключей, которые позволяют подписывать анонсы сервисов. На практике это используется редко.

  • Открытый ключ провайдера сервиса должен быть установлен на каждом UA. Это нарушает исходную цель SLP — возможность обнаружения сервисов без предварительной настройки
  • Защиты сервисов не достаточно. URL сервиса содержит имя компьютера или его IP адрес, а в локальной сети почти невозможно предотвратить подделку IP или DNS имени. Поэтому гарантия аутентичности URL бесполезна если любое устройство может отвечать по указанному адресу
  • Поскольку адреса могут быть подделаны, аутентичность устройства должна быть подтверждена на другом уровне, например, на уровне приложения (через SSL) или на уровне пакетов (IPsec). Дополнительная аутентификация в SLP не даст сильного повышения безопасности.

Внедрение

  • SLP часто используется для нахождения
    CUPS
    .
  • SLP часто используется в принтерах с возможностью работы в локальной сети, поэтому они могут работать без предварительной конфигурации. Некоторые клиентские драйвера используют протокол для нахождения принтера.
  • Архитектура для управляющих сетей (ACN), протокол, разрабатываемый для контроля развлечений, использует SLP для обнаружения устройств управления освещением
  • Mac OS X (старше 10.2), предпочитают Zeroconf
    .
  • Клиенты
    Novell NetWare в чистом IP
    окружении используют SLP для обнаружения серверов.
  • SUSE Linux поддерживает SLP начиная с версии 9.1

См. также

  • Universal plug-and-play
    (UPnP)
  • Jini
  • Zero Configuration Networking (Zeroconf)
  • Bonjour
  • OSGi альянс
  • Salutation
  • Dynamic Host Configuration Protocol