NAT-PMP is another protocol, developed by Apple, released in 2005 to allow Routers to assign external ports, advise changes etc, it isn't as prevalent as Upnp is today.

If we were to pick one or the other it's probably smarter to go with NAT-PMP longer term. Which brings me back to where I started.

For now, I think I'll take the other options, p2p TCP and a Jeri Relay service, see my earlier posts for details.

Excerpt from the Internet draft at: http://files.dns-sd.org/draft-cheshire-nat-pmp.txt

Internet Draft          NAT Port Mapping Protocol        16th April 2008


9.  Noteworthy Features of NAT Port Mapping Protocol

[Temporary Authors' Note (not to be included in published RFC):
The intent of this section is not to bash UPnP, but to be a fair and
accurate comparison of NAT-PMP and IGD. NAT-PMP is frequently compared
to IGD, because superficially it might appear that they perform much the
same task, so it would be an omission for this document to ignore that
and try to pretend the issue doesn't exist. The purpose of this section
is to point out the relevant differences so that implementors can make
an informed decision. If we have any errors or omissions in our
descriptions of how IGD works for creating port mappings, we invite and
welcome feedback from IGD experts who can help us correct those
mistakes.]

  Some readers have asked how NAT-PMP compares to other similar
  solutions, particularly the UPnP Forum's Internet Gateway Device
  (IGD) Device Control Protocol [IGD].

  The answer is that although UPnP IGD is often used as a way for
  client devices to create port mappings programmatically, that's not
  what it was created for. Whereas NAT-PMP was designed to be used
  primarily by software entities managing their own port mappings, UPnP
  IGD was designed to be used primarily by humans configuring all the
  settings of their gateway using some user interface tool. This
  different target audience leads to protocol differences. For example,
  while it is reasonable and sensible to require software entities to
  renew their mappings periodically to prove that they are still there,
  it's not reasonable to require the same thing of a human user. When
  a human user configures their gateway, they expect it to stay
  configured that way until they decide to change it. If they configure
  a port mapping, they expect it to stay configured until they decide
  to delete it.

  Because of this focus on being a general administation protocol for
  all aspects of home gateway configuration, UPnP IGD is a large and
  complicated collection of protocols (360 pages of specification
  spread over 13 separate documents, not counting supporting protocol
  specifications like SSDP and XML). While it may be a fine way for
  human users to configure their home gateways, it is not especially
  suited to the task of programmatically creating port mappings.

  The requirements for a good port mapping protocol, requirements which
  are met by NAT-PMP, are outlined below:


9.1.  Simplicity

  Many home gateways, and many of the devices that connect to them,
  are small, low-cost devices, with limited RAM, flash memory, and CPU
  resources. Protocols they use should be considerate of this,
  supporting a small number of simple operations that can be ...



Reply via email to