A. UPnP is a peer-to-peer network architecture for connecting intelligent appliances, wireless devices, and PCs that are in close proximity. The architecture is based on TCP/IP and Web technologies that provide easy-to-use, flexible, standards-based connectivity to ad-hoc or unmanaged home, small-business, public-space, and Internet-based networks.
UPnP does more than just extend the Plug and Play (PnP) peripheral model. According to Microsoft's Web site, UPnP supports zero-configuration, "invisible" networking, and automatic discovery for a breadth of device categories from a wide range of vendors. Through this design, a UPnP device can dynamically join a network, obtain an IP address, convey device capabilities, and learn about the presence and capabilities of other UPnP devices.
UPnP leverages Internet components, including IP, TCP, UDP, HTTP, and XML. For example, UPnP establishes contracts based on wire protocols that are declarative, expressed in XML, and communicated via HTTP. UPnP is well suited for IP internetworking because it was explicitly designed to span different physical media, enable real-world multiple-vendor interoperation, and achieve synergy between the Internet and many home and office intranets. Further, UPnP can use a technique known as bridging to accommodate media that runs non-IP protocols.
Because UPnP uses common protocols, instead of device drivers, UPnP networks can run on any media, including phone lines, power lines, Ethernet, radio frequency (RF), and FireWire. You can use any programming language on any OS to address UPnP devices. Windows XP and later OSs use two new services--the Simple Service Discovery Protocol (SSDP) discovery service and the UPnP device hosting service--to natively support UPnP.