IP アドレス
IP アドレス
IP アドレスはインターネット上のコンピューターの住所である。インターネットに接続されている機器には、必ず IP アドレスが付与される。
インターネットではデータがどのように送信されるのか?
たとえば、「メールを送信する」「メッセンジャーでメッセージを送る」「インターネットショッピングで商品を購入する」といったことをしたとき、データの送受信はどのように行われるのだろうか。
実は宅配便を送ることと似ている。

宅配便が無事に相手へ届くには、「送信元住所」と「宛先住所」の情報が必要である。
宅配便の流れ
- まず「送信元住所」に近い営業所に集められる。(上の図ではソウル営業所)
- 次に「宛先住所」を見て、宛先住所に近い営業所へ送る。(上の図では釜山営業所)
- 最後に営業所から「宛先住所」へ到着する。
次に、インターネットでデータを送受信する仕組みを見てみよう。

宅配便を相手に届けるには、「送信元住所」と「宛先住所」が必要だった。
この住所はネットワークでは「IP アドレス」に該当する。コンピューター(ネットワーク機器)がネットワークに接続するには、必ず一意(重複しない値)の IP アドレスが割り当てられる。
コンピューター(ネットワーク機器)によるデータ送受信の流れは次のとおりである。
- まず「送信元 IP アドレス」に近いルーターと呼ばれるネットワーク機器(宅配営業所のような役割)へデータを送信する。
- 次にルーターは「宛先 IP アドレス」を見て、「宛先 IP アドレス」に近いルーターへ送る。
- 最後にルーターから「送信元 IP アドレス」が付与されているコンピューター(ネットワーク機器)へ届けられる。
このように、インターネット上で行われているデータ送受信の仕組みは宅配便とほぼ同じである。人が行っている作業を、ネットワーク機器(ルーター)を使って自動的に実行しているのである。
IP アドレスの仕組み
IP アドレスは誰が管理しているのか?
IP アドレスはインターネット上にあるコンピューター(ネットワーク機器)の住所である。したがって、IP アドレスは重複しないように割り当てられる。
このインターネット上の通信に欠かせない「IP アドレス」を管理しているのは、ICANN(The Internet Corporation for Assigned Names and Numbers)という非営利法人である。

ただし、世界中の情報をすべて ICANN が管理しているわけではない。ICANN の下には、北米、アジア、ヨーロッパなどの地域単位で管理する「RIR(Regional Internet Registry、地域インターネットレジストリ)」があり、その下に国単位で管理する「NIR(National Internet Registry)」、最後にインターネットサービスプロバイダー(ISP、Internet Service Provider)などの「LIR(Local Internet Registry)」が存在する。
プライベート IP アドレスとグローバル IP アドレスの違い
IP アドレスには「プライベート IP アドレス(Private IP Address)」と「グローバル IP アドレス(Public IP Address)」がある。
グローバル IP アドレスはインターネットへ接続するために必要な IP アドレスであり、プライベート IP アドレスは家庭や会社のような組織内のネットワーク(プライベートネットワーク)だけで使われる IP アドレスである。
プライベート IP アドレス
プライベート IP アドレスは、家庭や会社のような組織内のネットワーク(プライベートネットワーク)で使う IP アドレスである。組織内で重複しないようにアドレスが割り当てられる。
次はプライベート IP アドレスの例である。

上の図で左側が「プライベートネットワーク」、右側が「インターネット」であり、「プライベートネットワーク」と「インターネット」の間にはブロードバンドルーターがある。インターネットサービスプロバイダー(ISP)を利用する場合によく見られる一般的な形である。
プライベートネットワーク内のコンピューターには、プライベート IP アドレスが付与される。
プライベート IP アドレスを使うと、プライベートネットワーク内の他のコンピューターと通信できる。
しかし、プライベートネットワーク外部のコンピューターと通信するにはグローバル IP アドレスが必要である。
プライベート IP アドレスはインターネット上では通信できない。
グローバル IP アドレス
グローバル IP アドレスは、コンピューターや通信機器がインターネットを通じて通信するために必要なインターネット上の住所である。
したがって、ルーター(ブロードバンドルーター)はプライベート IP アドレスをグローバル IP アドレスへ変換してインターネットに接続する。このプライベート IP アドレスとグローバル IP アドレスを変換する方法を NAT(Network Address Translation)という。
なぜプライベート IP アドレスが必要なのか?
プライベート IP アドレスが登場した背景には、IPv4 の「IP アドレス枯渇問題」がある。IP アドレス枯渇問題とは、IP アドレスの数が不足する問題である。
IP アドレスはインターネットで通信するための住所である。したがって、IP アドレスは必ず一意(重複してはいけない)でなければならない。
そこで、すべてのコンピューターがインターネットにアクセスする必要はないという考え方のもと、組織内のコンピューターには特定範囲の IP アドレスをプライベート IP アドレスとして割り当てる仕組みが生まれた。

