Universal Plug and Play
Author
Albert FloresUniversal Plug and Play (UPnP) je sada síťových protokolů vyhlašovaných UPnP Forem. Cílem UPnP je umožnit jednoduché připojení periferních součástí počítače a zjednodušit zavádění sítí v domácnostech (sdílení dat, komunikace a zábava) i podnicích. UPnP toho dosahuje definováním a publikováním řídicích protokolů UPnP zařízení postavených na otevřených, na Internetu založených komunikačních standardech.
Termín UPnP je odvozen od plug-and-play, což je technologie pro automatickou konfiguraci hardwarových zařízení připojených k počítači.
Přehled
UPnP architektura umožňuje peer-to-peer spojení počítačů, síťových zařízení a zařízení pro bezdrátovou komunikaci. Jedná se o distribuovanou otevřenou technologii založenou na standardech jako jsou TCP/IP, UDP, HTTP a XML.
UPnP architektura podporuje automatickou konfiguraci sítě. Zařízení kompatibilní s UPnP od libovolného výrobce se může dynamicky připojit k síti, obdržet IP adresu, na vyžádání oznámit své schopnosti a dozvědět se schopnosti ostatních zařízení v síti. +more DHCP a DNS servery jsou volitelné a jsou použity jen když jsou dostupné v síti. Zařízení mohou opustit síť automaticky bez zanechání nežádoucích stavových informací.
Další vlastnosti UPnP: Nezávislosti sdělovacích prostředků a zařízení: UPnP technologie dokáže fungovat na mnoha mediích, která podporují IP (např. Ethernet, FireWire, IrDA, komunikace přes elektrické vedení, Bluetooth, Wi-Fi). +more Není potřeba žádný speciální ovladač zařízení, jsou používány společné protokoly. Ovládání uživatelským rozhraním: UPnP architektura umožňuje ovládání zařízení přes uživatelské rozhraní a interaktivní použití přes webový prohlížeč Nezávislost na operačním systému a programovacím jazyku: K vytvoření UPnP produktu může být použit každý operační systém a každý programovací jazyk. UPnP nespecifikuje ani nepřikazuje vzhled API aplikací běžících v ovládacích místech, výrobci OS mohou vytvořit API které jejich zákazníci potřebují. Programové ovládání: UPnP také umožňuje konvenční programové řízení aplikace. Rozšiřitelnost: Každý UPnP produkt může mít služby specifické pro zařízení nad rámec základní architektury.
Protokol
Adresování
Základem UPnP sítí je IP adresování. Každé zařízení musí mít DHCP klienta a hledat DHCP server když se poprvé připojí do sítě. +more Pokud není DHCP server dostupný, tak si musí jednotka zařízení přiřadit adresu sama. Pokud během DHCP transakce obdrží jednotka jméno (např. přes DNS), může toto jméno používat v komunikaci v podsíti.
Zjišťování (Discovery)
První krok po obdržení IP adresy je zjišťování ostatních zařízení na síti. Po připojení zařízení do sítě mu UPnP Discovery protokol umožní ohlásit své služby kontrolním bodům na síti. +more Podobně, pokud je přidán kontrolní bod, Discovery protokol mu umožní hledat na síti požadovaná zařízení. Základní prvek je v obou případech zpráva Discovery, obsahující několik základních specifik o daném zařízení či jeho službách, například jeho typ, identifikátor a ukazatel na detailnější informace. UPnP Discovery protokol je založen na SSDP (Simple Service Discovery Protocol) navrženém firmami Microsoft a Hewlett-Packard.
Popis (Description)
Dalším krokem UPnP je Popis. Poté, co kontrolní bod v předchozím kroku objeví zařízení, stále o něm nemá dostatek informací (o zařízení a jeho službách). +more Musí tedy získat popis zařízení z URL poskytnutého v Discovery zprávě. Popis zařízení je v UPnP poskytován ve formě XML a zahrnuje výrobní údaje jako například jméno a označení zařízení, sériové číslo, název výrobce a URL na jeho webové stránky, apod. Popis také zahrnuje seznam integrovaných zařízení a služeb, URL pro jejich ovládání. Ke každé službě je také poskytnut seznam příkazů či akcí na které služba reaguje, jejich parametry a proměnné, které určují stav služby.
Ovládání (Control)
Po obdržení popisu zařízení může kontrolní bod komunikovat se službami daného zařízení. Komunikace probíhá přes kontrolní zprávy, posílané na URL služby (poskytnuté v popisu). +more Zprávy jsou ve formě XML a používají SOAP (Simple Object Access Protocol). Po obdržení kontrolní zprávy služba vrací specifické hodnoty, případné účinky akce jsou vyjádřeny změnami stavových proměnných.
Upozornění o události (Event notification)
Popis služby zahrnuje seznam akcí na které služba reaguje a seznam proměnných které charakterizují stav služby. Služba zveřejňuje aktualizace pokud dojde ke změně některé z těchto proměnných a kontrolní bod může odebírat tyto aktualizované informace. +more Aktualizace probíhá posláním zprávy o události. Zpráva o události obsahuje název jedné nebo více stavových proměnných a jejich aktualizované hodnoty. Tyto zprávy jsou vyjádřeny v XML a jsou formátovány pomocí GENA (General Event Notification Architecture). Při prvním přihlášení kontrolního bodu je odeslána speciální inicializační zpráva, obsahující jména a hodnoty všech proměnných, sloužící k inicializaci stavu služby na straně kontrolního bodu. Pro podporu více kontrolních bodů je zasíláni zpráv navrženo tak, aby měl každý kontrolní bod stejný přehled o všech změnách. Každý z odběratelů zpráv dostává všechny zprávy o událostech a jsou mu zaslány zprávy o všech proměnných které se změnily.
Prezentace (Presentation)
Finálním krokem v UPnP je prezentace. Pokud má zařízení URL k prezentaci, může kontrolní bod získat stránku z této URL, zobrazit ji v prohlížeči a případně umožnit uživateli ovládat zařízeni, či zjistit jeho stav. +more Stupeň této prezentace závisí na možnostech daného zařízení a jeho prezentační stránky.
UPnP AV standard
UPnP AV je zkratka pro UPnP Audio a Video a je zahrnuta do skupiny UPnP standardů spravovaných DLNA (Digital Living Network Alliance), fórem výrobců a prodejců, kteří pracují v domácím zábavním průmyslu a nabízejí značku "DLNA CERTIFIED (Certifikováno DLNA) pro výrobky které dodržují doporučení pro interakci síťových zařízení vydané DLNA.
Členové DLNA fóra „sdílejí vizi spolupracující domácí sítě osobních počítačů, spotřební elektroniky a mobilních zařízení, vytvářející prostředí pro bezproblémové sdílení digitálních médií a služeb“. Zaměření DLNA spočívá ve vytvoření základu v podobě návodů a direktiv pro vývoj, založených na otevřených standardech. +more Dne 12. července 2006 oznámilo UPnP Fórum vydání zdokonalených AV specifikací, které představovala 2. verze UPnP AV specifikací. Tato verze představila nové třídy MediaServer a MediaRender ve verzi 2. 0, jejichž zdokonalení umožňovalo širší možnosti interakce mezi MediaServery a MediaRenderery od rozdílných výrobců.
UPnP AV komponenty
UPnP MediaServer DCP - UPnP server (zařízení typu master), který sdílí/přehrává data (audio/video/obrázky/soubory) UPnP klientům na síti. * UPnP MediaServer ControlPoint - UPnP klient (zařízení typu slave), který umí automaticky detekovat UPnP servery na síti a přehrát/stáhnout mediální/datové soubory umístěné na nalezených serverech. +more * UPnP MediaRenderer DCP - zařízení typu slave, sloužící k prezentaci obsahu UPnP serverů. * UPnP RenderingControl DCP - ovládá nastavení MediaRendereru (hlasitost, nastavení obrazu a další). * UPnP Remote User Interface (RUI) klient/server - posílá/přijímá příkazy mezi UPnP klientem a UPnP serverem (např. přehrát, zastavit, nahrávat a jiné).
NAT traversal
Jedno z řešení pro NAT traversal, nazvané IGD (Internet Gateway Device) Protokol, je implementováno přes UPnP. Mnoho routerů a firewallů se používá jako Internetové brány, umožňující jakémukoliv lokálnímu UPnP zařízení provádět množství akcí, zahrnující získání externí IP adresy zařízení, zjištění existujícího namapování portů a namapovat či odebrat port. +more Namapováním portu může UPnP zařízení za Internetovou bránou vytvořit tunel v bráně a umožnit externí adrese spojení s interním klientem.
Problémy s UPnP
Nedostatečná autentizace
UPnP protokol neimplementuje žádnou [url= dotazů. Router s implementací UPnP IGD protokolu pak může být pomocí těchto dotazů kontrolován škodlivými stránkami, stačí, aby uživatel s routerem, na kterém je povoleno UPnP, tyto stránky pouze navštívil. +more Kód vložený do Flashového objektu na stránce pak může bez vědomí uživatele provést následující akce:.
* [[Přesměrování portu|přesměrování][autentizace|autentizaci]], takže UPnP zařízení musí implementovat jejich vlastní autentizační mechanismy, nebo implementovat Device Security Service. Hodně UPnP zařízení však postrádá autentizační mechanismy a standardně předpokládá, že lokální systémy a jejich uživatelé jsou plně důvěryhodní. +more Routery a firewally na kterých běží UPnP IGD protokol, jsou napadnutelné, protože kostra IGD implementace opomíjí standardní autentizační metodu. Například programy vytvořené v Adobe Flash jsou schopné generování specifických[/url]] interních služeb (portů) na internetovou stranu routeru (např. vystavení počítače za Firewallem akcím z Internetu, například útokům) * přesměrování webového administračního rozhraní zařízení (např. routeru) na internetovou stranu routeru * přesměrování na jakýkoliv server na Internetu, umožňující útočníkovi napadnout daný server bez odhalení útočníkovy IP adresy * změnit nastavení DNS, umožňující oklamání oběti (např. místo stránky internetové banky je oběti zobrazena podvodná stránka) * změnit přihlašovací údaje k routeru/firewallu * změnit nastavení PPP * změnit IP adresu pro webové rozhraní zařízení * změnit nastavení Wi-Fi.
Tyto problémy se vztahují pouze k UPnP vlastnosti Firewall-hole-punching. Nevztahují se k routerům nepodporujícím UPnP, či k routerům s vypnutou podporou UPnP. +more Také ne všechny routery mají věci jako nastavení DNS řešeno přes UPnP, protože implementace mnoha vlastností specifikace pro routery s podporou UPnP je volitelná.
Ostatní problémy
UPnP používá nestandardní HTTPU (HTTP využívající [url=MU, popsané pouze v návrhu I-D ([[RFC|Internet-Draft][UDP]] místo TCP) a[/url]]), který vypršel v roce 2001 * navzdory komplexním bezpečnostním protokolům UPnP postrádá autentizační protokol, proto má mnoho UPnP zařízení implicitně UPnP vypnuto jako formu bezpečnostního opatření
Vývoj do budoucna
Kandidátem na nástupce UPnP je DPWS (Devices Profile for Web Services), který řeší mnoho problémů UPnP. Klient DPWS je například součástí Windows Vista. +more Další alternativou je návrh NAT-PMP předložený firmou Apple v roce 2005.
UPnP 1.1 bylo na podzim roku 2008 ratifikováno UPnP fórem jako nástupce UPnP 1.0.
Reference
Externí odkazy
http://upnp.org/standardizeddcps/default.asp - UPnP™ Forum: Universal Plug and Play Device Standards