IPアドレスとは、ネットワーク上の機器や通信相手を識別するための住所のような番号です。ただし、すべてのIPアドレスがインターネットから直接届く住所というわけではありません。
一言でいうと
グローバルIPはインターネット上の住所、プライベートIPは家庭や会社の中の住所、localhostは自分自身を指す特別な名前です。
4つの違い
| 名前 | 例 | 意味 |
|---|---|---|
| グローバルIP | 203.0.113.10 | インターネット上で使う住所 |
| プライベートIP | 192.168.1.20 | 家庭や会社のLAN内で使う住所 |
| localhost | localhost | 自分のPCを指す名前 |
| ループバックIP | 127.0.0.1, ::1 | 自分自身を指すIPアドレス |
203.0.113.10 は説明用のアドレスです。実在サービスの確認には使いません。
プライベートIPの範囲
IPv4では、次の範囲がプライベートIPとして予約されています。
| 範囲 | よく見る場所 |
|---|---|
10.0.0.0/8 | 会社、クラウド、VPN |
172.16.0.0/12 | Docker、会社ネットワーク |
192.168.0.0/16 | 家庭用ルーター |
プライベートIPはLAN内で再利用できます。別の家や別の会社にも 192.168.1.10 が存在してよい、ということです。
localhostと127.0.0.1
localhost は、自分のPCを指す名前です。多くの環境では 127.0.0.1 またはIPv6の ::1 に解決されます。
ping localhost
ping 127.0.0.1
開発中に http://localhost:3000 を開く場合、インターネット上のサーバーへアクセスしているのではありません。自分のPCで起動しているアプリへアクセスしています。
NATとの関係
家庭や会社のPCは、プライベートIPを使っていることが多いです。そのままではインターネットへ直接出られないため、ルーターがNATで変換します。
PC: 192.168.1.20
-> ルーターで変換
-> グローバルIPでインターネットへ出る
プライベートIPのPCがWebサイトを見られるのは、ルーターがNATで通信を中継しているためです。
自分のIPを確認する
macOS/Linuxでは次を使えます。
ip addr
ifconfig
Windows PowerShellでは次を使えます。
ipconfig
ブラウザで「自分のグローバルIP」を調べるサービスを見ると、ルーターの外側で見えているIPが表示されます。
よくある誤解
| 誤解 | 実際 |
|---|---|
192.168.x.x は世界で一意 | LANごとに再利用されます |
| localhostはインターネットのどこか | 自分自身です |
| グローバルIPなら必ず外部から接続できる | ファイアウォールやルーター設定で遮断される場合があります |
| IPアドレスだけでWebアプリに届く | 多くの場合、ポート番号も必要です |
まとめ
グローバルIPはインターネット上の住所、プライベートIPはLAN内の住所、localhostと127.0.0.1は自分自身を指します。開発、デプロイ、ネットワーク不調の切り分けでは、この違いを混同しないことが重要です。
参考リソース
- RFC 1918: Address Allocation for Private Internets
- RFC 6890: Special-Purpose IP Address Registries
- IANA: IPv4 Special-Purpose Address Registry