世界中で重複しないように割り当てなければならないグローバル IP アドレスとは異なり、プライベート IP アドレスは組織内(プライベートネットワーク)で重複しなければよい。
上の図では「プライベートネットワーク A」と「プライベートネットワーク B」のコンピューターに同じプライベート IP アドレスが付与されているが、組織(プライベートネットワーク)が異なるため問題はない。
したがって、IP アドレスを節約する仕組みがプライベート IP アドレスである。
また、プライベート IP アドレスにはセキュリティ面でも利点がある。インターネット上で通信するには、必ずルーター(ブロードバンドルーター、デフォルトゲートウェイ)を経由する。このルーターにはセキュリティ機能があるため、ルーターを通じてセキュリティ面を強化できる。
IP アドレスの定義
クラスフル(classful)方式
IP アドレスは ネットワーク部 と ホスト部 の 2 つで構成される。
ネットワーク部はどのネットワークに属するかを示すアドレスであり、ホスト部はネットワーク内のホストに割り当てられたアドレスである。

従来の IP アドレスは「クラスフル(classful)方式」だったため、ネットワーク部とホスト部が固定されていた。
| クラス | アドレス範囲 | ネットワーク部の範囲 | ホスト部の範囲 | 割り当て可能なホスト数 |
|---|---|---|---|---|
| クラス A | 0.0.0.0 ~ 127.255.255.255 | 先頭 8 ビット | 24Bit | 16,777,214 個 |
| クラス B | 128.0.0.0 ~ 191.255.255.255 | 先頭 16 ビット | 16Bit | 65,534 個 |
| クラス C | 192.0.0.0 ~ 223.255.255.255 | 先頭 24 ビット | 8Bit | 254 個 |
このような構造になっているため、たとえば 100 個の IP アドレスが必要な企業が「クラス C」を使用した場合、クラス C で割り当て可能なホスト数 254 個から必要な IP アドレス 100 個を除くと、154 個の IP アドレスが無駄になる(254 - 100 = 154)。
そこで登場したのが「クラスレス方式」である。クラスレス方式では、サブネットマスクを使って「ネットワーク部」と「ホスト部」の境界を自由に変更できるようにした方式である。
クラスレス(Classless)方式
クラスレス方式とは、サブネットマスクを使って「ネットワーク部」と「ホスト部」の境界を自由に変更できるようにした方式である。

サブネットマスクは、上の図の例のように 10 進数では「255.255.255.0」のように表記し、2 進数では「1」と「0」で表記する。
サブネットマスクが「1」の部分が「ネットワーク部」であり、「0」の部分がホスト部である。
たとえば、以前と同じように 100 個の IP アドレスが必要な企業が「クラス C」の「192.168.1.0」ネットワークを割り当てられたとする。(サブネットマスクは 255.255.255.0)
この場合、コンピューターに使用できる IP アドレスは 254 個(192.168.1.1 ~ 192.168.1.254)である。
その結果、154 個の IP アドレスが無駄になる(254 - 100 = 154)。

では、「ネットワーク部」と「ホスト部」の境界を右へ 1 つ動かしてみる。
すると、サブネットマスクが「255.255.255.0」から「255.255.255.128」へ変わる。この場合、コンピューターに使用できる IP アドレスは 126 個(192.168.1.1 ~ 192.168.1.126)である。
その結果、無駄になる IP アドレスは 26 個(126 - 100 = 26)だけになる。(予備用と考えれば無駄ではない)

