*
Quick Links|Home|Worldwide
Microsoft TechNet*
Search Microsoft.com for:
|TechCenters|Downloads|TechNet Program|Subscriptions|Security Bulletins|Archive
Search for

UPnP NAT Traversal FAQ

Updated: October 12, 2001

Do you have questions about Universal Plug and Play (UPnP) and Network Address Translation (NAT)? This article provides answers to some of the most commonly asked questions about a variety of UPnP, NAT, and UPnP NAT Traversal issues.


UPnP NAT Traversal FAQ

Q. What is UPnP?
A.

Universal Plug and Play (UPnP) is an architecture for pervasive peer-to-peer network connectivity of PCs and intelligent devices or appliances, particularly within the home. UPnP builds on Internet standards and technologies, such as TCP/IP, HTTP, and XML, to enable these devices to automatically connect with one another and work together to make networking—particularly home networking—possible for more people.

Q. What does UPnP mean to the consumer?
A.

Simplicity, choice and more innovative experiences. Networking products that include Universal Plug and Play technology will "just work" when physically connected to the network. UPnP can work with essentially any networking media technology, wired or wireless. This includes, for example: Category 5 Ethernet cable, Wi-Fi or 802.11B wireless networks, IEEE 1394 ("Firewire"), phoneline networking or powerline networking. As these devices and PCs are connected with one another, it becomes easier for users to take advantage of innovative new services and applications.

Q. What is the UPnP Forum?
A.

The Universal Plug and Play Forum is an open industry consortium that was formed in June 1999 to help define the UPnP standards to simplify the networking of intelligent devices in homes and, longer term, within enterprises. The forum is achieving this goal by defining and publishing UPnP device control protocols and service control protocols. As of early June 2001, more than 350 companies are members of the UPnP Forum. The UPnP Forum is directed by the 22-member UPnP Steering Committee. A Technical Committee, Marketing Committee and a variety of working committees, each focused on a specific device category, also are set up to carry out the organization's efforts. A list of forum members, along with information on joining, is available at the forum Web site.

Q. What are the technical elements of UPnP?
A.

UPnP is broad in scope in that it targets home networks, proximity networks, and networks in small businesses and commercial buildings. It enables data communication between any two devices under the command of any control device on the network. UPnP is independent of any particular operating system, programming language, or physical medium.

UPnP supports zero-configuration networking and automatic discovery, whereby a device can dynamically join a network, obtain an IP address, announce its name, convey its capabilities upon request, and learn about the presence and capabilities of other devices. DHCP and DNS servers are optional and will be used if available on the network. Furthermore, a device can leave a network smoothly and automatically without leaving any unwanted state behind.

UPnP learns from the Internet's success and heavily leverages its components, including IP, TCP, UDP, HTTP, and XML. UPnP involves a multi-vendor collaboration for establishing standard Device Control Protocols (DCPs). Similar to the Internet, these are contracts based on wire protocols that are declarative, expressed in XML, and communicated via HTTP.

Q. What is NAT? Why is it used?
A.

Network Address Translation is an Internet Engineering Task Force (IETF) standard used to allow multiple PCs or devices on a private network (using private address ranges such as 10.0.x.x, 192.168.x.x, 172.x.x.x) to share a single, globally routable IPv4 address. A main reason NAT is often deployed is because IPv4—the current generation of the Internet - addresses are getting scarce.

NAT is used in gateway devices that form the boundary between the public Internet and the private LAN. As IP packets from the private LAN traverse the gateway, NAT translates a private IP address and port number to a public IP address and port number, tracking those translations to keep individual sessions intact. Internet Connection Sharing in Microsoft® Windows® XP and Windows Me operating systems, along with many Internet gateway devices use NAT, particularly to connect to broadband networks such via DSL or cable modems. The use of NAT is increasing dramatically as more homes and small businesses network their PCs and share a connection to the Internet.

Q. What is the problem with NAT?
A.

Put simply: NAT can "break" many of the compelling new PC and home networking experiences, such as multi-player games, real time communications, and other peer-to-peer services, that people increasingly want to use in their homes or small businesses. These applications will break if they use private address on the public Internet or simultaneous use of the same port number. Application must use a public address and for each session a unique port number. Large organizations have professional IT staff on hand to ensure their corporate applications can work with NAT, but smaller organizations and consumers do not have this luxury. UPnP NAT Traversal can automatically solve many of the problems the NAT imposes on applications, making this an ideal solution for small businesses and consumers.

Q. Who came up with the NAT traversal solution?
A.

