本社2拠点(CORE-RT-01 と SALES-RT-01)に、両方向で1本ずつ。書く本数は合わせて2本だった。書いた行はそのまま辞書に残り、構成が動かないあいだは手も空く。スタティックは「少なくて動かない網」には、最もシンプルで強い選択になる。前のシリーズの最終話は、ここまでだった。
そのとき、ひとつの言葉だけ、宙に置いたままにした。動く網には、次の道具が要る。経路本数が増え、構成が動き始めた網に近づくほど、人の手では追いつかなくなる、と。
けれど、追いつかなくなる、とは具体的にどういうことなのか。書く本数は何本に増えるのか。誰か1人が書き忘れたら何が起きるのか。そして、その追いつかなさを解こうとしている「次の道具」は、いったい何の追いつかなさを引き受けているのか。
スタティックは少なくて動かない網には強い。だが、拠点が増え、経路が変わり始めた瞬間、人の手では追いつかなくなる。動的ルーティングが解こうとしているのは、この「追いつかなさ」そのものだ。


考えてみよう
もしあなたが、支店が20ヶ所まで増えた網の担当者だったとする。深夜に、コア側のリンクが1本切れたという連絡が入る。今夜のうちに辞書を書き直さなければならないルータは、両手で数えられる範囲だろうか。指を折って、5台、10台、それ以上のどの感覚に近いか、桁感で5秒だけ先に予想してみてほしい。書き直しがどこまで伝播していくか、自分の言葉で当ててみてほしい。
1. 書いて済んだ景色 — ここから始まる
ネットスミス社の本社には、ふたつのフロアが向き合っている。
- 業務フロア(
10.1.50.0/24)に CORE-RT-01 が立っている - 営業フロア(
10.1.30.0/24)の側に SALES-RT-01 が立っている - 両者は中継の
10.1.1.0/24セグメントで隣り合っている
この2拠点が経路を渡し合えるよう、両ルータが互いの宛先を1行ずつ辞書に書き足す。CORE-RT-01 から見れば営業フロア宛の1行、SALES-RT-01 から見れば業務フロア宛の1行。両方向で、合わせて2本だ。
! CORE-RT-01 側
ip route 10.1.30.0 255.255.255.0 10.1.1.2
! SALES-RT-01 側
ip route 10.1.50.0 255.255.255.0 10.1.1.1
書いた行は、そのまま辞書に残る。show ip route を叩けば、行頭にスタティックの印がついた状態で、書いた1行が画面に並ぶ。行頭の印、プレフィックス、渡し先の3軸で、その行が何を語っているかは、もう自分の口で言える。
この規模では、スタティックの強みがそのまま効く。書いた行は勝手に消えも変わりもしないので、辞書の中身が自分の知らないところで動くことがない。新しい宛先帯が増える計画もなく、しばらく構成を変える予定もない。そういうあいだは、手がいちばん空く。
この景色のままなら、スタティックでいい。本社2拠点(CORE-RT-01 ↔ SALES-RT-01)構成は、両方向で2本のスタティックで網が回り、構成が動かないあいだはこれがいちばんシンプルで強い選択になる。
2. 増えていく景色 — 支店が10ヶ所、20ヶ所
本社2拠点だった網に、支店が増えていく場面を想像してほしい。
最初は、支店が1ヶ所だけ追加される。本社と支店が経路を渡し合えるよう、関連するルータの辞書に1行ずつ書き足す。本社2拠点のとき2本だったものが、もう何本か増える。それでも、まだ手は動く。
次に、支店が10ヶ所まで増えたとする。
各拠点と本社のあいだ、あるいは拠点同士のあいだで経路を渡し合うために、各ルータの辞書に1行ずつ足していく必要がある。本社2拠点のときは2本で済んだものが、拠点が増えるほど、関連する各ルータでさらに行が積み重なる。書く本数は、拠点の増え方に応じて組み合わせで増えていく。
さらに、支店が20ヶ所まで増えたとする。本社2拠点で2本だったものが、各拠点が互いの宛先を辞書に持つ前提では、支店が増えるほどに桁を変えて積み上がっていく。手作業の量そのものが、桁を変える。
しかも、これは書く本数だけの問題ではない。各ルータで辞書のどの位置にどの行を書くかを確認し、同じ宛先を別のルータでも書くときに書き間違いが入らないよう突き合わせ、新しい支店が増えたあとに関連する全ルータの辞書を見直す。どれもが、本数とともに増えていく。
書いた行がそのまま辞書に残ることは、構成が動かないあいだは最も強い性質だった。ところが、書く本数そのものが重荷になり始める景色では、その同じ強みがそのまま重荷に変わる。


