Simple Service Discovery Protocol
aus Wikipedia, der freien Enzyklopädie
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 UPnP-Geräten im Netzwerk dient. SSDP nutzt normalerweise den Port 1900 UDP) [1].
Die Firma Microsoft hat es zusammen mit ihrem Betriebssystem Microsoft Windows ME eingeführt.
Auf der UPnP-Seite steht 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 z.B. den Gerätenamen, Gerätetyp und eine URL zur genauen Beschreibung des Gerätes.
[Bearbeiten] 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 aber mit einem Zeilenumbruch abgeschlossen sein. Im HTTP-Header werden UPnP spezifische Attribute gesetzt:
- NTS (Notification Sub Type) hat den Wert "ssdp:alive" zum anmelden oder "ssdp:byebye" zum abmelden eines Geräts.
- NT (Notification Type) bestimmt die Eigenschaft des Geräts.
- USN (Unique Service Name) enthält eine eindeutige ID des Geräts.
- LOCATION enthält eine URL zur Beschreibung (Description)
Beispiel:
NOTIFY * HTTP/1.1
SERVER: Linux/2.6.15.2 UPnP/1.0 Mediaserver/1.0
CACHE-CONTROL: max-age=1800
LOCATION: http://192.168.0.10:8080/description.xml
NTS: ssdp:alive
NT: urn:schemas-upnp-org:service:ConnectionManager:1
USN: uuid:550e8400-e29b-11d4-a716-446655440000::urn:schemas-upnp-org:service:ConnectionManager:1
HOST: 239.255.255.250:1900