UPnP (Universal Plug and Play)
Universal Plug and Play (UPnP) ist die Ausdehnung der "Plug and Play" Idee, die
in Windows umfangreich umgesetzt ist, auf ein Netzwerk zwischen PCs in den
unterschiedlichsten Ausprägungen und intelligenten und mobilen Geräten. UPnP besitzt eine
verteilte und offene Netzwerk-Architektur, die Internetstandards wie z.B. TCP/IP
verwendet. UPnP ermöglicht zusätzlich zur Steuerung und zum
Datentransfer zwischen vernetzten Geräten zu Hause, im Büro und in vielen
anderen Bereichen, eine durchgängige Netzwerkumgebung.
UPnP Protokoll Stack

Was ist universal an UPnP?
- Keine Geräte-Treiber nötig - gemeinsame einheitliche
Protokolle.emeinsame einheitliche
Protokolle.
- Vom Transportmedium und von tieferen Netzwerkschichten unabhängig
(Transportschicht und darunter).
- Die Implementierung der UPnP Geräte kann in jeder beliebigen Progammiersprache
und für jedes beliebige Betriebssystem erfolgen.
- UPnP unterstützt HTTP und die gesamte Familie der Browser-Technologien.
- UPnP ermöglicht dem Hersteller die Steuerung seiner Geräte mit dem
Internet-Browser.
- UPnP ermöglicht auch eine Steuerung mit herkömmlichen Applikationsprogrammen.
- Die Hersteller berücksichtigen Grundfestlegungen eines Gerätetyps (Geräteschema)
und können diese einseitig je nach Bedarf erweitern.
Nach fast 10 Jahren seit der ersten Veröffentlichung der UPnP Technologie konnte
eine Menge erreicht werden, wie die folgende Zusammenfassung zeigt:
- UPnP Forum zählt 848 Mitglieder und verabschie(Stand: Februar 2008) .
- Die UPnP Implementers Corporation hat bereits mehr als 290 Geräte zertifiziert.
Die meisten Geräte sind Media Server für Audio- und Videodaten. (Stand: September 2007).
- Im September 2007 wurde von der ISO eine wesentliche Freigabe erteilt, die den
Prozess der ISO/IEC Standardisierung von UPnP in die letzte Phase bringt. Der
UPnP Architektur und den Gerätebeschreibungen wurde die Dokumentennummer 29341
zugeteilt.
- Der UPnP Standard wird inzwischen von vielen anderen Organisationen referenziert
wie z.B. der DLNA (Digital Living Network Alliance).z.B. der DLNA (Digital Living Network Alliance).
UPnP Architektur
Das Ziel der UPnP Architektur ist die Beschreibung der
Kommunikationsprotokolle zwischen einem Control Point (Anwendung, die steuert,
UPnP Client) und einem Gerät (stellt Dienste zur Verfügung, UPnP Server). Ein
Gerät kann aber auch beides gleichzeitig verkörpern.
Die Schritte zu einem UPnP Netzwerk sind in der folgenden Grafik
dargestellt:

Es beginnt mit der Zuteilung einer Adresse sobald ein Gerät oder ein Control
Point an ein physikalisches Netzwerk (LAN) angeschlossen wird. UPnP schreibt die
Verwendung eines DHCP (Dynamic Host Configuration Protocol) Servers oder Auto-IP
vor. Auto-IP benutzt reservierte Adressen im 169.254/16 Bereich. Die lästige und
manuelle Zuteilung einer IP-Adresse entfällt damit.

Der nächste Schritt heißt Discovery, bei dem sich Control Points und Geräte
gegenseitig finden. Die Geräte werben in regelmäßigen Abständen durch Aussenden
von SSDP-Nachrichten (Simple Service Discovery Protocol) für ihre Dienste. Diese
zeitbegrenzten Werbenachrichten kann jeder Control Point empfangen und bei
Interesse mit dem Gerät Kontakt aufnehmen. Umgekehrt kann ein Control Point
gezielt nach einem speziellen Gerät oder Dienst im Netzwerk suchen, und bei
Erfolg einen Kontakt herstellen. SSDP unterstützt auch ein explizites Abmelden
eines Gerätes.

Sobald der Kontakt zwischen Gerät und Control Point hergestellt ist, lernen sich
die beiden mit Hilfe der Gerätebeschreibung näher kennen. Die UPnP Beschreibung
eines Gerätes teilt sich in zwei logische Bereiche auf:
- Einer “Device Description”, und
- einer oder mehreren “Service Descriptions”.

