Simple Plan
- 1 year ago
- 0
- 0
Простой протокол обнаружения сервисов ( англ. Simple Service Discovery Protocol , SSDP ) — сетевой протокол , основанный на наборе протоколов Интернета , служащий для объявления и обнаружения сетевых сервисов. SSDP позволяет обнаруживать сервисы, не требуя специальных механизмов статической конфигурации или действий со стороны серверов, таких как DHCP или DNS . Данный протокол является основой протокола обнаружения Universal plug-and-play (UPnP) и предназначен для использования в домашних сетях и в малом бизнесе. Описание протокола SSDP, написанное компаниями Microsoft и Hewlett-Packard , подавалось в 1999 году в качестве черновика интернет-стандарта ( ) в IETF . Предложение истекло в апреле 2000 , но SSDP был включен в состав стека протоколов UPnP и реализация SSDP попала в стандарт UPnP.
SSDP описывает механизм, согласно которому сетевые клиенты могут обнаружить различные сетевые сервисы . Клиенты используют SSDP без предварительной конфигурации. SSDP поддерживает обнаружение при помощи мультикаста , уведомления от серверов и маршрутизацию. Данная служба включает обнаружение UPnP-устройств в домашней сети. Например, телевизор с поддержкой DLNA / UPNP находит медиасерверы в локальной сети с использованием этого протокола. Домашние маршрутизаторы обнаруживаются компьютерами, как правило, также с помощью SSDP (для отображении информации о маршрутизаторах и медиасерверах в «Сетевом окружении» эти устройства также должны поддерживать протокол HTTP , так как SSDP сообщает устройствам http-ссылку на страницу управления устройством).
Протокол SSDP представляет собой обмен текстовыми сообщениями с форматированием XML , он основан на (от англ. HTTP over UDP — вариант HTTP , в котором для передачи сообщений используются датаграммы UDP ). Сервисы анонсируют себя отправкой сообщений на выделенные мультикаст -адреса на порт UDP/1900. В сетях IPv4 используется мультикаст-адрес 239.255.255.250 , а в IPv6 — ff02::c , ff05::c , … (формат адреса: ff0X::c , где X выбирается в зависимости от типа анонса) :
В дополнение к этому разные реализации могут использовать специальный мультикастовый адрес источника, полученный от локального префикса маршрутизации IPv6, с групповым идентификатором C (десятичное число 12).
В протоколе SSDP используется HTTP-метод NOTIFY для анонсирования появления или удаления сервисов (или информации о присутствии) для всех участников мультикаст-группы. Клиентское устройство, желающие узнать о появлении сервисов в сети, использует запрос с методом M-SEARCH , ответы на который присылаются отправителю запроса на его собственный адрес (unicast).
В операционных системах семейства Windows для нормального функционирования «Службы обнаружения SSDP» никаких других служб не требуется. От работы этого сервиса зависит «Узел универсальных PnP-устройств» ( англ. Universal Plug and Play Device Host ).
Реализации SSDP IPv6 от Microsoft (в Windows Media Player и в сервере) используют адреса типа «link-local». Для уведомлений о событиях и подписки используется порт 2869 (ранее также использовался порт 5000) .
В 2014 неожиданно обнаружили, что SSDP использовался в DDoS -атаках типа «Атака отражения и усиления при помощи SSDP» ( SSDP reflection attack with amplification ). Многие устройства, в том числе бытовые маршрутизаторы, имели изъян в программном обеспечении UPnP, который позволял атакующему направлять ответы с порта 1900 на произвольный адрес в сети Интернет. В случае использования ботнета из многих тысяч подобных устройств атакующий мог создать большой поток пакетов, достаточных для занятия пропускной полосы и насыщения каналов передачи данных атакуемой площадки, что приводит к отказу в обслуживании для обычных пользователей .