在计算机科学中,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
*[http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/ Cornell University - Characterization and Measurement of TCP Traversal through NATs and Firewalls]
*[http://www1.cs.columbia.edu/~library/TR-repository/reports/reports-2004/cucs-039-04.pdf Columbia University - An Analysis of the Skype Peer-to-Peer Internet Telephony]
*[http://www.brynosaurus.com/pub/net/p2pnat/ Peer to peer communication across Network Address Translators (UDP Hole Punching)]
*[http://blog.sebastien.raveau.name/2009/06/internet-by-all-means.html Internet By All Means - An article on how to maximize your chances to get around firewalls]
外部連結
- [https://web.archive.org/web/20180817001123/http://nattest.net.in.tum.de/ NAT-Traversal Test]
- [http://www.heise-online.co.uk/security/How-Skype-Co-get-round-firewalls--/features/82481 How Skype & Co. get round firewalls]
- [https://web.archive.org/web/20130521103027/http://nattraversal.com.cn/ NAT Traversal]
评论 (0)