From the UPnP IGD working group:
“Here is a high-level technical summary of NAT-related features in an UPnP
Internet Gateway Device (IGD):
- The ability to detect the presence of a NAT gateway and/or an RSIP
server. RSIP control channel functions will be performed natively by RSIP
- Know if NAT is enabled or disabled on a particular connection instance
- The external (WAN) IP address assigned to NAT for a particular connection instance
- Add port mappings to enable forwarding of inbound connections to a
particular client on the residential LAN. Parameters of each mapping entry
allows you to specify the External host initiating the connection, the
external port the gateway is listening on, the internal host waiting for an
inbound connection, the port it is listening on and the protocol. Appropriate
fields in this tuple can be wildcarded as needed. External and internal ports
may or may not be the same. In addition, each mapping can be enabled or
disabled. Mappings can be assigned a lease time to support the notion of
static/permanent and dynamic/temporary mappings. Hosts in the mapping entry
can be identified by IP addresses or DNS names. Mappings can also be assigned
a description string for reference. Protocol types defined as TCP and UDP.
Other protocol types must be added as vendor extensions.
- Delete port mappings previously added
- Enumerate one or all port mappings
Implementations that support a co-located firewall will perform necessary
operations to enable forwarding of connections.”
I am still waiting for the UPnP forum to publish the API or access methods for using these features. It is unfortunate that the UPnP forum is closed as it would be great if ipchains could be standardized to use this new method today. Then we could start making our P2P apps work right now through our NAT’s etc.
Given that the UPnP forum is heavily populated by Intel/MS, I am curious if Apple is following suit, i.e. will AirPort (an 802.11 & NAT device) comply with this standard and support UPnP?
Here’s another RSIP link.
And here is the IETF NAT charter with links.
I will keep researching this stuff and relay any data I get.




