(Translated by https://www.hiragana.jp/)
ネットワークアドレス変換 - Wikipedia コンテンツにスキップ

ネットワークアドレス変換へんかん

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
NATから転送てんそう
プライベートネットワークとインターネットとのあいだのネットワークアドレス変換へんかん

ネットワークアドレス変換へんかん(ネットワークアドレスへんかん)、NAT(Network Address Translation)とは、インターネットプロトコルによって構築こうちくされたコンピュータネットワークにおいて、パケットヘッダにふくまれるIPアドレスを、べつのIPアドレスに変換へんかんする技術ぎじゅつである。

業務ぎょうむよう家庭かていようわず、インターネットに接続せつぞくするために使用しようされるルータ無線むせんLANアクセスポイントにおいて標準ひょうじゅんてき利用りようされている。

IPアドレスにくわえ、ポート番号ばんごう変換へんかんおこなうものをNAPT(Network Address Port Translation、またはIPマスカレード)とぶ。今日きょうでは、NATとえばNAPTのことをすのが一般いっぱんてきである(#NATとNAPT参照さんしょう)。

概要がいよう

[編集へんしゅう]

インターネットに接続せつぞく通信つうしんおこなうためには、世界せかい唯一ゆいいつのIPアドレス(グローバルIPアドレス)を使用しようする必要ひつようがある。よって、プライベートネットワーク環境かんきょうにおいて、プライベートIPアドレスをてられている機器ききは、そのままではインターネットに接続せつぞくすることができない。NATを利用りようすることにより、ゲートウェイを通過つうかするIPパケットの送信そうしんもとまたは宛先あてさきのIPアドレスは、グローバルIPアドレスまたはプライベートIPアドレスに変換へんかんされる。こうして、LANうち機器ききが、ルータとうゲートウェイとおしてインターネットにアクセスできるようになる。

元来がんらいのNATは、送受信そうじゅしんするパケットの送信そうしんもと宛先あてさきIPアドレスだけを識別しきべつして変換へんかんするものであったため、複数ふくすう機器きき同時どうじ外部がいぶネットワークに接続せつぞくする場合ばあいは、その機器ききすう同数どうすうのグローバルIPアドレスが必要ひつようであった。そこで現在げんざいでは、プライベートIPアドレスとグローバルIPアドレスの1たい1の変換へんかんくわえ、ポート番号ばんごう変換へんかんしてプライベートIPアドレスとグローバルIPアドレスを1たい変換へんかんするNAPTがもちいられることがおおい。NATオーバーロード、オーバーロード変換へんかんPAT(Port Address Translation、Cisco Systemsによる呼称こしょう)、IPマスカレードLinuxにおけるNAPTの実装じっそうめいから。マスカレード(masquerade)は、仮面かめん舞踏ぶとうかい意味いみ)などともばれる。

NAPTでは、IPアドレスにくわえてポート番号ばんごう識別しきべつ変換へんかんをすることで、複数ふくすうのホストからローカルがいのネットワークに接続せつぞくするさいことなるローカルアドレスを同一どういつのグローバルアドレス配下はいかことなるポートとして表現ひょうげんし、必要ひつようなグローバルアドレスのかずらすことができる。動的どうてきNAPTは、インターネットプロバイダから利用りようしゃたいするグローバルIPアドレスのとうでよくもちいられる。

NATは、LANないのホストにはプライベートIPアドレスをあてて、インターネットに接続せつぞくするときだけグローバルIPアドレスを使用しようする技術ぎじゅつであるため、NATを活用かつようすることにより、使用しようするグローバルIPアドレスのかずらすことができる。

動的どうてき NAT

[編集へんしゅう]

動的どうてき NAT(ダイナミック NAT)とは、LAN 内部ないぶの IP アドレスをあらかじめ用意よういされた外部がいぶ IP アドレスのなかの 1 選択せんたくしてその IP アドレスに動的どうてきにマップする技術ぎじゅつのことである。動的どうてき NAT はセキュリティや不足ふそくする IP アドレスの問題もんだい解決かいけつやくつが、IP アドレスが固定こていされないという問題もんだいてんがある。たとえば、LAN 内部ないぶのサーバをインターネットなど、外部がいぶから参照さんしょうする必要ひつようしょうじた場合ばあい外部がいぶから参照さんしょうするためにはグローバル IP アドレスが必要ひつようだが、動的どうてき NAT では解決かいけつできない。

静的せいてき NAT

[編集へんしゅう]

静的せいてき NAT(スタティック NAT)とは、LAN 内部ないぶの IP アドレスをつね同一どういつ外部がいぶの IP アドレスに静的せいてきにマップする技術ぎじゅつのことである。この技術ぎじゅつ使用しようすれば、LAN の外部がいぶからつね同一どういつの IP アドレスを指定していすることによって内部ないぶサーバにアクセスすることができる。

非難ひなん

[編集へんしゅう]

その一方いっぽう、インターネットが本来ほんらいかかげていたピア・ツー・ピアでの接続せつぞくたいする障害しょうがいになりうると非難ひなんする意見いけんもある(エンドツーエンド接続せつぞくせい)。[よう出典しゅってん]また、FTPや、SIPなどのVoIP機能きのうさせるためには工夫くふう必要ひつよう場合ばあいもある。

また、複数ふくすうのローカルIPアドレスからのアクセスを、1つのグローバルIPアドレスで共有きょうゆうしているため、そとからはローカルネットワークないのどのノードがアクセスしたのかまでを特定とくていすることはできない。このためインターネットカフェなどの特定とくてい多数たすうひと利用りようするアクセス端末たんまつからの、悪意あくいのある利用りようSPAM行為こうい掲示板けいじばんらしネット犯罪はんざいなど)がなされた場合ばあい匿名とくめいせいたか特定とくていがより困難こんなんになる。