3. 変わっていく景色 — 1本のリンクが落ちると
支店が10ヶ所、20ヶ所と並ぶ網のなかで、どこか1ヶ所のリンクが落ちたとする。回線断、機器の入れ替え、構成の組み直し、停電。理由はどれでもいい。とにかく、いま辞書に並んでいる1本の経路が使えなくなる場面だ。
ここで起きることが、ふたつある。
ひとつ目は、落ちたリンクを通る経路を持っていたルータは、その行を消すか、別の出口へ書き直す必要があるということだ。そのまま辞書に残しておくと、宛先IPで引かれたときに使えない出口へ渡してしまう。書いたものは残り続けるし、人が書き直さない限り、辞書も自動では動かない。
ふたつ目は、その書き直しは1台のルータでは終わらないということだ。落ちたリンクを通る経路を持っていたのは、リンクの両端のルータだけとは限らない。3つ4つ先のルータまでが、そのリンク経由で宛先帯にたどり着いていたかもしれない。だとすると、リンクが1本落ちただけで、書き直しは関連する全ルータへ伝播していく。
! 関連するルータA で
no ip route 10.2.5.0 255.255.255.0 10.2.4.2
ip route 10.2.5.0 255.255.255.0 10.2.7.2
! 関連するルータB でも
no ip route 10.2.5.0 255.255.255.0 10.2.4.2
ip route 10.2.5.0 255.255.255.0 10.2.7.2
! 関連するルータC でも …
書く文面は、どのルータでもほとんど同じだ。けれど、書く対象は人ごと、ルータごと、セッションごとに分かれている。夜間メンテで作業ウィンドウを取り、関連する全ルータに順番に入って、1行1行書き直していく。
ここで、もうひとつ厄介な問題が顔を出す。誰か1人が書き忘れると、その1台だけが古い行を辞書に残したまま動き続ける。宛先IPで引かれた瞬間、その1台は使えない出口へ渡してしまい、網のどこかで通信が止まる。
変動のたびに関連する全員で書き直す作業は、書く本数そのもの以上に、漏れを許さない。たった1人の漏れが、網全体の通信断につながる。
さらに、スタティックには自動で経路を学び直す性質がない。リンクが切れたあとに別経路を使わせるには、人が設計を見直して新しい行を反映するしかない。「書いた行はそのまま残る」というシンプルさの裏側には、「書き直されない限り辞書も動かない」という性質が貼りついている。
4. 動的ルーティングが解こうとしているもの
規模が増えれば書く本数が組み合わせで増え、経路が変われば書き直しが関連する全ルータへ伝播し、誰か1人の漏れで通信が止まる。別々の方向の変化だが、行き着く結果は同じだ。
人の手で辞書を書き続けるのは、ある規模を超えると現実的でなくなる。
書いた行がそのまま辞書に残るというスタティックの性質は、いまも変わらず強みのままだ。ただ、その同じ強みが、そのまま重荷に変わってしまう景色が確かに存在する。
ここで、書く側の発想を根本から1つ動かす。人が辞書に書き続けるのではなく、ルータ自身が隣のルータと情報をやり取りしながら、辞書の行を追加し、削除する。新しい宛先帯ができたら、関連するルータが情報を交換し、それぞれの辞書へ反映する。リンクが落ちたら、互いにその変化を受け取り、別経路を使うよう辞書を書き直す。ルータ自身が、隣から受け取った情報をもとに自分の辞書を更新していく。
この仕組みの総称が、動的ルーティングだ。
動的ルーティングは、何か1つのプロトコルの名前ではない。ルータどうしが情報を交換しながら経路を覚えていく仕組み全体を指す。それぞれの仕組みは、使う情報も計算方法も異なるが、根っこの動機はひとつに揃っている。人が辞書を書き続けることの追いつかなさを、ルータ自身が引き受ける。
そのなかで、最初に立てられた素朴な答えのひとつが RIP(Routing Information Protocol) と呼ばれている。


明日、構成図を眺めるときの判断軸 — 拠点の数と経路が変わる頻度
前のシリーズで、引く・書く・並べる・読む・選ぶ、と5つの動詞が手元に揃った。その上に、今回は「追いつかなくなる」の中身が加わった。人の手の限界が、規模軸と変動軸という2方向から、同じ場所へ押し出されてくる景色だ。
明日、網の構成図の前に座ったら、まず拠点の数と経路が変わる頻度を桁感で眺めてほしい。両軸が低い側に揃うなら、人が行を書き足すスタティックルートで十分だ。だが、両軸が高くなる方向に近づいているなら、いまの道具がそもそも合っているのかを立ち止まって考える。限界を超えそうなら、書く側ではなく、ルータ自身が経路を覚える動的ルーティングを呼ぶ理由がある。
動的ルーティングは、難しい設定の集まりではなく、人の手で書き続ける限界を引き受ける道具としてそこにある。
ただ、ルータ自身が経路を覚えるといっても、具体的にどんな情報をやり取りしているのか。最初の素朴な答えである RIP は、実際に何をしているのか。
その動作の中身は、次の話で扱う。隣のルータに宛先を聞くだけで、辞書の行が網全体に自動で広がっていく。その極めて素朴な仕組みに、次で出会うことになる。