Featured image of post IPアドレスとは?仕組みと表記形式を基礎から解説【第19回】

IPアドレスとは?仕組みと表記形式を基礎から解説【第19回】

この記事でわかること

  • IPアドレス:ネットワークをまたいで機器を識別するための「論理的な住所」
  • なぜMACアドレスとは別に必要か:MACアドレスは「場所の情報」を持たないため、別ネットワークへの転送に使えない
  • IPv4の表記形式:0〜255の数値4つをドットで区切った32ビットの形式
  • パケット:IPアドレスを宛先・送信元として含む、インターネット層の「封筒」

はじめに

前回の記事では「ネットワーク」という言葉の2つの意味を整理し、インターネット層がネットワーク同士をつなぐ役割を担うことを学びました。

自宅のパソコンでGoogleのトップページを開くとします。このとき、あなたのパソコンと「世界のどこかにあるGoogleのサーバー」が通信をしています。この2台は全く別のネットワークに属しています。ルーターはIPアドレスを手がかりに、正しい相手へデータを届けています。


MACアドレスだけでは届かない理由

第17回で、同じネットワーク内の機器識別にはMACアドレスが使われることを学びました。スイッチがMACアドレステーブルを照合して、宛先の機器だけにデータを届けていましたね。

では、なぜネットワークをまたぐときにMACアドレスでは不十分なのでしょうか。

MACアドレスには大きな弱点があります。「場所」の情報を持っていないのです。

MACアドレスはメーカーが製造時に書き込む番号で、00:1A:2B:3C:4D:5E のような形式をしています。この番号は世界で一意ですが、「この機器が今どのネットワークにいるか」という情報は含まれていません。指紋のようなものです──本人を特定できても、その人が今どこにいるかはわかりません。

🏠 自宅のネットワーク                  🌐 Googleのネットワーク
┌──────────────────────┐             ┌─────────────────────────┐
│  スマートフォン        │             │  Googleのサーバー        │
│  MAC: AA:BB:CC:DD:... │─────────── ▶│  MAC: 11:22:33:44:...   │
└──────────────────────┘             └─────────────────────────┘
           ↑
  MACアドレスに「場所」の情報はない
  自宅のルーターはGoogleのMACアドレスを知らない

世界中のすべての機器のMACアドレスとその所在地をルーターが記憶・管理するのは現実的ではありません。宅配業者が「日本中の全世帯の家の外観と住所を丸ごと暗記して配達する」ようなものです。現在インターネットに接続する機器は数百億台規模にのぼります。仮に記憶できたとしても、管理するデータ量が膨大になりすぎます。

必要なのは、「どのネットワークに属しているか」という場所の情報を含んだアドレスです。 これがIPアドレスです。


IPアドレスとは

IPアドレスの「IP」は Internet Protocol(インターネット・プロトコル) の略です。

  • Internet(インターネット):inter(〜の間)+ net(ネットワーク)= ネットワーク同士をつなぐもの
  • Protocol(プロトコル):もともとは外交の場での「議定書・手続きの取り決め」を指す言葉。ネットワークでは「通信のルール・約束事」を意味します

IPアドレスとは、「インターネット上で機器を識別するための、IPのルールに基づいた住所」です。

MACアドレスが「生まれながらに持っている固有番号(指紋)」であるのに対して、IPアドレスは**「今いる場所によって変わる住所」**です。

自宅のネットワーク機器に接続すれば自宅ネットワーク内のIPアドレスが割り当てられ、カフェのWi-Fiに接続すればそのカフェのネットワーク内の別のIPアドレスに変わります。同じパソコンでも、接続するネットワークが変われば別のIPアドレスになります。

この「場所によって変わる」という性質こそが、ルーターが経路を決める手がかりになっています。


IPアドレスが「場所の情報」を持てる理由

郵便の住所を思い浮かべてください。「東京都渋谷区〇〇町1-2-3」には、「日本の中の東京都の中の渋谷区の中の〇〇町」という階層的な構造があります。だからこそ、郵便局のスタッフは「次は渋谷の配達センターへ」と段階的に判断できます。

IPアドレスも同じ考え方をしています。IPアドレスには「このアドレスはどのネットワークに属しているか」を示す部分が含まれており、ルーターはその部分を読んで「次はどのネットワークへ転送すればいいか」を判断します。

