XBox 360, PS4, Wii and Azureus usesUPnP |
UPnP allows networked devices to search other devices on the network and establish connections among them.
UPnP supports Zero-Configuration networking. For instance when a UPnP compatible device connects to a network, it assigns an IP address, announces it and provide information about its capabilities upon requests and learn the availability and capabilities of other connected devices.
UPnP uses a concept called Control Points (CP), which are the devices use UPnP protocols to control other connected devices. Each device multicast requests to discover others using HTTP and UDP. UDP is used to avoid acknowledgements from receivers and retransmission in interrupts.
When a device first connects to a network it should search for a DHCP Server (Dynamic Host Control Protocol) and request for an IP address. If there aren't any DHCP servers, device must assign itself an IP address. This is known as AutoIP.
After establishing an IP addresses devices can inform the services they are offering and register them in control points on the network. The protocol used in UPnP to do this is called Simple Service Discovery Protocol (SSDP).
Even though devices are resisted with CPs it is required to get to know how devices are providing their services. Therefore CPs has to request device description, which contains device details, vendor specific details, and services and actions offered by the device. Device descriptions are in form of XML data. Having received device descriptions, CPs can invoke devices actions by sending a control message to the control URL.
A main drawback in UPnP is that it doesn't have a device authentication mechanism. Therefore UPnP systems assumes all connected devices are trustworthy.
References:
- George F. Coulouris (2012) Distributed systems: concepts and design, 5th edn., Boston: Addison-Wesley.
- UPnP Forum (2014) UPnP AV The technology basis of DLNA, United States of America: UPnP Forum.