NAT穿透

在计算机科学中，NAT穿越（NAT traversal）涉及TCP/IP网络中的一个常见问题，即在处于使用了NAT设备的私有TCP/IP网络中的主机之间建立连接的问题。

会遇到这个问题的通常是那些客户端网络交互应用程序的开发人员，尤其是在对等网络和VoIP领域中。IPsec VPN客户普遍使用NAT-T来达到使ESP包通过NAT的目的。

尽管有许多穿越NAT的技术，但没有一项是完美的，这是因为NAT的行为是非标准化的。这些技术中的大多数都要求有一个公共服务器，而且这个服务器使用的是一个众所周知的、从全球任何地方都能访问得到的IP地址。一些方法仅在建立连接时需要使用这个服务器，而其它的方法则通过这个服务器中继所有的数据——这就引入了带宽开销的问题。

两种常用的NAT穿越技术是：UDP路由验证和STUN。除此之外，還有TURN、ICE、ALG，以及SBC。

NAT穿透與IPsec 
為了於NAT之上實現IPsec，下列的協議必須在防火墙中實作：
 Internet Key Exchange (IKE) - UDP端口500
 Encapsulating Security Payload (ESP) - IP协议号50

或者是NAT-T之例：

 IPsec NAT-T - UDP端口4500

在家庭路由器上，这通常通过启用“IPsec穿透”来实现。

IETF文獻 
 RFC 1579 - Firewall Friendly FTP
 RFC 2663 - IP Network Address Translator (NAT) Terminology and Considerations
 RFC 2709 - Security Model with Tunnel-mode IPsec for NAT Domains
 RFC 2993 - Architectural Implications of NAT
 RFC 3022 - Traditional IP Network Address Translator (Traditional NAT)
 RFC 3027 - Protocol Complications with the IP Network Address Translator (NAT)
 RFC 3235 - Network Address Translator (NAT)-Friendly Application Design Guidelines
 RFC 3715 - IPsec-Network Address Translation (NAT) Compatibility
 RFC 3947 - Negotiation of NAT-Traversal in the IKE
 RFC 5128 - State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)

相關技術

NAT穿透技術與NAT行為 
Session Traversal Utilities for NAT（STUN）
Traversal Using Relay NAT（TURN）
NAT-T Negotiation of NAT-Traversal in the IKE
Teredo tunneling uses NAT traversal to provide IPv6 connectivity.
Session Border Controller（SBC）
UDP打洞（）
（）
（）

NAT穿透基於NAT控制 
Realm-Specific IP（RSIP）
Middlebox Communications（MIDCOM）
SOCKS
NAT Port Mapping Protocol（NAT PMP）
Internet Gateway Device（IGD）協定，由通用即插即用（UPnP）論壇所定義。
Application Layer Gateway（ALG）

NAT穿透整合技術 
Interactive Connectivity Establishment（ICE）

University research papers 
Cornell University - Characterization and Measurement of TCP Traversal through NATs and Firewalls
Columbia University - An Analysis of the Skype Peer-to-Peer Internet Telephony
Peer to peer communication across Network Address Translators (UDP Hole Punching)
Internet By All Means - An article on how to maximize your chances to get around firewalls

外部連結 
 NAT-Traversal Test
 How Skype & Co. get round firewalls
 NAT Traversal

N
N
N