ルーティング構築パズル
ネットワーク上のルーターに、自分で経路(ルート)を設定してパケットを目的地まで届けるパズルです。ルーターは「直接つながっていないネットワーク」への行き方を知らないので、それをあなたが教えてあげます。行きと帰りの両方が通ればクリアです。
ルーティングとは
ルーティングは、パケット(データの小包)を宛先まで「どの隣のルーターに渡せばよいか」を判断する仕組みです。各ルーターはルーティングテーブルという地図を持っていて、「このネットワーク宛なら、次はこの相手(ネクストホップ)に渡す」という行を並べています。
自分に直接つながっているネットワークは設定しなくても分かりますが、離れたネットワークへの行き方は、誰かが教えない限り分かりません。それを手動で書くのが静的ルートです。
L2スイッチとL3ルーターの違い
このパズルに出てくる「L2 SW(レイヤー2スイッチ)」は同じネットワークの中だけでフレームを中継する機器で、ルーティングはしません(だから設定不要)。一方ルーター(レイヤー3)は、異なるネットワークの間をまたいでパケットを転送する機器で、ここに経路設定が必要になります。「同じネットワーク内=スイッチ、ネットワークをまたぐ=ルーター」という役割分担が、ネットワーク設計の基本です。
デフォルトルート(0.0.0.0/0)
レベル2で登場する 0.0.0.0/0 は「どの宛先にも一致する、最後の受け皿」です。個別の経路をすべて書く代わりに、「具体的に分からない宛先は、とりあえずこの方向へ送る」という1行で済ませられます。家庭やオフィスのルーターが、社内以外のすべての通信をプロバイダー(インターネット)へ流すのも、このデフォルトルートの働きです。
複数の経路が宛先に一致する場合、ルーターはより詳しい(プレフィックスが長い)経路を優先します(最長一致)。だから具体的な経路とデフォルトルートが両方あっても、具体的な方が使われます。
基本情報技術者試験ではこう出る
科目Aのネットワーク分野で、ルーティングテーブルを読んで「この宛先IPのパケットはどのインタフェース/ネクストホップに転送されるか」を問う問題が頻出します。判断のポイントは本パズルと同じで、① 宛先がどのネットワークに属するか、② テーブルの中で最も長く一致する経路はどれか、の2点です。デフォルトルート 0.0.0.0/0 は「他に一致する経路がないときだけ使われる」点も狙われます。サブネットの計算が必要なときは、当サイトのCIDR計算機で検算できます。
よくある質問
Q. 行きは届くのに、応答が返らないのはなぜ?
A. 通信は往復で成立します。行きの経路だけ設定して帰りの経路を忘れると、相手まで届いても応答が戻れません。両方向それぞれに経路が必要です(パズルでも往復できて初めてクリアになります)。
Q. 実際のルーターでも手で経路を書くの?
A. 小規模では静的ルートを手で書きます。大規模になると、ルーター同士が経路情報を自動交換するルーティングプロトコル(OSPF、BGPなど)を使い、経路が自動で行き渡るようにします。考え方の土台は本パズルと同じです。