Hairpinning

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by DrStrauss (talk | contribs) at 16:25, 5 February 2017 (→‎top: tag correction, removed underlinked tag using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In network computing, hairpinning (or NAT loopback) describes a communication between two hosts behind the same NAT device using their mapped endpoint. Because not all NAT devices support this communication configuration, applications must be aware of it.

Hairpinning is where a machine on the LAN is able to access another machine on the LAN via the external IP address of the LAN/router (with port forwarding set up on the router to direct requests to the appropriate machine on the LAN).

Example

Let us consider a private network with the following:

  • Gateway address: 192.168.0.1
  • Host 1: 192.168.0.5
  • Host 2: 192.168.0.7
  • The gateway has an external IP : 192.0.2.1
  • Host 1 runs a P2P application P1 on its port 12345 which is externally mapped to 4444.
  • Host 2 runs a P2P application P2 on its port 12345 which is externally mapped to 5555.

If the NAT device supports hairpinning, then P1 application can connect to the P2 application using the external endpoint 192.0.2.1:5555. If not, the communication will not work.

See also

References

This notion is officially described in the RFC 5128.