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 traversal 與 IPsec[编辑]

為了實現IPsec應用於NAT之上, 下列的協議必須實作於 firewall:

  • Internet Key Exchange (IKE) - User Datagram Protocol (UDP) port 500
  • Encapsulating Security Payload (ESP) - IP protocol number 50

或者是 NAT-T 之例:

  • IPsec NAT-T - UDP port 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 行為[编辑]

NAT 穿透基於 NAT 控制[编辑]

NAT 穿透整合技術[编辑]

University research papers[编辑]

外部連結[编辑]