「プライベートIPとグローバルIPって何が違うの?」「NATって何をしてるの?」
自宅のWi-Fiに接続すると「192.168.1.10」というIPアドレスが割り当てられますよね。でも、インターネット上では全く別のIPアドレスとして認識されています。この仕組みを支えているのがNATです。
この記事では、プライベートIPとグローバルIPの違い、そしてNATの仕組みについて、初心者向けにわかりやすく解説します。
2種類のIPアドレス
IPアドレスには大きく分けて2種類あります。
グローバルIPアドレス(パブリックIP)
インターネット上で使用される、世界で一意(ユニーク)なIPアドレスです。
- インターネットに直接接続できる
- 世界中で重複しない
- ISP(プロバイダ)から割り当てられる
- 数に限りがある(IPv4では約43億個)
イメージとしては、「世界共通の住所」のようなものです。
プライベートIPアドレス(ローカルIP)
家庭内や会社内など、閉じたネットワーク内で使用されるIPアドレスです。
- インターネットに直接接続できない
- 同じアドレスを複数の組織で使用可能
- ルーターなどが自動で割り当てる
- 数に制限がない(内部では自由に使える)
イメージとしては、「建物内の部屋番号」のようなものです。
プライベートIPアドレスの範囲
プライベートIPとして使用できる範囲は決まっています。
| クラス | 範囲 | よく使われる場面 |
|---|---|---|
| クラスA | 10.0.0.0 〜 10.255.255.255 | 大企業、データセンター |
| クラスB | 172.16.0.0 〜 172.31.255.255 | 中規模ネットワーク |
| クラスC | 192.168.0.0 〜 192.168.255.255 | 家庭、小規模オフィス |
自宅のWi-Fiで「192.168.1.x」というアドレスを見たことがある方も多いはず。これがプライベートIPアドレスです。
なぜ2種類必要なの?
IPアドレスの枯渇問題
IPv4のIPアドレスは約43億個。一見多そうに見えますが、世界中のコンピュータ、スマホ、IoT機器…すべてに割り当てるには全然足りません。
そこで考えられたのが、「インターネットに直接出る必要がない機器には、使い回せるアドレスを使おう」という発想です。
プライベートIPなら使い回せる
プライベートIPアドレスは、異なるネットワーク間で重複してもOKです。
- Aさんの自宅:192.168.1.10
- Bさんの自宅:192.168.1.10
- C社のオフィス:192.168.1.10
これらはすべて別のネットワークなので、同じアドレスでも問題ありません。これにより、グローバルIPの消費を抑えられます。
NATとは?
ここで疑問が出てきます。「プライベートIPはインターネットに接続できないなら、どうやってWebサイトを見ているの?」
その答えがNAT(Network Address Translation)です。
NATの役割
NATは、プライベートIPアドレスとグローバルIPアドレスを変換する仕組みです。日本語では「ネットワークアドレス変換」と呼ばれます。
自宅やオフィスからインターネットにアクセスするとき、ルーターがNATを行って、プライベートIPをグローバルIPに変換しています。
NATの動作イメージ
自宅からWebサイトにアクセスする流れを見てみましょう。
【行き(リクエスト)】
- あなたのPC(192.168.1.10)がWebサイトにアクセスしようとする
- ルーターが送信元IPを「192.168.1.10」→「203.0.113.1」(グローバルIP)に変換
- Webサーバーには「203.0.113.1からのアクセス」として見える
【帰り(レスポンス)】
- Webサーバーが「203.0.113.1」宛てに応答を返す
- ルーターが宛先IPを「203.0.113.1」→「192.168.1.10」に変換
- あなたのPCに応答が届く
ルーターが「翻訳者」のような役割を果たしているわけです。
NAPTとは?
実は、家庭で使われているのは厳密にはNATではなくNAPT(Network Address Port Translation)です。「IPマスカレード」とも呼ばれます。
NATとNAPTの違い
| 項目 | NAT | NAPT |
|---|---|---|
| 変換対象 | IPアドレスのみ | IPアドレス+ポート番号 |
| 同時接続 | グローバルIP数分だけ | 1つのグローバルIPで多数可能 |
| 一般的な用途 | サーバー向け | 家庭・オフィス向け |
NAPTの仕組み
NAPTでは、IPアドレスだけでなくポート番号も変換します。これにより、1つのグローバルIPアドレスを複数の端末で共有できます。
例えば:
- PCのアクセス:192.168.1.10:50001 → 203.0.113.1:50001
- スマホのアクセス:192.168.1.11:50002 → 203.0.113.1:50002
- タブレットのアクセス:192.168.1.12:50003 → 203.0.113.1:50003
ルーターは「どのポートからの通信が、どの端末のものか」を記録しておき、帰りの通信を正しい端末に届けます。
NATの種類
NATにはいくつかの種類があります。
静的NAT(Static NAT)
プライベートIPとグローバルIPを1対1で固定的に対応させる方式。
- 常に同じグローバルIPに変換される
- 外部からのアクセスを受け付けるサーバーに使う
- グローバルIPを多く消費する
動的NAT(Dynamic NAT)
複数のグローバルIPを用意しておき、通信時に空いているものを割り当てる方式。
- グローバルIPを効率的に使える
- 通信のたびにグローバルIPが変わる可能性がある
NAPT(PAT / IPマスカレード)
1つのグローバルIPをポート番号で区別して共有する方式。
- 家庭やオフィスで最も一般的
- グローバルIPの節約効果が高い
- 多くの端末で1つのグローバルIPを共有できる
NATのメリットとデメリット
メリット
- IPアドレスの節約:少ないグローバルIPで多くの端末を接続
- セキュリティ向上:外部から内部のIPアドレスが見えない
- 柔軟なネットワーク設計:内部のIPアドレス体系を自由に決められる
デメリット
- 外部からの接続が難しい:サーバー公開には追加設定が必要
- 一部のアプリケーションで問題:P2P通信やVoIPで不具合が出ることも
- 通信の追跡が複雑:トラブルシューティング時に手間がかかる
ポートフォワーディング(ポート転送)
NAT環境で外部からサーバーにアクセスさせたい場合、ポートフォワーディングを設定します。
ポートフォワーディングとは
「グローバルIPの特定のポートに来たアクセスを、内部の特定の端末に転送する」設定です。
例えば:
203.0.113.1:80 → 192.168.1.100:80
これにより、外部から203.0.113.1の80番ポートにアクセスすると、内部の192.168.1.100(Webサーバー)に転送されます。
クラウドとNAT
クラウド環境でもNATは重要な役割を果たします。
AWS NAT Gateway
AWSでは、プライベートサブネット内のインスタンスがインターネットにアクセスするためにNAT Gatewayを使用します。
- プライベートサブネット内のEC2からインターネットへのアクセスを許可
- 外部からの直接アクセスは拒否
- セキュリティを保ちながら外部通信を実現
まとめ
この記事のポイントを整理します。
| 項目 | 内容 |
|---|---|
| グローバルIP | インターネット上で使う世界で一意のアドレス |
| プライベートIP | 内部ネットワークで使う使い回し可能なアドレス |
| NATとは | プライベートIPとグローバルIPを変換する仕組み |
| NAPT | ポート番号も使って1つのグローバルIPを共有 |
| ポートフォワーディング | 外部からのアクセスを内部に転送する設定 |
NATは、私たちが普段インターネットを使う上で欠かせない技術です。自宅のルーターの中でも、クラウドの中でも、NATは黙々と働いています。
仕組みを理解しておくと、ネットワークのトラブルシューティングや設計がぐっと楽になりますよ!