(Translated by https://www.hiragana.jp/)
NAT traversal - Wikipedia コンテンツにスキップ

NAT traversal

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
NAT通過つうかから転送てんそう

NAT traversal(NATトラバーサル)は、TCP/IPネットワークにおいてNAT機器ききもちいたうえで、複数ふくすうホストあいだのネットワーク接続せつぞく確立かくりつするさいしょうじる問題もんだい解決かいけつするために設計せっけいされたアルゴリズムである。ちなみに、NAT traversalはNAT通過つうか意味いみし、NATともばれる。

たとえば、P2PVoIPなどのホストあいだ通信つうしんおこなうアプリケーションが、相手あいてがわのNAT機器ききもちいたプライベートネットワークにぞくするホストを直接ちょくせつ指定していできない、すなわち、NATを通過つうかできないといった問題もんだいがある。 通常つうじょうは、IPsecVPNクライアントがESPパケット[1]に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は、いま有効ゆうこうであり幅広はばひろ利用りよう可能かのうである。

NAT traversal問題もんだい

[編集へんしゅう]

NAT機器きき内部ないぶネットワークから外部がいぶネットワークにけたリクエストのソースアドレスを変更へんこうし、変更へんこうのアドレスにたいする応答おうとうる。これにより、内部ないぶネットワークにぞくする複数ふくすうのホストが、そのかずよりすくない外部がいぶIPアドレス使用しようして外部がいぶネットワークと通信つうしんすることを可能かのうにする。しかし、応答おうとう変更へんこうのアドレスにたいするものであるために、NAT機器ききは、応答おうとう内部ないぶネットワークにぞくするホストのうちのどれにたいしておこなわれているものかを特定とくていできない。このため、たとえば内部ないぶネットワークにぞくするホストが外部がいぶネットワークにたいして、サーバとして動作どうさすることをさまたげるという問題もんだいしょうじる。インターネットを使用しようするおおくのホームユーザは、内部ないぶネットワークにぞくするホストをサーバとして動作どうささせる必要ひつよういか、あるいは、静的せいてきNATマッピングが使用しようできるために、この問題もんだいはホームユーザに通常つうじょう関係かんけいしなかった。しかしたとえば、BitTorrentGnutellaなどのP2Pによるファイル共有きょうゆうアプリケーションや、SkypeなどのVoIPアプリケーションは、サーバのように動作どうさすることをクライアントに要求ようきゅうするが、NAT機器きき外部がいぶネットワークから内部ないぶネットワークへのリクエストを適切てきせつ内部ないぶホストに関連付かんれんづけられないために、このようなアプリケーションの機能きのう問題もんだいしょうじる。

NAT traversalとIPsec

[編集へんしゅう]

IPsecが、NAT通過つうか正常せいじょう機能きのうするためには、以下いかファイアウォールうえ許可きょかされる必要ひつようがある。

  • Internet Key Exchange (IKE) - User Datagram Protocol (UDP) ポート500
  • Encapsulating Security Payload (ESP) - Internet Protocol (IP) 50
  • IPsec NAT-T - UDP ポート4500

おおくの家庭かていようルータでは、IPsecパススルーを有効ゆうこうとすることによりこれらが実現じつげんされる。

議論ぎろん余地よちのあるセキュリティ問題もんだいのために、Windows XP SP2 は、初期しょき設定せっていではNAT-Tを無効むこうとするよう変更へんこうされた。 このため、家庭かていでPCを使用しようするほとんどのユーザは、PC環境かんきょう設定せってい変更へんこうおこなわないかぎり、IPsecを使用しようすることができない。 NATを使用しようしたシステム同士どうし通信つうしんおこなうためにNAT-Tを有効ゆうこうとするには、以下いかのレジストリキーを追加ついかし、AssumeUDPEncapsulationContextOnSendRuleを2に設定せっていする必要ひつようがある[2]

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPsec (Windows XP)
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent (Windows Vista以降いこう)

IPsec NAT-Tパッチは、Windows 2000、Windows NT、Windows 98でも利用りようできる。

NAT-TとIPsecとの使用しようは、システムあいだ日和見ひよりみ暗号あんごう(en:Opportunistic encryption)を可能かのうとする。それにより、NATの内側うちがわにあるシステムが随時ずいじ安全あんぜん接続せつぞく要求ようきゅう確立かくりつすることを、NAT-Tは可能かのうにする。

ローカルIPアドレスをはらすNAT実装じっそう装置そうちがパススルー可能かのうなIPsecの本数ほんすうはそのNAT実装じっそう装置そうちつグローバルIPアドレスのかず同数どうすうである(たとえばグローバルIPアドレスをひとつしかもたない家庭かていようブロードバンドルータはひとつのIPsecしかパススルーできない)。これはローカルIPアドレスようのヘッダ自体じたいがIPsecで暗号あんごうされるためである。

関連かんれん項目こうもく

[編集へんしゅう]
  1. ^ Encapsulating Security Payload - ペイロードを暗号あんごうしてカプセル
  2. ^ Windows Vista および Windows Server 2008 で NAT-T デバイスの背後はいごに L2TP/IPsec サーバーを構成こうせいする方法ほうほう”. サポート技術ぎじゅつ情報じょうほう (2017ねん5がつ24にち). 2017ねん6がつ17にち閲覧えつらん

NAT traversalに関連かんれんするプロトコル、およびそれにもとづく技術ぎじゅつ

[編集へんしゅう]

NATの動作どうさもとづくNAT traversalの技術ぎじゅつ

[編集へんしゅう]

複数ふくすう技術ぎじゅつふくむNAT traversalの技術ぎじゅつ

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]

関連かんれん RFC

[編集へんしゅう]
  • 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 3027 - Protocol Complications with the IP Network Address Translator (NAT)
  • RFC 3235 - Network Address Translator (NAT)-Friendly Application Design Guidelines
  • RFC 3947 - Negotiation of NAT-Traversal in the IKE
  • RFC 5128 - State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)