IPと経路制御 — 世界規模の住所とホップの旅

同じLAN内なら相手に直接渡せますが、地球の裏側へ届けるには話が別。IPは世界中で一意な住所を決め、ルータたちが次の1ホップだけを判断してバケツリレーします。住所の割り方(サブネット)と、経路の選び方(最長一致)、そしてパケットの寿命(TTL)を動かして体感しましょう。

1. IPアドレス — 世界でひとつの住所

IPv4アドレスは 32ビット。ふだんは 192.168.10.37 のように8ビットずつ4つに区切って10進で書きます。この32ビットは前半=ネットワーク部(どのネットワークか)と後半=ホスト部(その中の何番目か)に分かれ、境目はサブネットマスク(/24 のようなプレフィックス長)で決まります。

下でプレフィックス長を動かして、境界がどう動くか・使えるホスト数がどう変わるかを見てください。

サブネットマスクで住所を2つに割る
青=ネットワーク部、緑=ホスト部。境界(赤い点線)を右に動かすほどネットワーク部が長くなり、収容できるホスト数は半分ずつ減っていきます。/24 なら 256 − 2 = 254 台。
POINT — プレフィックスが長いほど「狭い」ネットワーク /8 は約1,678万台、/24 は254台。プレフィックス長は「先頭から何ビットを共有する仲間か」を表す。先頭が一致する相手は同じネットワーク=直接届けられ、一致しなければルータに託す。
使えるホスト数 = 2(32 − プレフィックス長) − 2 −2 は「ネットワークアドレス(全部0)」と「ブロードキャストアドレス(全部1)」の2つを除くため

2. ホップごとに宛先へ運ぶ — ルータと転送表

ルータは全世界の地図を持っているわけではありません。持っているのは転送表だけ ―「この宛先なら次はこのルータへ渡せ」という次ホップの一覧です。各ルータは受け取ったパケットの宛先を見て次の1台を選び、渡す。これを繰り返すうちにパケットは宛先へ届きます。

宛先ボタンで行き先を選ぶと、パケットが1ホップずつ進みます。各ルータを通るたびにTTL(残り寿命)が1減り、0になるとその場で破棄されます。TTLを小さくして「途中で力尽きる」様子も見てください。

ルータ網をホップで旅する
オレンジ=パケット(中の数字が残りTTL)。青くハイライトされた線が選ばれた経路。TTLが足りないと宛先の手前で💀になって落ちます。各ルータは「宛先→次ホップ」を1回引くだけで、全体の地図は要りません。
POINT — ルータは「次の1歩」だけ知っていればよい 誰も全経路を知らないのに、全員が「次ホップ」だけ正しく持てば、パケットはリレーで宛先に着く。これがホップ・バイ・ホップ転送。だから世界規模のインターネットが、1台に負担を集中させずに動く。

3. 最長一致で経路を選ぶ — ロンゲストプレフィックスマッチ

転送表には 10.0.0.0/8 のようなざっくりした行と 10.0.2.0/24 のような細かい行が混在します。宛先が複数の行に当てはまったら、どれを使う? 答えはいちばん細かく一致した行(プレフィックスが最長の行)。より具体的な指示を優先するわけです。

宛先ボタンを切り替えて、どの行が一致し、どれが勝つかを見てください。/0(デフォルトルート)は「どこにも当てはまらない全部」の受け皿です。

複数の候補から最長一致を選ぶ
緑=一致したビット、赤=食い違ったビット。先頭ビットが宛先とすべて一致した行だけが候補になり、その中でいちばん長い(★)行の次ホップが選ばれます。
一致する行のうち、プレフィックス長が最大の行を選ぶ だから経路表は「/32 の個別指定」から「/0 のデフォルト」まで、細かさの違う行を安心して混在できる

4. TTL — パケットに寿命を与える

もし転送表が誤って輪になっていたら? パケットは A→B→C→A→… と永遠にぐるぐる回り、ネットワークを溢れさせてしまいます。これを防ぐのがTTL(Time To Live)。ルータを通るたびに1ずつ減り、0になったら問答無用で破棄。ループが起きても、いつか必ず止まります。

下は経路がループしてしまった網。TTLを変えて、何ホップで救出されるか見てください。

TTLが無限ループからパケットを救う
3台のルータが輪になった誤設定。パケットはぐるぐる回りますが、TTLが尽きた瞬間に💀となり破棄。TTLがなければ止まりません。この寿命の仕組みは traceroute(経路の可視化)にも使われています。
注意 — TTLは「時間」ではなく「ホップ数」 名前は Time To Live だが、実際に減るのはルータを1つ越えるたびで、秒数ではない。初期値はOSごとに 64 / 128 などが定番。traceroute は TTL を 1,2,3… と増やしながら送り、途中で破棄したルータからの通知を集めて経路を描き出す。

5. まとめ — 住所と次の一歩

一歩先へ — CIDRとBGP、そして自律システム 「クラスA/B/C」の固定区切りをやめ、任意のプレフィックス長で住所を配れるようにしたのがCIDR(192.0.2.0/24 の /24 記法そのもの)。インターネットは無数の自律システム(AS)の集まりで、AS同士の経路情報はBGPで交換される。あなたのパケットが選ぶ「次ホップ」は、こうして世界中で共有・更新された巨大な転送表の結果なのだ。