IPアドレスとは?IPv4とIPv6の違い、グローバルIPとプライベートIP
この記事はAIの支援を受けて原文を翻訳したものです。専門用語や数式は原文とあわせて確認してください。
IPアドレスとは、ネットワーク上でデータを正しい機器に届けるための番号で、郵便物の宛先のように、パケット1つ1つに付いています。IPv4は192.168.1.23のように10進数4つで表す32ビットの番号で、約43億個しかありません。IPv6は2001:db8::1のように16進数で表す128ビットの番号で、約3.4×1038個あります。家庭内の機器にはふつう192.168.x.xのようなプライベートIPアドレスが割り当てられ、ルーターのNAT(ネットワークアドレス変換)によって、家庭内のすべての機器が1つのグローバルIPアドレスを共有してインターネットにつながっています。
IPアドレスの役割:送信元と宛先
インターネットではデータが小さな「パケット」に分けて運ばれ、どのパケットにも送信元と宛先のIPアドレスが付いています。途中のルーターが宛先を読み取って次の中継先へ渡し、返信は送信元のアドレスへ戻ります。
厳密には、アドレスは人や機器ではなくネットワークインターフェースに付きます。Wi-Fiと有線LANを同時に使うノートPCには2つあるわけです。1つのアドレスは、同じネットワークで共通のネットワーク部と、機器を1台に絞るホスト部に分かれます。192.168.1.23/24なら先頭24ビット(192.168.1)がネットワーク部、残り8ビット(23)がホスト部で、サブネットマスクの255.255.255.0は「/24」の別の書き方です。
IPv4とIPv6のアドレスの読み方
IPv4アドレスは、32ビットを8ビットずつ4つに区切ったオクテットで、各オクテットを0〜255の10進数で書いてドットで区切ります。192.168.1.23はコンピューターの内部では11000000 10101000 00000001 00010111という2進数で扱われ、192.168.1.300のように255を超える値はアドレスとして成り立ちません。
IPv6アドレスは、128ビットを16ビットずつ8つのブロックに分け、各ブロックを最大4桁の16進数(0〜9とa〜f)で書いてコロンで区切ります。長いので、RFC 4291とRFC 5952が次の省略ルールを定めています。
- 各ブロックの先頭の0を省きます(0db8はdb8、0000は0)。
- 0だけのブロックが続く最長の部分を、二重コロン(::)にまとめます。::は1つのアドレスに1回しか使えません。2回使うと、省いたブロック数が決まらなくなるためです。
- a〜fは小文字で書きます。
2001:0db8:0012:0000:0000:0000:0000:00abは、この手順で2001:db8:12::abになります。ソフトウェアは省かれた0を補い、8ブロックに戻して読みます。
IPv4が枯渇した理由とIPv6が必要な理由
32ビットで表せるのは232=4,294,967,296通りで、80億人を超える世界の人口に1人1個も行き渡りません。一部はプライベートやマルチキャスト用にも確保済みです。アドレスの大元を管理するIANAは5つの地域インターネットレジストリ(RIR)に最後の/8ブロック(16,777,216個)を1つずつ割り振り、2011年2月3日に在庫が完全に枯渇しました。北米を担当するARINは2015年9月24日に空きを使い切り、日本が属するアジア太平洋地域でも、APNICが2011年4月15日に通常の割り振りを終えています(JPNICの解説)。
IPv6は128ビットでこの不足を解消します。総数は2128≈3.4×1038個で、標準的なサブネットの/64だけでも264≈1.8×1019個、IPv4全体の約43億倍です。IPv4とは直接通信できないため、多くのネットワークは両方を同時に動かす「デュアルスタック」で運用しており、お使いのPCにも両方のアドレスがあるかもしれません。
| 項目 | IPv4 | IPv6 |
|---|---|---|
| 長さ | 32ビット | 128ビット |
| 表記 | 10進数4つ(ドット区切り) | 16進数8ブロック(コロン区切り) |
| 例 | 192.168.1.23 | 2001:db8:12::ab |
| 総数 | 約43億個(232) | 約3.4×1038個(2128) |
| ループバック | 127.0.0.1 | ::1 |
| ローカル専用 | RFC 1918のプライベート範囲 | リンクローカル fe80::/10、ユニークローカル fc00::/7 |
| 不足への対処 | NATで1つのグローバルIPを共有 | 機器ごとに専用アドレスを持てる |
グローバルIPとプライベートIPの違い、NATの仕組み
グローバルIPアドレスはインターネット上で重複せず、世界中から到達できるアドレスです。プライベートIPアドレスは、1996年にRFC 1918が家庭や組織の内部用に確保した範囲から割り当てられます。インターネットのルーターはこの範囲を中継しないため、何百万もの家庭が同じ192.168.1.xを使っても衝突しません。覚えておきたい範囲は次のとおりです。
| 範囲 | プレフィックス | アドレス数 | 見かける場面 |
|---|---|---|---|
| 10.0.0.0〜10.255.255.255 | 10.0.0.0/8 | 16,777,216 | プライベート:大規模な組織 |
| 172.16.0.0〜172.31.255.255 | 172.16.0.0/12 | 1,048,576 | プライベート:企業ネットワーク |
| 192.168.0.0〜192.168.255.255 | 192.168.0.0/16 | 65,536 | プライベート:多くの家庭用ルーター |
| 100.64.0.0〜100.127.255.255 | 100.64.0.0/10 | 4,194,304 | プロバイダー内のキャリアグレードNAT |
| 169.254.0.0〜169.254.255.255 | 169.254.0.0/16 | 65,536 | DHCP失敗時の自己割り当て |
| 127.0.0.0〜127.255.255.255 | 127.0.0.0/8 | 16,777,216 | ループバック(機器自身) |
グローバルIPアドレスを持つのはルーターだけなので、ルーターがNAT(ネットワークアドレス変換)を行います。192.168.1.23のノートPCがWebページを開くと、ルーターは送信元を自分のグローバルIPアドレスと自分で選んだポート番号に書き換え、その組を変換表に記録し、返信が届くと逆の書き換えをして元の機器へ渡します。こうして何台もの機器が1つのグローバルIPアドレスを共有できます。副作用として、ポート開放(ポートフォワーディング)を設定しない限り、外部から家庭内の機器へ接続を始めることはできません。
動的IP・固定IPと、IPアドレスからわかること
家庭内では、ルーターのDHCPサーバーがプライベートIPアドレスを自動で貸し出すため、スマホのアドレスが今週は.24、来週は.31になることもあります。プリンターやゲーム機のように固定したい機器は、本体に手入力するより、ルーターのDHCP固定割り当て(DHCP予約)を使うほうが確実です。グローバルIPアドレスも、家庭向けの多くのプランでは動的で、数か月変わらないことも、ルーターの再起動で変わることもあります。固定のグローバルIPは、法人向けか追加オプションのサービスが一般的です。
IPアドレスが指すのは人ではなく接続です。Webサイトから見えるのはグローバルIPアドレスで、プロバイダー(ISP)や市・地域程度の所在地は調べられますが(誤ることもあります)、氏名や住所は読み取れません。ただしプロバイダーは、「いつ、どのアドレスか」から契約者を特定できます。VPNを使うと、サイトに見えるアドレスはVPNサーバーのものに置き換わります。
自分のIPアドレスを確認する方法
- Windows:「設定」>「ネットワークとインターネット」>「Wi-Fi」(接続中のネットワークを選択)または「イーサネット」で、「IPv4 アドレス」を見ます。コマンドプロンプトで
ipconfigを実行すると、IPv4・IPv6アドレス、サブネットマスク、デフォルト ゲートウェイが表示されます。 - Mac:Appleメニュー>システム設定>ネットワークで接続を選び、「詳細」>「TCP/IP」を開きます。
- ルーター:ipconfigのデフォルト ゲートウェイ(192.168.0.1や192.168.1.1が多い)をブラウザーで開くと管理画面に入れ、WAN側のアドレスがわかります。
- グローバルIP:「IPアドレス 確認」で検索するか、IP確認サイトを開きます。
ルーターのWAN側アドレスとグローバルIPを比べてみましょう。ルーターのWAN側が100.64.0.0/10の範囲なら、プロバイダーがキャリアグレードNAT(CGNAT)を使い、ほかの契約者とグローバルIPアドレスを共有しています。プライベートアドレスなら、手前に2台目のルーターかプロバイダー側のNATがあります。どちらの場合も、ポート開放には追加設定が必要か、使えないことがあります。
よくある質問
IPアドレスが192.168で始まるのはなぜ?192.168の意味は?
ルーターが、プライベート用の192.168.0.0/16の範囲から配っているためで、正常です。Webサイトに見えるのはルーターのグローバルIPアドレスです。
2台の機器が同じIPアドレスを持つことはありますか?
別々の家庭の機器なら、192.168.1.10のような同じプライベートアドレスを持てます。同じネットワーク内では競合し、少なくとも片方は通信できなくなります。グローバルIPアドレスは世界中で重複しません。
169.254.x.xというアドレスは何を意味しますか?
機器がアドレスを求めてもDHCPサーバーから応答がなく、自分でリンクローカルアドレスを割り当てた状態です。このままではインターネットに出られないため、ケーブルやWi-Fiの接続を確認し、ルーターを再起動してください。
参考資料:RFC 1918:プライベートアドレスの割り当て(英語)、RFC 4291:IPv6のアドレス体系(英語)、Number Resource Organization:IPv4フリープール枯渇の発表(英語)、Microsoftサポート:Windowsの重要なネットワーク設定とタスク。
関連記事
本文の理解を助けるために制作したオリジナルイラストです。