SSDP: Simple Service Discovery Protocol: Ein Smart-TV sucht den Mediaserver

Hier zuerst ein Auszug aus Wiki:

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.

UPNP = Universal Plug & Play-Komponenten

SSDP ist ein Multicast-Suchdienst und wird dazu verwendet um Audio- und Videodateien per Streaming (Live-Übertragung) auf den Rechner zu bringen.

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.“

Dieser Dienst bringt etliche Probleme mit sich. Er kann hohe CPU-Auslastungen verursachen durch die svchost.exe, öffnet Sicherheitslücken unter Windows XP oder sendet unbekannte Daten nach außen. Es wird in Communities regelmäßig zu dessen Deaktivierung geraten.

In Zukunft sollen Geräte wie z.B. Alarmanlagen, Überwachungskameras, Projektoren, Multimediageräte etc. über dieses UPNP-Protokoll mit dem PC vernetzt und darüber gesteuert werden. Der Simple Service Discovery Drotokoll – Suchdienst ist bei Windows XP standardmäßig eingeschaltet und fahndet bereits zu heutigen Zeiten (unnötigerweise) nach Geräten dieses digitalen Heimvernetzungssystem.

Hier ein Beispiel, wie der Client seinen Server sucht:

Ashampoo_Snap_2013.02.07_22h20m49s_002_

Der Client sendet einen Multicast an 239.255.255.250

Ashampoo_Snap_2013.02.07_22h22m04s_003_

Der Server antwortet darauf mit der IP-Adresse, die den Serverdienst hostet.

Weitere Kommunikation erfolgt im HTTP und XML Style.

<?xml version=“1.0″ encoding=“utf-8″?>
<root xmlns:dlna=“urn:schemas-dlna-org:device-1-0″ xmlns=“urn:schemas-upnp-org:device-1-0″>
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
<friendlyName>PC1 : TVersity Media Server</friendlyName>
<manufacturer>TVersity</manufacturer>
<manufacturerURL>http://www.tversity.com</manufacturerURL>
<modelDescription>UPnP/AV 1.0 Compliant Media Server from TVersity</modelDescription>
<modelName>TVersity Media Server</modelName>
<modelNumber>1.9/2.3/0/</modelNumber>
<modelURL>http://www.tversity.com</modelURL>
<serialNumber/>
<UPC/>
<UDN>uuid:f32cda46-8f2a-f149-b6b6-e3165266b825</UDN>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/images/logo48.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>32</width>
<height>32</height>
<depth>24</depth>
<url>/images/logo32.png</url>
</icon>
</iconList>
<presentationURL>/</presentationURL>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
<SCPDURL>/UPnP_AV_ContentDirectory_1.0.xml</SCPDURL>
<controlURL>/upnp/control/content_directory</controlURL>
<eventSubURL>/upnp/event/content_directory</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/UPnP_AV_ConnectionManager_1.0.xml</SCPDURL>
<controlURL>/upnp/control/connection_manager</controlURL>
<eventSubURL>/upnp/event/connection_manager</eventSubURL>
</service>
</serviceList>
</device>
</root>