The NAT traversal solution is part of the work being done on the specification for the Internet Gateway Device (IGD) by the UPnP IGD Working Committee. UPnP member companies may join this committee or merely choose to monitor its progress. The chair of the committee is Prakash Iyer from Intel (prakash.iyer@intel.com). Many organizations, including Microsoft, drove this effort.

Q. Are there other ways to solve the problem of NAT traversal? If so, why is using UPnP the best choice?
A.

Yes, there are other ways to solve this problem, but no other mechanism currently exists as an industry standard to address this problem in an automatic way for the consumer and in such a universally-applicable way for the developer. Other approaches require either manual intervention by the user or they require special development efforts by the Internet gateway device vendor and the software developer to handle the NAT traversal needs of specific applications. As a result, UPnP is uniquely able to solve this important problem.

Consumer does the work. The manual intervention methods of NAT traversal require a consumer to use a browser, a graphical user interface-based tool on the PC, or a command line interface tool on the PC to change some settings on the Internet gateway device in the home. While some technical enthusiast users have little difficulty with this, many consumers do not feel comfortable doing this. Further, many consumers may not even realize that NAT traversal problems are interfering with their use of services across the Internet. The user may be attempting to play a multi-player game or engage in some other peer-to-peer service but find he or she cannot connect for some reason. This leads to troubleshooting, support calls, customer dissatisfaction, and reluctance on the part of the user to try new services or experiences in the future.

Developer does the work. To avoid requiring the consumer to solve this NAT traversal problem manually, some Internet gateway device vendors have written and included application layer gateway support into their devices. This application layer gateway software is designed with specific applications in mind. In other words, the device vendor writes and tests specific code that will automatically enable one application to go through the NAT. If the application software is updated, the application layer code the device vendor wrote may have to be updated and tested again. This one-at-a-time way of chasing the NAT traversal problem is manageable for device vendors when there are only a few peer-to-peer or relevant applications to consider, but this approach does not scale well to 100s or 1000s of applications, can be very expensive to pursue, and likely requires specific knowledge of how each of these applications function. The better way to approach this problem is to have the device vendor add software or firmware to their device once to understand UPnP and have other devices and software be able to communicate with the NAT device using this same technology. UPnP is uniquely able to fulfill this role today.

Q. What does the UPnP NAT traversal solution do?
A.

The scenarios that UPnP-enabled NAT traversal helps ensure include:

Multi-player gaming

Peer-to-peer connections

Real-time communications

Remote Assistance (a feature in Windows XP)

For IHVs this solution removes the need for writing and maintaining a database of Application Layer Gateways (ALGs) to traverse the NAT. This solution will be supported by both Windows XP and Direct Play, a programming resource in Windows, so software applications written to DPlay will be able to use the UPnP solution for NAT traversal automatically.

The UPnP Forum's IGD spec achieves this automatic NAT traversal by providing methods for the following:

Learning public IP address

Enumerating existing port mappings

Adding and removing port mappings

Assigning lease times to mappings

Q. Which vendors are implementing the UPnP NAT traversal solution?
A.

Currently most of the large gateway (DSL/Cable router) vendors have announced intentions to implement the UPnP NAT traversal solution in products they ship in 2001, beginning as soon as July. They include: Microsoft in WindowsXP, Linksys, D-Link, Intel, Netgear and Buffalo Technology, and Arescom.

Some of these vendors have announced they will provide firmware or software upgrades to customers who already own their devices to add support for UPnP-enabled NAT traversal.

Q. How does a consumer know which Internet gateway device has UPnP support?
A.

Consumers can check the Web site of their Internet gateway device vendor or read the label on the product packaging to see if this feature is included. Some retailers will know about this within the next few months. In the coming months, the UPnP Forum will make available a UPnP logo that vendors can include in their product packaging, marketing materials or on the products to indicate the product meets UPnP Forum's test requirements.

Q. What resources are available to developers to implement this?
A.

There are a number of resources, from whitepapers to interoperability testing events (PlugFests). For technical papers, please go to http://www.upnp.org/resources.htm. For upcoming events, please see http://www.upnp.org/events.htm. Microsoft provides developer information for Windows XP on MSDN Online.

Q. Where can I learn more?
A.

See the following resources:

Overview of Network Address Translation (NAT) in Windows XP on the TechNet Web site.

List of current UPnP Forum members on the UPnP Forum Web site.

How to Become a UPnP Forum Member on the UPnP Forum Web site.

About the UPnP Forum on the UPnP Forum Web site.

Q.
A.
 

© 2007 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement
Microsoft