管理

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アドレスを共有してインターネットにつながっています。

ホームネットワークの図:ノートPC、スマホ、スマートテレビがプライベートIPアドレス192.168.1.23、192.168.1.24、192.168.1.30を持ち、NATを行うルーターを通って、1つのグローバルIPアドレス203.0.113.45でインターネットにつながる。Webサイトに見えるのはこのアドレスだけ
図1. 家庭内の機器にはルーターからプライベートIPアドレスが割り当てられ、NATが1つの共有グローバルIPアドレスに置き換えます。Webサイトに見えるのはそのグローバル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が次の省略ルールを定めています。

  1. 各ブロックの先頭の0を省きます(0db8はdb8、0000は0)。
  2. 0だけのブロックが続く最長の部分を、二重コロン(::)にまとめます。::は1つのアドレスに1回しか使えません。2回使うと、省いたブロック数が決まらなくなるためです。
  3. a〜fは小文字で書きます。

2001:0db8:0012:0000:0000:0000:0000:00abは、この手順で2001:db8:12::abになります。ソフトウェアは省かれた0を補い、8ブロックに戻して読みます。

IPアドレスの構造:IPv4の192.168.1.23は8ビットのオクテット4つで2進数も併記し、先頭24ビットがネットワーク部。IPv6の2001:0db8:0012:0000:0000:0000:0000:00abは16ビットの16進数ブロック8つで、2001:db8:12::abに短縮できる
図2. IPv4は10進数のオクテット4つ、IPv6は16進数のブロック8つで表します。先頭の0を省き、0が続く部分を1か所だけ::に置き換えると、IPv6アドレスを短くできます。

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にも両方のアドレスがあるかもしれません。

項目IPv4IPv6
長さ32ビット128ビット
表記10進数4つ(ドット区切り)16進数8ブロック(コロン区切り)
例192.168.1.232001:db8:12::ab
総数約43億個(232)約3.4×1038個(2128)
ループバック127.0.0.1::1
ローカル専用RFC 1918のプライベート範囲リンクローカル fe80::/10、ユニークローカル fc00::/7
不足への対処NATで1つのグローバルIPを共有機器ごとに専用アドレスを持てる
アドレス数の対数目盛バーチャート:家庭内の/24 LANは256個(2の8乗)、192.168.0.0/16は65,536個(2の16乗)、IPv4全体は約43億個(2の32乗)、IPv6の/64サブネット1つは約1.8×10の19乗個(2の64乗)、IPv6全体は約3.4×10の38乗個(2の128乗)
図3. 対数目盛では、バーの長さがアドレスのビット数を表します。標準的なIPv6サブネット1つだけで、IPv4全体の2³²倍(約43億倍)の大きさがあります。

グローバルIPとプライベートIPの違い、NATの仕組み

グローバルIPアドレスはインターネット上で重複せず、世界中から到達できるアドレスです。プライベートIPアドレスは、1996年にRFC 1918が家庭や組織の内部用に確保した範囲から割り当てられます。インターネットのルーターはこの範囲を中継しないため、何百万もの家庭が同じ192.168.1.xを使っても衝突しません。覚えておきたい範囲は次のとおりです。

範囲プレフィックスアドレス数見かける場面
10.0.0.0〜10.255.255.25510.0.0.0/816,777,216プライベート:大規模な組織
172.16.0.0〜172.31.255.255172.16.0.0/121,048,576プライベート:企業ネットワーク
192.168.0.0〜192.168.255.255192.168.0.0/1665,536プライベート:多くの家庭用ルーター
100.64.0.0〜100.127.255.255100.64.0.0/104,194,304プロバイダー内のキャリアグレードNAT
169.254.0.0〜169.254.255.255169.254.0.0/1665,536DHCP失敗時の自己割り当て
127.0.0.0〜127.255.255.255127.0.0.0/816,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アドレスを確認する方法

  1. Windows:「設定」>「ネットワークとインターネット」>「Wi-Fi」(接続中のネットワークを選択)または「イーサネット」で、「IPv4 アドレス」を見ます。コマンドプロンプトでipconfigを実行すると、IPv4・IPv6アドレス、サブネットマスク、デフォルト ゲートウェイが表示されます。
  2. Mac:Appleメニュー>システム設定>ネットワークで接続を選び、「詳細」>「TCP/IP」を開きます。
  3. ルーター:ipconfigのデフォルト ゲートウェイ(192.168.0.1や192.168.1.1が多い)をブラウザーで開くと管理画面に入れ、WAN側のアドレスがわかります。
  4. グローバルIP:「IPアドレス 確認」で検索するか、IP確認サイトを開きます。

ルーターのWAN側アドレスとグローバルIPを比べてみましょう。ルーターのWAN側が100.64.0.0/10の範囲なら、プロバイダーがキャリアグレードNAT(CGNAT)を使い、ほかの契約者とグローバルIPアドレスを共有しています。プライベートアドレスなら、手前に2台目のルーターかプロバイダー側のNATがあります。どちらの場合も、ポート開放には追加設定が必要か、使えないことがあります。

3枚のカード:使っている機器は「設定」やipconfigでプライベートIP、ルーターの管理画面でWAN側IP、IP確認サイトでグローバルIPを確認する。ルーターのWAN側IPとグローバルIPが違えば、手前にキャリアグレードNATなど別のNATがある
図4. 機器、ルーター、IP確認サイトの3か所を確認します。ルーターのWAN側アドレスがWebサイトに見えるグローバルIPアドレスと違う場合は、手前にもう1段の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の重要なネットワーク設定とタスク。

関連記事

本文の理解を助けるために制作したオリジナルイラストです。