NATの色々いろいろばれかた

[編集へんしゅう]

Source NAT送信そうしんもとIPアドレス変換へんかん

  • NAPT(Network Address Port Translation)
  • IPマスカレード(Linux)
  • PAT(Port Address Translation)(Cisco)
  • NATオーバーロード(Cisco)
  • ダイナミックENAT(Enhanced NAT)(アライドテレシス)
  • DIP(Dynamic IP)(Juniper SSG)
  • DIPP(Dynamic IP and port)(Palo Alto Networks)

Destination NAT宛先あてさきIPアドレス変換へんかん

  • ポートフォワーディング
  • スタティックENAT(アライドテレシス)
  • VIP(Juniper SSG)
  • バーチャルIP(Fortinet)

Source and Destination NAT送信そうしんもとIPアドレスと宛先あてさきIPアドレスの両方りょうほう変換へんかんする)

  • ダブルNAT(アライドテレシス)
  • MIP (Juniper SSG)

NATの分類ぶんるい

[編集へんしゅう]

NATはアドレスやポート番号ばんごう変換へんかんする様々さまざま仕組しくみに実装じっそうされている。そして、それぞれのアプリケーションの通信つうしんプロトコルにことなった影響えいきょうおよぼす。IPアドレスの情報じょうほう使用しようするいくつかのアプリケーションプロトコルはマスカレードにもちいられる外部がいぶのアドレスを決定けっていする必要ひつようがある。そしてさらに、しばしばあたえられたNAT機器ききもちいられるマッピングの種類しゅるい発見はっけんし、分類ぶんるいする必要ひつようがある。このために、Simple traversal of UDP over NATs(STUN)protocol は開発かいはつされた。STUNはNATの実装じっそうFull cone NATRestricted cone NATPort restricted cone NAT、もしくはSymmetric NAT[1][2]分類ぶんるいし、この分類ぶんるいおうじて機器きき検査けんさするための1つの手法しゅほう提案ていあんした。しかしながら、そのこれらの手順てじゅんはスタンダードステータスから除外じょがいされた。なぜならこれらの方法ほうほう不完全ふかんぜんで、おおくの機器ききただしく評価ひょうかするには不十分ふじゅうぶんであると判明はんめいしたからである。あたらしい方法ほうほうRFC 5389(2008)に記述きじゅつされており、STUNの頭文字かしらもじ現在げんざい、この仕様しようあたらしいタイトルをあらわSession Traversal Utilities for NATである

