UPnPUniversal Plug and Play (UPnP) är en samling kommunikationsprotokoll som är sammanställda av UPnP Forum. UPnP tillåter olika typer av enheter från olika tillverkare att ansluta till nätverk och underlättar implementationen av nätverk i hemmet eller på företag. En enhet kan helt automatiskt ansluta till ett nätverk, erhålla en IP-adress, meddela sina egenskaper och bli upplyst om andra enheters närvaro och egenskaper. ÖversiktUPnP arkitekturen tillåter P2P-nätverk för datorer, nätverksenheter och trådlösa enheter. Det är en distribuerad öppen arkitektur baserad på TCP/IP, UDP och HTTP. UPnP möjliggör kommunikation mellan alla enheter i ett nätverk (LAN). Några av egenskaperna är:
Grunden för UPnP-nätverk är IP-adressering. Varje enhet måste ha en Dynamic Host Configuration Protocol (DHCP)-klient och söka efter en DHCP-server när den ansluter till ett nätverk. Om det inte finns någon DHCP-server tillgänglig så måste enheten tilldela en adress till sig själv. Grunden i ett UPnP-nätverkEnheterEn UPnP-enhet är ansluten till ett nätverk och erbjuder enhetsspecifika tjänster (funktioner), enheten kan även ha flera inbyggda enheter. En tv med inbyggd digital-tv-dekoder och stöd för UPnP kan bestå av en text-tv-tjänst och klock-tjänst, men har även en nästlad enhet i form av en dekoder. Olika typer av UPnP-enheter associeras med olika typer av tjänster och inbyggda enheter, tjänster i en dvd-spelare skiljer sig exempelvis från tjänster i en klimatanläggning. Varje enhet tillhandahåller en enhetsbeskrivning som beskriver enheten och dess tjänster i form av ett XML-dokument. TjänsterFör att kontrollera tillståndet för enheter i ett UPnP-nätverk används tjänster. En tjänst erbjuder funktioner för att ändra tillståndet för en enhet, tillståndet modelleras med tillståndsvariabler. En klimat-tjänst kan ha en tillståndsvariabel, indoor_temp, som definierar klimatanläggningens tillstånd och en funktion, set_temp, som tillåter användare att kontrollera tjänsten. Enhetsbeskrivningen har en pekare i form av en URL till en tjänstebeskrivning där information om tjänsterna beskrivs i ett XML-dokument. En tjänst består av en tillståndstabell, kontrollserver och en händelseserver. Tjänstens tillstånd modelleras genom tillståndsvariabler som uppdateras när tillståndet förändras. Funktionsförfrågningar (exempelvis set_temp) skickas till kontrollservern som exekverar dem, uppdaterar tillståndstabellen och returnerar ett svar. Händelseservern skickar händelsemeddelanden till intresserade enheter varje gång tillståndet för tjänsten förändras, till exempel, en skrivartjänst skickar meddelande om att bläcket är slut i skrivaren. KontrollpunkterEn kontrollpunkt i ett UPnP-nätverk är en enhet som kan upptäcka och kontrollera andra enheter. När en enhet har upptäckts så kan kontrollpunkten:
TeknologierEftersom UPnP till stor del utnyttjar vanliga standardprotokoll som används överallt på Internet och i andra nätverk, så kan UPnP implementeras på redan befintliga strukturer. TCP/IPTCP/IP-protokollen lägger grunden för alla andra protokoll som används av UPnP HTTP, HTTPU, HTTPMUHTTPU (unicast) och HTTPMU (multicast) är varianter av HTTP för att skicka meddelanden över UDP/IP. Protokollen används av SSDP. SSDPBåde enheter och kontrollpunkter använder Simple Service Discovery Protocol (SSDP). Kontrollpunkter kan skicka SSDP-förfrågningar över HTTPMU för att upptäcka enheter och tjänster som finns i nätverket. Enheter skickar SSDP-svar över HTTPU till kontrollpunkter. GENAGeneric Event Notification Architecture (GENA) används för att skapa närvaro-meddelanden som skickas över SSDP och för signalering av förändringar i tillstånd. SOAPSimple Object Access Protocol (SOAP) används för att skicka kontrollmeddelanden till enheter och returnera resultat och felmeddelanden. XMLExtensible Markup Language (XML) är en viktig del av UPnP och används för enhets- och tjänstebeskrivningar, kontrollmeddelanden och händelsemeddelanden. ReferenserExterna länkar |