Simple Service Discovery Protocol
Anwendung | SSDP | ||||
---|---|---|---|---|---|
Transport | UDP | ||||
Internet | IP (IPv4, IPv6) | ||||
Netzzugang | Ethernet | Token Bus |
Token Ring |
FDDI | … |
Das Simple Service Discovery Protocol (SSDP) ist ein Netzwerkprotokoll, welches zur Suche nach Universal-Plug-and-Play-Geräten in einem Netzwerk dient. Die Firma Microsoft hat SSDP mit dem Betriebssystem Microsoft Windows ME eingeführt.
Definition
SSDP wurde in einem IETF-Internet-Draft beschrieben.[1] Von IANA ist für SSDP der Port 1900 zugewiesen.[2] Als Transportprotokoll wird normalerweise UDP verwendet.
Funktionsweise
Auf der UPnP-Seite ist zu lesen:
„Sobald ein UPnP-Gerät über eine IP-Adresse verfügt, muss es seine Existenz im Netzwerk an die Kontrollpunkte melden. Dies erfolgt via UDP über die Multicast-Adresse 239.255.255.250:1900 auf der Basis des SSDP-Protokolls. Ebenso können Kontrollpunkte nach UPnP-Geräten im Netzwerk suchen. In beiden Fällen enthält die ‚discovery message‘ nur die wichtigsten Angaben über das Gerät und seine Dienste, wie zum Beispiel den Gerätenamen, Gerätetyp und eine URL zur genauen Beschreibung des Gerätes.“
Paketaufbau
Ein SSDP-Paket ist ein HTTP-Request mit der Methode "NOTIFY" (oder auch "M-SEARCH"), welches über UDP verschickt wird. Der HTTP-Body ist leer, der HTTP-Header muss trotzdem mit einer Leerzeile abgeschlossen sein. Im HTTP-Header werden UPnP-spezifische Attribute gesetzt:
- LOCATION enthält eine URL zur Beschreibung (Description).
- NT (Notification Type) bestimmt die Eigenschaft des Geräts.
- NTS (Notification Sub Type) hat den Wert "ssdp:alive" zum Anmelden oder "ssdp:byebye" zum Abmelden eines Geräts.
- USN (Unique Service Name) enthält eine eindeutige ID des Geräts.
Beispiel:
NOTIFY * HTTP/1.1 HOST: 239.255.255.250:1900 CACHE-CONTROL: max-age=1800 LOCATION: http://192.168.0.10:8080/description.xml NT: urn:schemas-upnp-org:service:ConnectionManager:1 NTS: ssdp:alive SERVER: Linux/2.6.15.2 UPnP/1.0 Mediaserver/1.0 USN: uuid:550e8400-e29b-11d4-a716-446655440000::urn:schemas-upnp-org:service:ConnectionManager:1
Multicast-Adressen
Die für das SSDP-Protokoll zur Verfügung stehenden Multicast-Adressen[3] sind:
IP-Version | Adresse | Bereich |
---|---|---|
IPv4 | 239.255.255.250 | site-local |
IPv6 | ff02::c | link-local |
IPv6 | ff05::c | site-local |
Siehe auch
Weblinks
- UPnP Device Architecture 2.0 (PDF; 1,86 MB)
- SSDP: Networked Home Entertainment Devices (NHED) Extensions
Einzelnachweise
- ↑ https://datatracker.ietf.org/doc/html/draft-cai-ssdp-v1-03
- ↑ https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=1900
- ↑ Devices and control points SHALL NOT send Global scoped, Organization-Local scoped, or Admin-Local scoped multicast messages. UPnP Device Architecture 2.0