NAT Port Mapping Protocol
Encyclopedia
NAT Port Mapping Protocol (NAT-PMP) is an Internet Engineering Task Force
Internet Draft
, introduced by Apple Computer
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
. 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.
Internet Engineering Task Force
The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the W3C and ISO/IEC standards bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite...
Internet Draft
Internet Draft
Internet Drafts is a series of working documents published by the IETF. Typically, they are drafts for RFCs, but may be other works in progress not intended for publication as RFCs. It is considered inappropriate to rely on Internet Drafts for reference purposes...
, introduced by Apple Computer
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...
as an alternative to the more common Internet Gateway Device (IGD) Standardized Device Control Protocol implemented in many network address translation
Network address translation
In computer networking, network address translation is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device....
(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
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
. It essentially automates the process of port forwarding
Port forwarding
Port forwarding or port mapping is a name given to the combined technique of# translating the address and/or port number of a packet to a new destination# possibly accepting such packet in a packet filter...
.
Included in the protocol is a method for retrieving the public IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...
of a NAT
Network address translation
In computer networking, network address translation is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device....
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.
- BitcometBitCometBitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...
, a BitTorrent file-sharing client. - ColloquyColloquy (IRC client)Colloquy is an open-source IRC, SILC, ICB and XMPP client for Mac OS X. Colloquy uses its own core, known as Chat Core, although in the past it used Irssi as its IRC protocol engine. One of the primary goals behind Colloquy was to create an IRC, SILC and ICB client with Mac OS X visuals...
, an Internet Relay Chat client. - CrashplanCrashplanCrashPlan is backup software that allows Windows, Mac, Linux and Solaris users to back up their data to an offsite data center, computers belonging to friends and family, as well as to attached drives / shared folders. There is a free version and CrashPlan+ which is for backing up to CrashPlan's...
, an offsite backup program. - DelugeDeluge (software)- See also :* Comparison of BitTorrent clients* Usage share of BitTorrent clients-External links:* * * *...
, a BitTorrent file-sharing client. - FarFinder, a remote file access application for OS X.
- FreeSWITCHFreeswitchFreeSWITCH is a free and open source communications software for the creation of voice and messaging products. It is licensed under the Mozilla Public License , a free software license...
, an open source telephony platform. - Folx, a downloader for Mac, used for torrents or normal downloads.
- FrostwireFrostWireFrostWire is a free, open source BitTorrent client first released in September 2004, as a fork of LimeWire. It was initially very similar to LimeWire in appearance and functionality, but over time developers added more features, including BitTorrent support. In version 5, Gnutella support was...
, a BitTorrent file-sharing client. - LimewireLimeWireLimeWire is a free peer-to-peer file sharing client program that runs on Windows, Mac OS X, Linux, and other operating systems supported by the Java software platform. LimeWire uses the gnutella network as well as the BitTorrent protocol. A free software version and a purchasable "enhanced"...
, a GnutellaGnutellaGnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...
file-sharing client. - Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
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.
- qBittorrentQbittorrentqBittorrent is a free software cross-platform BitTorrent client GUI written with Qt4. The program uses libtorrent-rasterbar C++ library for the torrent back-end functionality. It is developed by Christophe Dumez, from the University of Technology of Belfort-Montbeliard in France...
, a BitTorrent file-sharing client. - Transmission, a BitTorrent file-sharing client.
- VuzeVuzeVuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...
, a BitTorrent file-sharing client. - RetroShareRetroshareRetroShare is free software for encrypted, serverless email, Instant messaging, BBS and filesharing based on a friend-to-friend built on GPG. It is not a strictly a darknet since peers can optionally communicate certificates and IP addresses from and to their friends.- Authentication and...
- Stallone, a software implementation of NAT-PMP for linux/iptables: http://tedp.id.au/stallone/
- ShareTool, an automated VPN program for OS X.
- MobileMeMobileMeMobileMe was a subscription-based collection of online services and software offered by Apple Inc. Originally launched on January 5, 2000, as iTools, a free collection of Internet-based services for users of Mac OS 9, Apple relaunched it as .Mac on July 17, 2002, when it became a paid subscription...
, Apple Inc's mobile device synchronization service.
Routers supporting NAT-PMP
Manufacturer and model - Router firmware version tested- AirPort ExpressAirPort ExpressThe AirPort Express is a simplified and compact AirPort Extreme base station. It allows up to 10 networked users, and includes a feature called AirTunes...
- AirPort Extreme
- DD-WRTDD-WRTDD-WRT is a Linux-based firmware for several wireless routers, most notably the Linksys WRT54G . Like other similar projects, DD-WRT is third-party firmware designed to replace the firmware that ships pre-installed on many commercial routers...
- OpenWrtOpenWrtOpenWrt is a Linux distribution primarily targeted at routing on embedded devices. It comprises a set of about 2000 software packages, installed and uninstalled via the opkg package management system. OpenWrt can be configured using the command-line interface of BusyBox ash, or the web interface...
v8.09 or higher, with MiniUPnP daemon - pfSense v2.0
- Tarifa (firmware) (Linksys WRT54G/GL/GS)
- Time CapsuleTime Capsule (Apple)The Time Capsule is a wireless network-attached storage device combined with a wireless residential gateway router made by Apple Inc. It is described as a "Backup Appliance", designed to work in tandem with the Time Machine backup utility, introduced in Mac OS X 10.5 "Leopard".The device includes a...
- Tomato Firmware v1.24 or higher. (Linksys WRT54G/GL/GS and many more)
- Peplink Balance
See also
- ZeroconfZeroconfZero configuration networking , is a set of techniques that automatically creates a usable Internet Protocol network without manual operator intervention or special configuration servers....
- Bonjour (software)Bonjour (software)In computing, Bonjour is Apple Inc.'s trade name for its implementation of Zeroconf, a group of technologies that includes service discovery, address assignment, and name resolution...
- Universal Plug and PlayUniversal Plug and PlayUniversal Plug and Play is a set of networking protocols for primarily residential networks without enterprise class devices that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence...
- Port forwardingPort forwardingPort forwarding or port mapping is a name given to the combined technique of# translating the address and/or port number of a packet to a new destination# possibly accepting such packet in a packet filter...
- NAT traversalNAT traversalNAT traversal is a general term for techniques that establish and maintain Internet protocol connections traversing network address translation gateways. Network address translation breaks end-to-end connectivity. Intercepting and modifying traffic can only be performed transparently in the...
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)