ネットワークアドレス変換 へんかん (ネットワークアドレスへんかん)、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)とは、LAN 内部 ないぶ の IP アドレスをあらかじめ用意 ようい された外部 がいぶ IP アドレスの中 なか の 1 個 こ を選択 せんたく してその IP アドレスに動的 どうてき にマップする技術 ぎじゅつ のことである。動的 どうてき NAT はセキュリティや不足 ふそく する IP アドレスの問題 もんだい 解決 かいけつ に役 やく に立 た つが、IP アドレスが固定 こてい されないという問題 もんだい 点 てん がある。例 たと えば、LAN 内部 ないぶ のサーバをインターネットなど、外部 がいぶ から参照 さんしょう する必要 ひつよう が生 しょう じた場合 ばあい 、外部 がいぶ から参照 さんしょう するためにはグローバル IP アドレスが必要 ひつよう だが、動的 どうてき NAT では解決 かいけつ できない。
静的 せいてき NAT(スタティック NAT)とは、LAN 内部 ないぶ の IP アドレスを常 つね に同一 どういつ の外部 がいぶ の IP アドレスに静的 せいてき にマップする技術 ぎじゅつ のことである。この技術 ぎじゅつ を使用 しよう すれば、LAN の外部 がいぶ から常 つね に同一 どういつ の IP アドレスを指定 してい することによって内部 ないぶ サーバにアクセスすることができる。
その一方 いっぽう 、インターネットが本来 ほんらい 掲 かか げていたピア・ツー・ピア での接続 せつぞく に対 たい する障害 しょうがい になりうると非難 ひなん する意見 いけん もある(エンドツーエンド接続 せつぞく 性 せい )。 [要 よう 出典 しゅってん ] また、FTP や、SIP などのVoIP を機能 きのう させるためには工夫 くふう が必要 ひつよう な場合 ばあい もある。
また、複数 ふくすう のローカルIPアドレスからのアクセスを、1つのグローバルIPアドレスで共有 きょうゆう しているため、外 そと からはローカルネットワーク内 ない のどのノードがアクセスしたのかまでを特定 とくてい することはできない。このためインターネットカフェなどの不 ふ 特定 とくてい 多数 たすう の人 ひと が利用 りよう するアクセス端末 たんまつ からの、悪意 あくい のある利用 りよう (SPAM 行為 こうい や掲示板 けいじばん 荒 あ らし 、ネット犯罪 はんざい など)がなされた場合 ばあい 、匿名 とくめい 性 せい が高 たか く特定 とくてい がより困難 こんなん になる。
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はアドレスやポート番号 ばんごう を変換 へんかん する様々 さまざま な仕組 しく みに実装 じっそう されている。そして、それぞれのアプリケーションの通信 つうしん プロトコルに異 こと なった影響 えいきょう を及 およ ぼす。IPアドレスの情報 じょうほう を使用 しよう するいくつかのアプリケーションプロトコルはマスカレードに用 もち いられる外部 がいぶ のアドレスを決定 けってい する必要 ひつよう がある。そしてさらに、しばしば与 あた えられたNAT機器 きき に用 もち いられるマッピングの種類 しゅるい を発見 はっけん し、分類 ぶんるい する必要 ひつよう がある。このために、Simple traversal of UDP over NATs (STUN)protocol は開発 かいはつ された。STUNはNATの実装 じっそう をFull cone NAT 、Restricted cone NAT 、Port restricted cone NAT 、もしくはSymmetric NAT [ 1] [ 2] に分類 ぶんるい し、この分類 ぶんるい に応 おう じて機器 きき を検査 けんさ するための1つの手法 しゅほう を提案 ていあん した。しかしながら、その後 ご これらの手順 てじゅん はスタンダードステータスから除外 じょがい された。なぜならこれらの方法 ほうほう は不完全 ふかんぜん で、多 おお くの機器 きき を正 ただ しく評価 ひょうか するには不十分 ふじゅうぶん であると判明 はんめい したからである。新 あたら しい方法 ほうほう はRFC 5389 (2008)に記述 きじゅつ されており、STUNの頭文字 かしらもじ は現在 げんざい 、この仕様 しよう の新 あたら しいタイトルを表 あらわ すSession Traversal Utilities for NAT である 。
この用語 ようご は多 おお くの混乱 こんらん を招 まね く原因 げんいん であった。なぜならそれは現実 げんじつ のNATの振 ふ る舞 ま いを記述 きじゅつ するには不適切 ふてきせつ であると判明 はんめい したからである。[ 3]
多 おお くのNATの実装 じっそう はこれらの種類 しゅるい を組 く み合 あ わせている。従 したが ってCone/Symmetricという用語 ようご を使 つか う代 か わりに、それぞれ固有 こゆう のNATの振 ふ る舞 ま いに言及 げんきゅう する方 ほう がよい。特 とく に、大抵 たいてい のNAT変換 へんかん 装置 そうち は外部 がいぶ に出 で て行 い く方向 ほうこう への接続 せつぞく に対 たい するSymmetricNAT と静的 せいてき ポートマッピング とを組 く み合 あ わせている。外部 がいぶ アドレスとポートに入 はい ってくるパケットは特定 とくてい の内部 ないぶ アドレスとポートにリダイレクトされる。いくつかの製品 せいひん は、例 たと えば何 なん 台 だい かのサーバの間 あいだ に負荷 ふか を分散 ぶんさん するために、複数 ふくすう の内部 ないぶ ホストにパケットをリダイレクトできる。しかしながら、これは多 おお くの相互 そうご 接続 せつぞく パケットが存在 そんざい するような、より複雑 ふくざつ な通信 つうしん の場合 ばあい に問題 もんだい を引 ひ き起 お こす。従 したが って滅多 めった に使 つか われることはない。RFC 4787 では、観測 かんそく された動作 どうさ に関 かん する標準 ひょうじゅん 的 てき な用語 ようご を導入 どうにゅう することで、混乱 こんらん の緩和 かんわ を試 こころ みている。
多 おお くのNATの実装 じっそう はポート維持 いじ 設計 せっけい に従 したが う。 ほとんどの通信 つうしん において、NATは内部 ないぶ と外部 がいぶ のポート番号 ばんごう として同 おな じ値 ち を使 つか う。 しかしながら、2つの内部 ないぶ ホストが同 おな じポート番号 ばんごう を使 つか って同 おな じ外部 がいぶ ホストと通信 つうしん しようとするならば、2番目 ばんめ のホストによって使 つか われる外部 がいぶ ポート番号 ばんごう はランダムに選 えら ばれる。このようなNATは、時 とき にはRestricted cone NAT のように見 み え、別 べつ の時 とき にはSymmetric NAT のように見 み える。
NATやNAPTではFTP やSIP などのVoIP などうまく動作 どうさ しないアプリケーション があるため、さらにコネクションとトラッキングすることでそれらに対処 たいしょ した技術 ぎじゅつ 。Linux のiptables などで実装 じっそう されている。
住友電工 すみともでんこう 製 せい の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対応 たいおう 」などと書 か かれている製品 せいひん がこれに当 あ たる。
2007年 ねん 現在 げんざい 、IPアドレス枯渇 こかつ 問題 もんだい で足 た りないとされているIPv4 のIPアドレスであるが、将来 しょうらい 的 てき にはIPv6 のIPアドレス体系 たいけい に移行 いこう すれば、枯渇 こかつ 問題 もんだい は解決 かいけつ すると見 み られている。しかし、その移行 いこう 期間 きかん においてはIPv4とIPv6の双方 そうほう のネットワークが混在 こんざい することになり、両 りょう ネットワークを接続 せつぞく するNAT(プロトコル変換 へんかん も行 おこな うためゲートウェイ と呼 よ ぶのが妥当 だとう )が必要 ひつよう となる。実際 じっさい のゲートウェイの実装 じっそう 方法 ほうほう がRFC 2766 によって提案 ていあん されている。