NAT がなければインターネットは 2000 年代に崩壊していた

あなたの自宅には、スマートフォン、PC、タブレット、スマートスピーカー、ゲーム機、テレビなど、何台ものデバイスがインターネットに接続されています。しかし、ISP から割り当てられているグローバル IP アドレスは通常 1 つだけです。

1 つの IP アドレスで何十台ものデバイスがインターネットを使える魔法。それが NAT (Network Address Translation) です。IP 確認さんで確認できる IP アドレスは、あなたのルーターのグローバル IP であり、家庭内のどのデバイスからアクセスしても同じ IP が表示されるのは NAT のおかげです。

NAT の仕組み - ルーターの「翻訳」作業

家庭内のデバイスには、プライベート IP アドレス (192.168.x.x、10.x.x.x、172.16-31.x.x) が割り当てられています。これらのアドレスはインターネット上では使えません。ルーターが NAT テーブルを管理し、プライベート IP とグローバル IP の間で「翻訳」を行います。

  1. PC (192.168.1.10) が Web サイトにリクエストを送信
  2. ルーターが送信元アドレスを 192.168.1.10 → グローバル IP (例: 203.0.113.5) に変換し、送信元ポートも記録
  3. Web サイトからの応答が 203.0.113.5 に届く
  4. ルーターが NAT テーブルを参照し、応答を 192.168.1.10 に転送

この変換は毎秒数千回行われていますが、ユーザーが意識することはありません。

NAT が「発明」された背景

NAT は 1994 年の RFC 1631 で提案されました。当時、IPv4 アドレスの枯渇が現実的な問題として認識され始めており、NAT は「IPv6 が普及するまでの一時的な延命策」として設計されました。

しかし、NAT はあまりにも効果的だったため、IPv6 への移行の動機を弱めてしまいました。「NAT があれば IPv4 でも十分」という状況が 30 年以上続いています。一時的な延命策が、インターネットの恒久的なインフラになった皮肉な例です。

NAT の副作用 - セキュリティと制約

意図せぬファイアウォール効果

NAT の背後にあるデバイスは、外部から直接アクセスできません。外部からの通信は、NAT テーブルに対応するエントリがなければルーターで破棄されます。これは設計上の目的ではなく副作用ですが、結果として家庭内デバイスを外部からの不正アクセスから保護する効果があります。

P2P 通信の困難

NAT の背後にいる 2 台のデバイスが直接通信するのは困難です。オンラインゲーム、ビデオ通話、ファイル共有などの P2P 通信では、STUN/TURN サーバーを使った NAT トラバーサル (NAT 越え) が必要になります。WebRTC が STUN サーバーを使うのはこのためです。

CGNAT - NAT の中の NAT

ISP レベルで NAT を適用する CGNAT (Carrier-Grade NAT) では、数百〜数千の顧客が 1 つのグローバル IP を共有します。IP レピュテーションの問題 (1 人の不正ユーザーのせいで全員がブロックされる) や、GeoIP の精度低下が発生します。

まとめ

NAT は、IPv4 アドレス枯渇という危機に対する「応急処置」として生まれ、30 年以上にわたってインターネットを支え続けています。IP 確認さんで表示される 1 つの IP アドレスの裏には、NAT が管理する家庭内の無数のデバイスが隠れています。

ネットワークアドレス変換の仕組みを体系的に学びたい方には、TCP/IP の入門書が参考になります。

この記事の関連用語

NAT プライベート IP とグローバル IP を変換する技術。IPv4 アドレス枯渇の延命策。 IP アドレス NAT が変換するグローバル IP とプライベート IP の両方を指す。 IPv6 NAT を不要にする次世代プロトコル。全デバイスにグローバルアドレスを割り当て可能。 ファイアウォール NAT の副作用として、外部からの不正アクセスを遮断する効果がある。 ISP CGNAT を運用し、複数顧客で 1 つのグローバル IP を共有させる事業者。