ロンゲストマッチで実現できること
以下のようなネットワークを考えます。
Router4 の後ろ側には 10.1.2.0/24 - 10.1.255.0/24 の範囲があり、これらのネットワーク宛の通信は Router2 を経由させたいと思っています。
このような場合、1 つ 1 つネットワークアドレスを書くよりも、10.1.0.0/16 というネットワークにまとめてしまい、Router1 で10.1.0.0/16 宛のスタティックルートとして NextHop を Router2 に設定するほうがスマートです。
一方、Router3 と Router4 の間のネットワークは 10.1.1.0/24 で、このネットワークは Router1 からは Router3 を経由したほうが近いので、NextHop を Router3 に向けたいと思っています。
しかし、この 10.1.1.0/24 は先ほど記載したスタティックルートの 10.1.0.0/16 の範囲に含まれており、このままでは Router1 から Router2 に転送されてしまいます。
このような場合、ロンゲストマッチという原則 (ルール) により、図のようなスタティックルートを書くことで解決できます。
ロンゲストマッチとは?
このロンゲストマッチというのは、より細かいネットワーク (プレフィックス長がロンゲストのネットワーク)のルート情報を優先的に有効にする、というルールです。
10.1.0.0/16 よりも 10.1.1.0/24 というネットワークのほうが細かいため、優先され、例えば 10.1.1.50 宛の IP パケットが来たときは Router3 に転送することができます。
なお、ロンゲストマッチはAD値より優先されます。AD 値とはアドミニストレーティブ・ディスタンス値のことです。
そして (不思議かもしれませんが、) Connected よりも優先されます。つまり、10.1.1.0/24 の Connected よりも10.1.1.2/32 の Static Route が優先されるのです。
デフォルトルート
『ルーティング時のパケット破棄の原因』で説明した通り、ルーティングテーブルに無い宛先 IP のパケットが来ると、ルータはそのパケットを破棄しますが、現実にはそれはあまり起こりません。
というのも、先ほどのロンゲストマッチを応用した、デフォルトルートというものがたいていあるからです。
デフォルトルートとは宛先ネットワークが 0.0.0.0/0 となっているもので、これは全ての IP が含まれます。
このデフォルトルートを記載すると、パケットの宛先 IP とルーティングテーブルを見比べて、なかなかルート情報がなくても、最後には必ずこのデフォルトルートに引っかかります。
実世界ではインターネットの出口へのルートをデフォルトルートで書いていくことがほとんどです。
例えば、先ほどの図で、ルータ3の先にインターネットが繋がっている場合、下図のように構成することができます。
ロンゲストマッチを原則化する理由は、このデフォルトルートの考え方に起因すると言って良いでしょう。
S* の * は、デフォルトルートを示します。
コメント