In der Grafik ist die Gerätebeschreibung mit ihren Elementen vereinfacht
dargestellt. Die Beschreibung wird im XML-Format vom Gerät gespeichert. XML ist
ein weltweit anerkannter W3C-Standard zur universellen und strukturierten
Formatierung von Daten.
Die Wurzel der Gerätebeschreibung bildet die “Root Device”-Beschreibung. Sie
enthält neben anderen Informationen immer mindestens einen Verweis auf eine
“Service”-Beschreibung. Sie enthält Informationen über bereitgestellte Aktionen
und Variablen. Diese Informationen ermöglichen es einem Control Point ein Gerät
zu steuern, Statusinformationen abzufragen und im Gerät eine Benachrichtigung zu
aktivieren, falls eine Variable seinen Wert ändert.
In der “Root Device”-Beschreibung können weitere logische Subgeräte
verschachtelt sein. Diese Subgeräte enthalten wiederum Dienste (”Services”).
Die Gerätebeschreibungen für bestimmte Gerätearten werden vom UPnP Forum
festgelegt. Hersteller können diese vorgegebenen Gerätebeschreibungen (Device
Templates) nach eigenen Vorstellungen erweitern.

Zur Steuerung eines Gerätes benutzt UPnP das SOAP-Protokoll (Simple Object
Access Protocol). Diese Protokoll benutzt HTTP und in XML formatierte
Nachrichten, um beim Gerät Aktionen auszulösen und die Werte von Variablen
abzufragen. SOAP spielt eine zentrale Rolle für die Kommunikation von
Webdiensten der Microsoft .NET Technologie.

UPnP sieht einen Mechanismus vor, der einem Gerät erlaubt an einen Control Point
Nachrichten über die Änderungen von Variablen zu senden. Bevor dies geschehen
kann, muss ein Control Point diese Nachrichten beim Gerät abonnieren. Dieses
Abonnement ist zeitbegrenzt und muss vor Ablauf vom Control Point erneuert
werden. Zusätzlich kann dieses Abonnement vom Control Point jederzeit gekündigt
werden. UPnP verwendet das GENA-Protokoll (General Event Notification
Architecture) für diesen Mechanismus.

Unter “Presentation” verbirgt sich nichts anderes als eine Webseite des Gerätes.
Diese Seite kann mit jedem Web-Browser dargestellt werden. Das UPnP Forum
schreibt keine speziellen Eigenschaften für diese Seite vor. Es ist dem
Gerätehersteller überlassen, eine ansprechende, eventuell mehrsprachige,
Webseite für das Gerät zu hinterlegen.
Details zur UPnP Architektur können auf der Webseite des UPnP Forums abgerufen
werden: http://www.upnp.org.
Als erstes Betriebssystem verfügte Microsoft Windows Me über eine integrierte
Unterstützung für Universal Plug and Play. Sobald ein UPnP-Gerät an das Netzwerk
angeschlossen wird, erscheint ein Icon in der Statusleiste. In der
Netzwerkumgebung werden alle verfügbaren UPnP-Geräten aufgelistet. Über einen
Doppelklick kann die Präsentationsseite des Gerätes in den Web-Browser geladen
werden.
Das Universal Plug and Play Forum
Das Universal Plug and Play Forum setzt sich
aus einer Gruppe von Firmen und Einzelpersonen aus den verschiedensten
Industriebereichen zusammen, die bei der Erstellung der Spezifikationen für die
Universal Plug and Play Geräte und Dienste mitwirken wollen.
Gegründet im Juni 1999, ist das Forum eine Verbindung von inzwischen über 800 Firmen,
Hersteller von Konsumelektronik, Computer, Einrichtungen zur Heimautomatisierung
und Sicherung, Hausgeräten, Computernetzwerken, und weitere führende Firmen, die
völlig offen zusammenarbeiten, um Standards für die UPnP-Protokolle und
Geräteschemen zu erstellen.
Die UPnP Implementers Corporation
Die UPnP Implementers
Corporation (UIC) wurde im Februar 2001 ins Leben gerufen, um folgende
Aufgaben zu erfüllen:
- Entwicklung und Verwaltung des UPnP Test- und Zertifizieurngsprozess
- Verwaltung der UPnP Logo Lizenzierung
- Bereitstellung von Informationen zur UPnP-Geräte-Zertifizierung
- Vermarktung der UPnP Technologien
|