NAT Port Mapping Protocol
NAT Port Mapping Protocol (NAT-PMP) is an Internet Engineering Task Force Internet Draft, introduced by Apple as an alternative to the more common Internet Gateway Device (IGD) Standardized Device Control Protocol implemented in many network address translation (NAT) routers. It was introduced in June 2005. NAT-PMP allows a computer in a private network (behind a NAT router) to automatically configure the router to allow parties outside the private network to contact it. NAT-PMP runs over UDP port 5351. It essentially automates the process of port forwarding.
Included in the protocol is a method for retrieving the public IP address of a NAT gateway, thus allowing a client to make this public IP address and port number known to peers that may wish to communicate with it. This protocol is implemented in the applications listed below.
Applications supporting NAT-PMP
- BarracudaDrive, Internet File Server, uses NAT-PMP to Internet enable the server.
- BitTorrent, a BitTorrent file-sharing client.
- Bitcomet, a BitTorrent file-sharing client.
- Colloquy, an Internet Relay Chat client.
- Crashplan, an offsite backup program.
- Deluge, a BitTorrent file-sharing client.
- Presence, a remote file access application for Mac OS X, iPhone and iPad.
- FreeSWITCH, an open source telephony platform.
- Folx, a downloader for Mac, used for torrents or normal downloads.
- Frostwire, a BitTorrent file-sharing client.
- Limewire, a Gnutella file-sharing client.
- Mac OS X 10.4 and above.
- TomP2P, a Java-based DHT implementation using NAT-PMP
- µTorrent, a BitTorrent file-sharing client.
- natpmpd, a software implementation of NAT-PMP for OpenBSD
- Nicecast, a music streaming program.
- Port Map, a manual port mapping configuration software for OS X.
- qBittorrent, a BitTorrent file-sharing client.
- Transmission, a BitTorrent file-sharing client.
- Vuze, a BitTorrent file-sharing client.
- Retroshare, a friend-to-friend email, instant messaging, BBS and file-sharing client.
- Stallone, a software implementation of NAT-PMP for linux/iptables: http://tedp.id.au/stallone/
- ShareTool, an automated VPN program for OS X.
- MobileMe, Apple Inc's mobile device synchronization service.
- Skype, An internet telephony program.
Routers supporting NAT-PMP
Manufacturer and model - Router firmware version tested
- 2Wire 3801HGV
- AirPort Express
- AirPort Extreme
- AstLinux 1.0.4+, with MiniUPnP daemon
- DD-WRT
- OpenWrt v8.09 or higher, with MiniUPnP daemon
- pfSense v2.0, with MiniUPnP daemon
- Tarifa (firmware) (Linksys WRT54G/GL/GS)
- Time Capsule
- Tomato Firmware v1.24 or higher. (Linksys WRT54G/GL/GS and many more)
- WL500g Project v1.9.2.7-rtn or higher (ASUS RT-N16, WL-500GP and many more)
- Peplink Balance
- ZyXEL HES-319M
See also
References
External links
- NAT-PMP Specification Draft
- Bonjour Protocol Specifications
- another NAT-PMP explanation
- MiniUPnP ANSI C, BSD-licenced library that supports UPnP and NAT-PMP traversal (client and server)