計算機科學中,NAT穿越(NAT traversal)涉及TCP/IP網絡中的一個常見問題,即在處於使用了NAT設備的私有TCP/IP網絡中的主機之間建立連接的問題。

會遇到這個問題的通常是那些客戶端網絡交互應用程序的開發人員,尤其是在對等網絡VoIP領域中。IPsec VPN客戶普遍使用NAT-T來達到使ESP包通過NAT的目的。

儘管有許多穿越NAT的技術,但沒有一項是完美的,這是因為NAT的行為是非標準化的。這些技術中的大多數都要求有一個公共服務器,而且這個服務器使用的是一個眾所周知的、從全球任何地方都能訪問得到的IP地址。一些方法僅在建立連接時需要使用這個服務器,而其它的方法則通過這個服務器中繼所有的數據——這就引入了帶寬開銷的問題。

兩種常用的NAT穿越技術是:UDP路由驗證STUN。除此之外,還有TURNICEALG,以及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行為

編輯

NAT穿透基於NAT控制

編輯

NAT穿透整合技術

編輯

University research papers

編輯

外部連結

編輯