Full cone NAT(または1たい1NAT)
  • 内部ないぶアドレス(iAddr:port1)は外部がいぶアドレス(eAddr:port2)にマップされた時点じてんで、iAddr:port1 から任意にんいのパケットは eAddr:port2 からおくられる。任意にんい外部がいぶホストはパケットを eAddr:port2 あておくることによって iAddr:port1 におくることができる。
(Address-)Restricted cone NAT
  • 内部ないぶアドレス(iAddr:port1)は外部がいぶアドレス(eAddr:port2)にマップされた時点じてんで、iAddr:port1 から任意にんいのパケットは eAddr:port2 からおくられる。外部がいぶホスト(hostAddr:任意にんい)は iAddr:port1 が hostAddr:任意にんい にパケットをおくったことがある場合ばあいにのみ、eAddr:port2 にパケットをおくることによって、パケットを iAddr:port1 におくることができる。"任意にんい" はポート番号ばんごうなんでもよいということを意味いみする。
Port-Restricted cone NAT

Address-Restricted cone NATのようにうが、ポート番号ばんごう制限せいげんされる。

  • 内部ないぶアドレス(iAddr:port1)は外部がいぶアドレス(eAddr:port2)にマップされた時点じてんで、iAddr:port1 から任意にんいのパケットは eAddr:port2 からおくられる。外部がいぶホスト(hostAddr:port3)は、 iAddr:port1 が hostAddr:port3 にパケットを以前いぜんおくった場合ばあいにのみ、 eAddr:port2 にパケットをおくることによって、パケットを iAddr:port1 におくることができる。
Symmetric NAT
  • どういち内部ないぶIPアドレスとポートから特定とくてい宛先あてさきIPアドレスにたいする要求ようきゅうすべて、唯一ゆいいつ外部がいぶソースIPアドレスとポートにマップされる
    ことなる宛先あてさきたいしては、どういち内部ないぶホストがたとえおなじソースアドレスとポートでパケットをおくっても、ことなるマッピングが使つかわれる。
  • 内部ないぶホストからのパケットをった外部がいぶホストのみがパケットをおくかえすことができる。

この用語ようごおおくの混乱こんらんまね原因げんいんであった。なぜならそれは現実げんじつのNATのいを記述きじゅつするには不適切ふてきせつであると判明はんめいしたからである。[3] おおくのNATの実装じっそうはこれらの種類しゅるいわせている。したがってCone/Symmetricという用語ようご使つかわりに、それぞれ固有こゆうのNATのいに言及げんきゅうするほうがよい。とくに、大抵たいていのNAT変換へんかん装置そうち外部がいぶ方向ほうこうへの接続せつぞくたいするSymmetricNAT静的せいてきポートマッピングとをわせている。外部がいぶアドレスとポートにはいってくるパケットは特定とくてい内部ないぶアドレスとポートにリダイレクトされる。いくつかの製品せいひんは、たとえばなんだいかのサーバのあいだ負荷ふか分散ぶんさんするために、複数ふくすう内部ないぶホストにパケットをリダイレクトできる。しかしながら、これはおおくの相互そうご接続せつぞくパケットが存在そんざいするような、より複雑ふくざつ通信つうしん場合ばあい問題もんだいこす。したがって滅多めった使つかわれることはない。RFC 4787では、観測かんそくされた動作どうさかんする標準ひょうじゅんてき用語ようご導入どうにゅうすることで、混乱こんらん緩和かんわこころみている。

