用語辞典・IP・アドレス

NAT

NATとは

NATは、ルーターなどがIPパケットの送信元または宛先アドレスを書き換え、異なるアドレス空間の間で通信を中継する仕組みです。正式名称はNetwork Address Translation(ネットワーク・アドレス・トランスレーション)です。

NATは、ルーターなどがIPパケットの送信元または宛先アドレスを書き換え、異なるアドレス空間の間で通信を中継する仕組みです。

家庭内のプライベートIPアドレスを、外部で使えるグローバルIPアドレスへ対応させる場面が代表例です。ただし、技術用語としてのNATには複数の方式があります。基本NATはIPアドレスを変換し、ポート番号まで同時に変換する方式はNAPTと区別します。

境界を通ると、パケットに書かれたアドレスが置き換わる戻りの通信は、記録した対応を逆向きにたどる
内部端末の送信元IPアドレスが境界ルーターで外部アドレスへ置き換えられ、対応表を使って応答が元の端末へ戻る図解
図1基本NATでは、内部アドレスと外部アドレスの対応を作り、パケットごとにIPヘッダーを書き換えます。書き換えで影響を受ける検査値も調整する必要があります。

通常のルーティングは宛先を選び、NATはアドレスを書き換える

通常のルーターは、パケットの宛先IPアドレスを見て次の転送先を選びますが、原則として送信元・宛先IPアドレスそのものを別の値へ置き換えません。NAT機器は経路選択に加えて、境界を通過するパケットのアドレスを書き換えます。

この違いは、通信相手から見える送信元にも表れます。内部端末が192.168.1.20であっても、NATの外側にあるサーバーには変換後のアドレスが送信元として見えます。外部サーバーは、変換前のプライベートアドレスへ直接返信するわけではありません。

変換には、対応関係と有効な状態が必要

基本NATの対応表アドレス同士を結び、往復で反対向きに変換する
内部側変換外部側

192.168.1.20203.0.113.8

192.168.1.21203.0.113.9

例示用アドレスを使用。実際の対応は設定や機器の方式で決まります。
図2基本NATは一対一の固定対応だけでなく、利用可能な外部アドレスの集合から動的に割り当てることもあります。家庭用ルーターで多数の端末が一つの外部アドレスを共有する動作は、通常、次項のNAPTです。

外から始まる通信には、変換先を決める手掛かりが要る

内部端末から始めた通信では、NAT機器が往路を見て対応を作り、応答を戻せます。一方、外部から突然届いたパケットには、どの内部端末へ変換すべきかを決める既存の対応がありません。固定マッピングなどを管理者が設定していなければ、転送できません。

この性質により結果として外部からの新規通信が届きにくくなりますが、NATはファイアウォールの同義語ではありません。通信を許可・拒否する方針、状態検査、公開範囲の制御は別の機能として確認します。

通信内容にIPアドレスを書いた方式とは相性が悪い

NATが通常書き換えるのはIPやTCP・UDPなどのヘッダーです。アプリケーションのデータ中にIPアドレスが埋め込まれていると、ヘッダーだけ変えても相手が古いアドレスを使おうとする場合があります。そのため、一部の通信規則では補助処理やNAT越えの仕組みが必要です。

また、変換機器が通信状態を保持する方式では、再起動や期限切れで対応が消えると、継続中の通信が切れます。NATはアドレス不足への対処に役立つ一方、端末同士が直接到達できるというIP本来の前提を変化させます。

仕様の確認資料:RFC 3022「Traditional IP Network Address Translator」RFC 2663「IP Network Address Translator Terminology」

関連用語