What is UPnP? If you are interested in it and want to find some information about it, then you are in the right place. In this post, MiniTool has introduced UPnP’s definition, protocol as well as its pros and cons.
What Is UPnP?
First of all, what is UPnP? It is the abbreviation of Universal Plug and Play, which is a networking protocol or a set of networking protocols. It allows networked devices (such as personal computers, printers, Internet gateways, Wi-Fi access points, and mobile devices) to discover each other and establish effective network services for data sharing, communication, and entertainment. UPnP is mainly used in residential networks without enterprise-class equipment.
Conceptually, UPnP extends plug and play (a technology used to dynamically connect devices directly to computers) to zero-configuration networking for residential and SOHO wireless networks. UPnP devices are “plug and play” because they automatically establish working configurations with other devices when connected to the network.
UPnP assumes that the network runs Internet Protocol (IP), and then uses HTTP on top of IP to offer device/service description, actions, data transfer, and eventing. By using multicast (called HTTPMU) to run HTTP over UDP (port 1900), device search requests and advertisements can be supported. The response to the search request is also sent via UDP, but using unicast (called HTTPU).
UPnP uses UDP because of its lower overhead. UDP does not need to confirm the received data and retransmit damaged packets. HTTPU and HTTPMU were originally submitted as Internet Drafts, but expired in 2001; these specifications have been integrated into the actual UPnP specifications.
UPnP uses UDP port 1900, and all used TCP ports come from SSDP activity and response messages.
- UPnP uses IP addressing. Therefore, at startup, it acts as a Dynamic Host Configuration Protocol (DHCP) client to assign an IP to itself and searches for a DHCP server.
- If no DHCP server is found, the device uses a process called AutoIP to assign an IP to itself, which assigns a unique IP to its local network.
- If during the DHCP transaction, the device obtains the domain name through the Domain Name Server (DNS), it uses that domain name, otherwise, it uses the IP.
SSDP (Simple Service Discovery Protocol) is a protocol used by UPnP devices to discover each other.
- After the device is added to the network, it can send SSDP alive messages to enable the device to advertise its services to other devices on the network.
- SSDP also allows devices to passively listen to SSDP alive messages from other devices on the network.
- When two devices discover each other, they exchange discovery messages, which contain basic information such as the device type and its services.
When devices discover each other, to make the devices know more about each other, they exchange information in XML format. These messages include information such as the manufacturer’s name, model name, manufacturer’s website, services provided by the device, and so on.
After obtaining information about the device and its services, the control point can call the service to the URL provided by the manufacturer, which is very similar to the programming function call. This is done through a protocol called Simple Object Access Protocol (SOAP), which delivers XML messages.
GENA (General Event Notification Architecture) is an architecture for event notification in UPnP. The service uses it to respond to service calls. The control point can subscribe to devise event notifications. Each device has a set of Model variables. When they change, the control point will be notified. These messages are also sent in XML format.
The device may contain the manufacturer’s website URL for presentation, which can be used by the control point to retrieve information and can also be used by the user to customize the device settings on the web browser.
Pros and Cons
What is UPnP’s advantage? And what is UPnP’s disadvantage? This part has listed them below.
- It can be used for NAT traversal or firewall punching.
- It has a true plug and play compatibility.
- It is supported by various large vendors and companies such as Microsoft and Intel, which makes it an industry standard.
- It is an ideal architecture for home devices and networks.
- The control point does not require any authentication, so any program on the computer can request to forward the UPnP port.
- There is no formal implementation of UPnP, so each router has its implementation, and many implementations have errors or provide open channels for malware.
- Any malicious program on the network can use UPnP, just as a legitimate program uses it.
What is UPnP? As you can know, it is short for Universal Plug and Play. After reading this post, you should know its definition, protocol as well as its pros and cons.