IPアドレスとルーティング
郵便物を送るためには、相手の「住所」が必要です。世界中に繋がっているインターネットでも、目的地を正しく識別するための住所=「IPアドレス」がすべての機器に割り当てられています。そして、送信されたデータ(パケット)は、ネットワークの交差点に置かれた中継機「ルーター」のナビゲーションによって、バケツリレーのように目的地へ運ばれます。その仕組みを解き明かします。
1. ネットワーク上の住所:IPアドレス
IPアドレス(IP Address)は、インターネットに接続されているすべてのコンピュータやスマートフォン、サーバーに割り振られる一意の「住所」です。
IPアドレスには、現在主流のIPv4と、新しいIPv6の2つの規格があります。
- IPv4(IP version 4): 32ビットの整数で住所を表現します。
192.168.1.1のように、0〜255の数字を4つドットで区切って表記します。表現できるアドレス数は約43億個($2^32$)ですが、世界中の機器の増加に伴い、すでにアドレスが足りなくなる「枯渇問題」が起きています。 - IPv6(IP version 6): 128ビットの整数で表現します(約340澗個=無限に近い数)。IPv4の枯渇問題を根本解決するために開発され、現在は徐々に移行が進んでいます。
2. グローバルIPとプライベートIPの違い
すべての機器に個別にグローバルなIPアドレスを割り当てると、あっという間にアドレスがなくなってしまいます。 そこで、IPアドレスは用途別に大きく2つに分けられて運用されています。
| 種類 | 割り当て範囲 | 特徴 |
|---|---|---|
| グローバルIPアドレス | インターネット全体 | 世界中で絶対に重複しない一意のアドレス。インターネット上のサーバー等に割り当てられます。 |
| プライベートIPアドレス | 家庭や会社などの組織内のみ | 組織の内部だけで自由に使用してよいアドレス。例えば、あなたの家のスマホとPCは、組織内(自宅LAN内)でこのプライベートIPを使用しています。 |
家庭のルーターは、外部のインターネットと通信する際、複数のプライベートIPを1つのグローバルIPに自動で変換する技術(NAT/NAPT)を使うことで、IPアドレスを大幅に節約しています。
3. データを細切れにする「パケット(Packet)」
インターネットでデータを送る際、数メガバイトある写真や数ギガバイトある動画ファイルをそのまま一つの塊として回線に流すことはありません。なぜなら、1台のPCが巨大なファイルを送り続けている間、他のPCが回線を使えなくなってしまうからです。
そこで、データは送信しやすいように、通常1,500バイト程度の小さな「荷物」に細切れにして送信されます。この細切れにされたデータ単位のことをパケット(Packet:小包)と呼びます。
各パケットの先頭には、送信元IPアドレスと宛先IPアドレスが書かれた「送り状(IPヘッダ)」が貼り付けられます。
4. ルーターによるバケツリレー:ルーティング(Routing)
宛先が書かれたパケットは、どのようなルートを通って目的のサーバーにたどり着くのでしょうか。 インターネットは、多数のネットワークがルーター(Router)と呼ばれる中継機器で網の目のように繋がってできています。
パケットが目的地まで運ばれる仕組みは、まさに郵便物の「バケツリレー」です。
- PCから送信されたパケットは、まず家庭や会社のルーターに届きます。
- ルーターは、パケットに貼られた「宛先IPアドレス」を読み取ります。
- ルーターの内部にあるルーティングテーブル(経路決定表)という道案内マップを参照し、「このIPアドレス宛なら、隣のルーターBに渡すのが最短だ」と判断し、Bにパケットを転送します。
- パケットを受け取ったルーターBも同様の判断を行い、次のルーターやプロバイダの設備へバケツリレーします。
- これを繰り返すことで、パケットは世界中を数ミリ秒から数十ミリ秒で駆け抜け、目的地であるサーバーへたどり着きます。
このルーティングの凄さは、もし途中の通信回線(例えばルーターCへの道)が地震などで切断されても、手前のルーターが自動的に別の生きているルート(ルーターB経由)へと迂回させて届けてくれる、極めて頑強な耐障害性を持っている点にあります。
次のセクションでは、ルーティングされたパケットが途中で消えたり順序が入れ替わったりした際、通信の「抜け漏れ」を監視して完璧なデータを組み立て直す「トランスポート層(TCP)」の仕組みについて学びます。