このように、サブネットマスクを利用して「ネットワーク部」と「ホスト部」の境界を自由に変更し、ホストに割り当てる IP アドレスの数を調整するのが「クラスレス方式」である。
IPv4 と IPv6 の違い
IP アドレスの主なバージョンには IPv4 と IPv6 がある。IPv6 は、IP アドレスの主要なバージョンである IPv4 が不足するという「IP アドレス枯渇問題」があったため登場したバージョンである。
IPv4 では使用可能な IP アドレスが約 2 の 32 乗(約 43 億 = 4.3 x 10^9)個だったが、IPv6 では約 2 の 128 乗(約 340 澗 = 3.4 x 10^38)個が使用可能である。
IPv6 の IP アドレスは 128 ビットで表され、16 ビット単位でコロン(:)で区切られ、16 進数で表示される。
IPv6 の表記例は次のとおりである。
201a:30b8:cd01:0132:2f8a:1f30:1c02:10aa
IP アドレスを確認する方法
Windows で IP アドレスを確認する
Windows で自分の IP アドレスを確認するには、コマンドプロンプトを起動して ipconfig コマンドで確認できる。
C:\>ipconfig
Windows IP 構成
イーサネット アダプター vEthernet (Default Switch):
接続固有の DNS サフィックス . . . :
リンクローカル IPv6 アドレス . . . : fe80::1a8:2f:14f:e65b%42
IPv4 アドレス . . . . . . . . . . : 172.25.32.1
サブネット マスク . . . . . . . . : 255.255.240.0
デフォルト ゲートウェイ . . . . . :
無線 LAN アダプター ローカル エリア接続* 9:
メディアの状態 . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :
無線 LAN アダプター ローカル エリア接続* 10:
メディアの状態 . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :
無線 LAN アダプター Wi-Fi:
接続固有の DNS サフィックス . . . :
リンクローカル IPv6 アドレス . . . : fe80::6107:be9e:21cc:5dd8%14
IPv4 アドレス . . . . . . . . . . : 192.168.0.11 ----------> "192.168.0.11" が IP アドレスになる。
サブネット マスク . . . . . . . . : 255.255.255.0
デフォルト ゲートウェイ . . . . . : 192.168.0.1
イーサネット アダプター Bluetooth ネットワーク接続:
メディアの状態 . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :
ブロードバンドルーターなどを通じてインターネットに接続している場合、ipconfig コマンドで表示される IP アドレスの多くは「プライベート IP アドレス」である。
ブロードバンドルーターなどを経由しない場合は「グローバル IP アドレス」が表示される。
macOS で IP アドレスを確認する
macOS では ifconfig | grep inet というターミナルコマンドで確認できる。
% ifconfig | grep inet
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet6 fe80::a08e:1eff:fe6e:5cd7%anpi1 prefixlen 64 scopeid 0x4
inet6 fe80::a08e:1eff:fe6e:5cd9%anpi3 prefixlen 64 scopeid 0x5
inet6 fe80::a08e:1eff:fe6e:5cd8%anpi2 prefixlen 64 scopeid 0x6
inet6 fe80::a08e:1eff:fe6e:5cd6%anpi0 prefixlen 64 scopeid 0x7
inet6 fe80::bc76:eff:fe35:99b8%ap1 prefixlen 64 scopeid 0x10
inet 192.168.0.3 netmask 0xffffff00 broadcast 192.168.0.255 ----------> "192.168.0.3" が IP アドレスになる。
inet6 fe80::c4a:ec1f:c825:f3ff%en1 prefixlen 64 secured scopeid 0x11
inet6 fe80::349c:a6ff:fe51:afdd%awdl0 prefixlen 64 scopeid 0x14
inet6 fe80::349c:a6ff:fe51:afdd%llw0 prefixlen 64 scopeid 0x15
inet6 fe80::9e50:c1a4:1b3c:b91%utun0 prefixlen 64 scopeid 0x16
inet6 fe80::1d5b:41a9:12e2:c38e%utun1 prefixlen 64 scopeid 0x17
inet6 fe80::ce81:b1c:bd2c:69e%utun2 prefixlen 64 scopeid 0x18