NATとは
NAT(Network Address Translation:ネットワークアドレス変換)とは、社内や家庭内のネットワークで使われる「プライベートIPアドレス」と、インターネット上で通信するために必要な「グローバルIPアドレス」を、相互に変換する技術のことです。また、1つのグローバルIPアドレスを、ポート番号を利用して複数の機器で同時に共有して使えるようにする技術を「NAPT(ナプト)」または「IPマスカレード」と呼びます。
世界中で使えるグローバルIPアドレスは数に限りがあります。そこで、家庭内では自由に使えるプライベートIPアドレスを各機器に割り当て、インターネットに出る瞬間だけルータが持つ1つのグローバルIPアドレスに変換することで、アドレスの節約とセキュリティ向上を同時に実現しています。
具体例
マンションの「集合郵便受けと各部屋のインターホン」の関係に例えてみましょう。
- マンションの住人(各パソコン)は、それぞれ「201号室」「302号室」という内線番号(プライベートIPアドレス)を持っています。
- マンションの外の人(インターネット)へ手紙を出すとき、差出人住所には個別の部屋番号ではなく、マンション全体の住所「〇〇マンション」(グローバルIPアドレス)を記載します。
- ルータ(管理人)が、「201号室のAさんが外のWebサイトへ送った荷物だ」と記録しておき、返ってきたデータを正しく 201号室に届ける役割(これがNAT/NAPTの機能)を果たします。これにより、外からは部屋の内部を隠したまま、インターネットを楽しむことができます。
もう少し詳しく
NAT技術は、主にIPv4における「グローバルIPアドレスの急速な枯渇」を防ぐための暫定的な救済技術として発展し、現在はほぼすべての組織や家庭のブロードバンドルータで実装されています。狭義の「NAT」と、より高度な「NAPT(IPマスカレード)」には、変換の仕組みに明確な違いがあります。
- NAT(1対1変換):1つのプライベートIPアドレスを1つのグローバルIPアドレスに一対一で変換する技術です。この方式では、組織内にPCが100台あっても、同時にインターネットにアクセスできるのは保有しているグローバルIPアドレスの数(例えば10個あれば10台まで)に限定されてしまいます。アドレスの節約効果は限定的であり、主に特定の公開サーバーへのアクセス制御などの目的で使われます。
- NAPT / IPマスカレード(1対多変換):複数のプライベートIPアドレスを、1つのグローバルIPアドレスに「ポート番号」を組み合わせて多対一で変換・共有する技術です。ルータが内部から外部への接続パケットを受け取ると、送信元IPアドレスをルータのグローバルIPに書き換えるとともに、送信元ポート番号をルータ側で重複しない新しい空きポート番号(例:60001番)に変換し、その対応表(変換テーブル)に記録します。データが戻ってきた際は、その宛先ポート番号をキーに対応表を検索し、元のPCのIPアドレスとポート番号に戻してLAN内に届けます。これにより、1つのグローバルIPアドレスだけで数百〜数千台の端末が同時にWebブラウジングなどを行うことができます。
また、NAT/NAPTにはセキュリティ効果もあります。外部のインターネットから見ると、すべての通信はルータ(グローバルIP)が送信しているように見え、内部PCのプライベートIPアドレスは完全に隠蔽されます。外部からLAN内部のPCに対して直接接続を開始することは技術的に不可能であるため、不正アクセスやサイバー攻撃からの強力な防御壁として機能します。
試験でのポイント
情報処理試験では、NATとNAPT(IPマスカレード)の定義の違いを正確に理解しているかが最も問われます。特に、「1つのグローバルIPアドレスを複数のプライベートIPアドレスで同時に共有するために、IPアドレスに加えて『ポート番号』も同時に変換する技術は何か?」という問いに対し、「NAPT」または「IPマスカレード」を正しく選択できる必要があります。
また、NAT/NAPTテーブル(変換表)における変換前後のアドレスやポート番号の対応関係を読み解く実務的な問題も頻出します。その他、IPv4アドレスの枯渇対策としての側面や、外部からの直接攻撃を防ぐ「セキュリティ効果(簡易ファイアウォールとしての性質)」についても理解しておきましょう。
関連する用語
NATに関連する用語には、組織内だけで通用する「プライベートIPアドレス」、世界共通の「グローバルIPアドレス」、通信の口を示す「ポート番号」、変換作業を担う「ルータ」、IPマスカレードの標準規格名である「NAPT」などがあります。