Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Network address translation
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=={{Anchor|PORT-PRESERVATION}}Type of NAT and NAT traversal, role of port preservation for TCP== [[NAT traversal]] problems arise when peers behind different NATs try to communicate. One way to solve this problem is to use [[port forwarding]]. Another way is to use various NAT traversal techniques. The most popular technique for TCP NAT traversal is [[TCP hole punching]]. TCP hole punching requires the NAT to follow the ''port preservation'' design for TCP. For a given outgoing TCP communication, the same port numbers are used on both sides of the NAT. NAT port preservation for outgoing TCP connections is crucial for TCP NAT traversal because, under TCP, one port can only be used for one communication at a time. Programs that bind distinct TCP sockets to [[ephemeral ports]] for each TCP communication, make NAT port prediction impossible for TCP.<ref name="rfc4787" /> On the other hand, for UDP, NATs do not need port preservation. Indeed, multiple UDP communications (each with a distinct [[Communication endpoint|endpoint]]) can occur on the same source port, and applications usually reuse the same UDP socket to send packets to distinct hosts. This makes port prediction straightforward, as it is the same source port for each packet. Furthermore, port preservation in NAT for TCP allows P2P protocols to offer less complexity and less latency because there is no need to use a third party (like STUN) to discover the NAT port since the application itself already knows the NAT port.<ref name="rfc4787" /><ref>{{cite web | title=Characterization and Measurement of TCP Traversal through NATs and Firewalls | url=http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/ | date=December 2006}}</ref> However, if two internal hosts attempt to communicate with the same external host using the same port number, the NAT may attempt to use a different external IP address for the second connection or may need to forgo port preservation and remap the port.<ref name="rfc4787" />{{rp|9}}{{asof|2006}}, roughly 70% of the clients in [[peer-to-peer]] (P2P) networks employed some form of NAT.<ref>{{cite web | title=Illuminating the shadows: Opportunistic network and web measurement | url=http://illuminati.coralcdn.org/stats/ | date=December 2006 | url-status=dead | archive-url=https://web.archive.org/web/20100724011252/http://illuminati.coralcdn.org/stats/ | archive-date=2010-07-24 }}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Network address translation
(section)
Add topic