この「どのネットワークに属しているか」を示す部分をネットワーク部、「そのネットワーク内のどの機器か」を示す部分をホスト部と呼びます。

   192.168.1  .  10
  ┌──────────┐┌──┐
  │ネットワーク部││ホスト部│
  └──────────┘└──┘
  「どのネットワーク」   「そのネットワーク内のどの機器」

この構造の詳細は次の記事で扱います。ここでは「IPアドレスには場所を示す部分がある」とだけ覚えておいてください。

同じネットワーク内の機器はIPアドレスが似ている

このネットワーク部という概念を知っていると、IPアドレスを見ただけで「この2台は同じネットワークにいる」と判断できます。

たとえば、自宅のルーターが 192.168.1.1、スマートフォンが 192.168.1.10、パソコンが 192.168.1.20 だとします。3つとも 192.168.1 という部分が共通していますね。この共通部分がネットワーク部で、3台が同じネットワーク内にいることを示しています。

192.168.1.1    ← 自宅ルーター        ┐
192.168.1.10   ← スマートフォン      │ 同じネットワーク(192.168.1 が共通)
192.168.1.20   ← パソコン            ┘

142.250.xx.xx  ← Googleのサーバー       → 別のネットワーク

一方、Googleのサーバーの 142.250.xx.xx はネットワーク部が全く異なります。だからルーターは「これは外部へ転送すべきデータだ」と判断できるわけです。


IPv4の表記形式

現在広く使われているIPアドレスは IPv4(Internet Protocol version 4) と呼ばれます。

表記形式はこうです。

   192  .  168  .   1   .   1
  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
  │ 8bit │.│ 8bit │.│ 8bit │.│ 8bit │
  └─────┘ └─────┘ └─────┘ └─────┘
              合計 32ビット

4つの数値をドット(.)で区切って並べます。それぞれの数値は 0〜255 の範囲です。

例:
  192.168.1.1      ← 自宅ルーターによく設定されるアドレス
  192.168.1.100    ← そのルーターにつながったPCに割り当てられるアドレスの例
  8.8.8.8          ← Googleが公開しているDNSサーバーのアドレス

なぜ0〜255なのか

各数値が0〜255である理由は、コンピュータが内部で 8ビット(bit) 単位でデータを扱っているからです。1ビットは0か1のどちらかです。8ビットをつなぎあわせると、0と1の並び方は256通り(2を8回かけた数)になります。256通りということは、0から255まで256種類の数を表せるということです。

IPアドレスは4つの8ビットで構成されているので合計 32ビット です。この32ビットで表せる組み合わせは約43億通り。つまりIPv4では理論上、約43億台の機器にそれぞれ異なるアドレスを割り当てられます。


MACアドレスとIPアドレスの比較

2つのアドレスの違いを整理します。

MACアドレス IPアドレス
役割 同じネットワーク内での機器識別 ネットワークをまたいだ機器識別
決まり方 製造時に書き込まれる(固定) 接続するネットワークで変わる(変動)
「場所」の情報 持っていない 持っている
使われる層 レイヤー1(ネットワークインターフェース層) レイヤー2(インターネット層)
00:1A:2B:3C:4D:5E 192.168.1.10

「届けるまでの全体の流れ」で言うと、IPアドレスが「どのネットワークのどの機器へ」という大まかな宛先を示し、宛先のネットワークに到着してからMACアドレスが「正確な機器まで」最後の一区間を届けます。2つのアドレスはバトンをつなぐように連携しています。この連携の仕組みは、後の「ARP」の記事で詳しく扱います。


データはパケットに包まれて送られる

インターネット層では、データを送るときに「宛先IPアドレス」と「送信元IPアドレス」をデータと一緒にひとまとめにして送ります。この「封筒」を パケット(packet) といいます。

Packet(パケット):「小包・小荷物」という意味。データをひとまとまりに包んで送る単位。

第17回で登場した「フレーム」はレイヤー1の封筒でした。パケットはその一つ上のレイヤー2の封筒です。実際の通信ではパケットがフレームの中に入れ子になって送られますが、その詳細は後の記事で扱います。

┌────────────────────────────────────────┐
│      パケット(インターネット層の封筒)        │
├──────────────────┬─────────────────────┤
│ 宛先IPアドレス    │  142.250.xx.xx      │ ← Googleのサーバー
├──────────────────┼─────────────────────┤
│ 送信元IPアドレス  │  192.168.1.10       │ ← 自分のスマートフォン
├──────────────────┴─────────────────────┤
│                データ本体               │
└────────────────────────────────────────┘

