NAT traversal
NAT traversal（NATトラバーサル）は、TCP/IPネットワークにおいてNAT機器を用いた上で、複数ホスト間のネットワーク接続を確立する際に生じる問題を解決するために設計されたアルゴリズムである。ちなみに、NAT traversalはNAT通過を意味し、NAT越えとも呼ばれる。
例えば、P2PやVoIPなどのホスト間通信を行うアプリケーションが、相手側のNAT機器を用いたプライベートネットワークに属するホストを直接指定できない、すなわち、NATを通過できないといった問題がある。
通常は、IPsecVPNクライアントがESPパケットにNATの通過をさせるためにNAT-Tが用いられる。
NAT traversal技術には多くの種類がある。しかし、NATの機能が標準化されていない為に、全ての場合において動作するNAT traversal技術は存在しない。多くのNAT traversal技術は、グローバルIPアドレスを持つパブリックサーバを必要とする。TURNなどは、サーバがすべてのデータを中継する方法であり、帯域コストを増やし、遅延を増加させることにより、VoIPアプリケーションに弊害をもたらす。一方、STUNなどは、コネクションを確立するときにのみ、サーバを使用する方法である。
NATの振舞いに基づく多くの技術は、端末間の透過性を損ない、企業におけるセキュリティポリシー(Enterprise Security Policies)を保ち難くする。企業のセキュリティ管理者は、セキュリティポリシーを守ることができるように、NATでパケットの検閲を行いながらNAT traversalを可能にするような、NATとファイアウォールの両者が共存する技術を選ぶ。この点から、最も将来性のあるIETFの標準は、Realm-Specific IP (RSIP)とMiddlebox Communications (MIDCOM)だといえる。Universal Plug and Play (UPnP)は、小型ゲートウェイの製造業者によって幅広くサポートされているので、家庭やSOHOに容易に導入することができる。その一方で、最も古いNAT制御のためのプロトコルであるSOCKSは、今も有効であり幅広く利用可能である。