おおくのNATの実装じっそうポート維持いじ設計せっけいしたがう。 ほとんどの通信つうしんにおいて、NATは内部ないぶ外部がいぶのポート番号ばんごうとしておな使つかう。 しかしながら、2つの内部ないぶホストがおなじポート番号ばんごう使つかっておな外部がいぶホストと通信つうしんしようとするならば、2番目ばんめのホストによって使つかわれる外部がいぶポート番号ばんごうはランダムにえらばれる。このようなNATは、ときにはRestricted cone NATのようにえ、べつときにはSymmetric NATのようにえる。

関連かんれん技術ぎじゅつ

[編集へんしゅう]

Connection Tracking機能きのう

[編集へんしゅう]

NATやNAPTではFTPSIPなどのVoIPなどうまく動作どうさしないアプリケーションがあるため、さらにコネクションとトラッキングすることでそれらに対処たいしょした技術ぎじゅつLinuxiptablesなどで実装じっそうされている。

GapNAT機能きのう

[編集へんしゅう]

住友電工すみともでんこうせいのADSLモデムに内蔵ないぞうのルータに実装じっそうされたDMZ実現じつげんする機能きのう名称めいしょう[1]。 1つのグローバルIPアドレスしか提供ていきょうされないIP接続せつぞくサービス環境かんきょうにおいて、DHCPによりローカルのひとつのコンピュータにグローバルIPアドレスをあてて、それ以外いがいのコンピュータにはローカルIPアドレスをてる。これによって、グローバルIPアドレスをてられたコンピュータは、グローバルIPアドレスを直接ちょくせつ使用しようしなければならないネットワークアプリケーションを動作どうささせることができる。

UPnP の規定きていするInternet Gateway Device(IGD)

[編集へんしゅう]

UPnPのインターネットゲートウェイデバイス(IGD)仕様しよう準拠じゅんきょしたNATルータは,それに対応たいおうしたアプリケーションから様々さまざま操作そうさ(Action)をけることが可能かのうである。この動作どうさなかに、ポートマッピングを作成さくせい削除さくじょ情報じょうほう取得しゅとくおこな操作そうさ(Action)がある。UPnP NAT Traversalともばれる。

これにより、使用しようするアプリケーションがポートマッピングを要求ようきゅうする場合ばあい従来じゅうらいはユーザーがNATルータにたとえばwebブラウザからアクセスするなどして、手動しゅどう設定せっていくわえなければならなかったものが、アプリケーション自身じしん直接ちょくせつルーターにアクセスしポートマッピングのエントリーを追加ついか削除さくじょできるようになった。

市場いちば出回でまわる「ブロードバンドルータ」などの商品しょうひんめいのもので「UPnP機能きのう搭載とうさい」や「UPnP NAT Traversal対応たいおう」などとかれている製品せいひんがこれにたる。

IPv4 IPv6あいだ NAT

[編集へんしゅう]

2007ねん現在げんざい、IPアドレス枯渇こかつ問題もんだいりないとされているIPv4のIPアドレスであるが、将来しょうらいてきにはIPv6のIPアドレス体系たいけい移行いこうすれば、枯渇こかつ問題もんだい解決かいけつするとられている。しかし、その移行いこう期間きかんにおいてはIPv4とIPv6の双方そうほうのネットワークが混在こんざいすることになり、りょうネットワークを接続せつぞくするNAT(プロトコル変換へんかんおこなうためゲートウェイぶのが妥当だとう)が必要ひつようとなる。実際じっさいのゲートウェイの実装じっそう方法ほうほうRFC 2766によって提案ていあんされている。

脚注きゃくちゅう

[編集へんしゅう]
  1. ^ STUN
  2. ^ NAT Types (PDF).
  3. ^ Francois Audet, Cullen Jennings (January 2007) (text). RFC [https://datatracker.ietf.org/doc/html/rfc4787 4787 Network Address Translation (NAT) Behavioral Requirements for Unicast UDP]. IETF. https://www.ietf.org/rfc/rfc4787.txt 2007ねん8がつ29にち閲覧えつらん. 

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

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]