ルーターはこのパケットの「宛先IPアドレス」を読んで、「このデータはどのネットワークへ送ればいいか」を判断します。

※ルーターについては後の記事で扱います。ここでは、スイッチからデータを受け取って、他のネットワークに流す役目を担う機器と考えてください。


実際にデータが届くまでの流れ

スマートフォンでGoogleを開くとき、IPアドレスはこんな流れで使われます。

スマートフォン          自宅ルーター        途中のルーター群         Googleのサーバー
(192.168.1.10)                                               (142.250.xx.xx)
     │                    │                    │                    │
     │──パケット送信──────▶│                    │                    │
     │  宛先:142.250.xx.xx │──転送──────────────▶│                    │
     │                    │  宛先:142.250.xx.xx │──転送──────────────▶│
     │                    │                    │  宛先:142.250.xx.xx │

自宅のルーターはパケットの宛先IPアドレスを読み、「このアドレスは外部ネットワーク宛て」と判断してインターネットへ転送します。インターネット上の複数のルーターが「次はどこへ」とリレー形式で転送を続け、最終的にGoogleのサーバーへ届きます。

各ルーターが判断の根拠にしているのが、一貫してIPアドレスです。ルーティングの詳しい仕組みは後の記事で扱います。


IPアドレスはどこから割り当てられるのか

IPアドレスは、接続するネットワークのルーターから自動で割り当てられます。自宅のWi-Fiに接続するとき、スマートフォンやパソコンに自動でIPアドレスが配られていますね。この仕組みを担うのが DHCP(Dynamic Host Configuration Protocol) です。

  • Dynamic(ダイナミック):動的に、その都度
  • Host(ホスト):ネットワークに接続する機器のこと
  • Configuration(コンフィギュレーション):設定・構成

「接続する機器に、その都度設定を配る仕組み」という意味です。

なお、IPアドレスは自動割り当て以外に、管理者が手動で設定することもあります。DHCP機能を使うとルーター都合で機器のIPアドレスを変更する場合があります。一回ケーブルを抜いて、もう一度指した場合、などがそうですね。

なお、IPアドレスは自動割り当て以外に、管理者が手動で設定することもあります。DHCPを使うと、ケーブルを一度抜いて挿し直したタイミングなどにIPアドレスが変わることがあります。サーバーや業務用機器では「常に同じIPアドレスを持つ」ことが求められるため、手動で固定するケースが多いです。DHCPの詳しい仕組みは後の記事で取り上げます。


IPv4とIPv6

IPv4のアドレス数は約43億でしたが、スマートフォン・IoT機器・クラウドサーバーが爆発的に増えた結果、このアドレスが枯渇しはじめました。インターネットが普及し始めた1990年代には「43億もあれば十分」と考えられていましたが、2011年にはIPv4の新規割り当てが事実上停止しています。

その解決策として登場したのが IPv6(Internet Protocol version 6) です。128ビットのアドレス空間を持ち、理論上は約340澗(かん)という天文学的な数のアドレスを使えます。地球上のすべての砂粒にIPアドレスを割り当てても余るほどの数です。

IPv4の例:  192.168.1.1
IPv6の例:  2001:0db8:85a3:0000:0000:8a2e:0370:7334

現在はIPv4とIPv6が並行して使われている過渡期です。この連載ではIPv4を中心に扱いますが、「より新しい形式としてIPv6がある」とだけ押さえておいてください。


まとめ

  • IPアドレスはネットワークをまたいだ機器識別のための「論理的な住所」
  • MACアドレスは場所の情報を持たないため、別ネットワークへの転送にIPアドレスが必要
  • IPv4は32ビット、0〜255の数値4つをドットで区切った形式(例:192.168.1.1)
  • IPアドレスには「どのネットワークか」を示すネットワーク部と「どの機器か」を示すホスト部がある
  • データはIPアドレスを含む「パケット」に包まれ、ルーターにリレーされながら届けられる
  • IPアドレスは DHCP という仕組みで自動割り当てされる(詳細は後の記事で)

次の記事では、IPアドレスの内部構造──ネットワーク部とホスト部──に踏み込みます。「なぜ192.168.1.1と192.168.1.100が同じネットワーク内にいるとわかるのか」が見えてきます。