Techniek
De UPnP-standaard is ontwikkeld op basis van diverse bestaande webtechnologieën, zoals TCP/IP, UDP, HTML en XML. Binnen de standaard onderscheidt men devices (apparaten met een bepaalde functie) en controlpoints, hard- of software die op een bepaalde manier gebruik kan maken van die apparaten. Het meest voor de hand liggende voorbeeld van zo'n controlpoint is Windows, dat in het netwerkscherm een overzicht kan geven van gevonden UPnP-apparaten. Een apparaat kan overigens zowel als device als controlpoint fungeren.
Hoewel de UPnP zijn basis kent in de IP-technologie, zijn er weinig vereisten om een netwerkapparaat geschikt te maken. Zo werkt UPnP onafhankelijk van het type netwerk (ethernet, wireless, powerline, et cetera), zijn er geen beperkingen qua besturingssysteem of programmeertaal en kunnen fabrikanten zelf aanvullende, niet in de standaard opgenomen, eigenschappen aan UPnP-apparaten meegeven.
De UPnP-standaard biedt in de basis alle functionaliteit om apparaten automatisch geconfigureerd op te nemen in een netwerk en daarna zoals gezegd op een gestandaardiseerde manier informatie uit te laten wisselen met andere apparaten binnen het netwerk. Bovenop deze basis zijn er diverse aanvullende standaarden geformuleerd die aangeven hoe apparaten van een bepaald type met elkaar kunnen samenwerken. UPNP AV is de bekendste en omschrijft hoe op het netwerk aangesloten mediaspelers muziek, films en foto's kunnen streamen vanaf andere apparaten. Naast UPNP AV zijn er nog veel substandaarden, bijvoorbeeld voor printers, IP-camera's, scanners, lichtschakelaars en andere apparaten. Op z'n zachtst gezegd mogen we concluderen dat niet alle substandaarden even succesvol zijn gebleken.
Werking
Wanneer een nieuw apparaat wordt aangesloten binnen een netwerk is de eerste stap dat deze eerst een IP-verbinding moet krijgen. Een standaard als DHCP zorgt ervoor dat een nieuw apparaat automatisch een door de router uitgedeeld IP-adres krijgt. Mocht er in een thuisnetwerk geen DHCP-server aanwezig zijn - wat anno 2008 bijna ondenkbaar is - dan schrijft de UPnP-standaard voor dat een apparaat zelf een willekeurig IP-adres in de 169.254.x.x reeks moet kiezen. Met behulp van het ARP-protocol kan een apparaat daarna controleren of het gekozen adres al in gebruik is en of er zodoende een ander willekeurig adres bedacht moet worden. Zodra het apparaat op één van beide manieren automatisch voor IP-communicatie is geconfigureerd, volgt de eerste stap in het protocol waarbij UPnP apparaten met elkaar communiceren.
In de zogenaamde Discovery-fase stuurt een aangesloten apparaat een voor iedereen op te vangen bericht op het netwerk - multicast in jargon - met daarin wat basale informatie, zoals het apparaattype, de naam van het apparaat en een link naar een XML-pagina met meer informatie. Controlpoints kunnen op hun beurt juist een multicast-bericht sturen waarin ze een verzoek doen aan andere UPnP apparaten om zich kenbaar te maken. Zo zal een Windows machine op gezette tijden het netwerk ondervragen en alle UPnP geschikte apparaten in kaart brengen.
Na de discovery-fase weten verschillende apparaten binnen het netwerk nog maar weinig van elkaar. Daarvoor is de Description-fase: een controlpoint kan op de URL die hij ontving tijdens de discovery-fase meer informatie over het nieuwe apparaat aanvragen. Middels XML legt een UPnP-apparaat zijn hele kennen en kunnen op straat: er wordt exact uit de doeken gedaan wat de functionaliteit is van het apparaat, en via welke URL's het kan worden bediend.
De manier waarop netwerkapparaten met elkaar communiceren is verder ook via UPnP vastgelegd. Via XML kunnen controlpoints commando's doorsturen naar apparaten en kunnen apparaten juist weer statusinformatie doorgeven aan controlpoints. Deze stappen worden binnen de standaard Control en Event Notification genoemd.