ロンゲストマッチ
ルータが経路表から転送先を選ぶときの規則。宛先アドレスに一致する経路が複数あれば、プレフィックス長が最も長い(最も詳しい)経路を選ぶ。
イマシルちゃんの解説
「東京都あて」の荷物の仕分け棚と、「東京都千代田区あて」の棚があったら、
千代田区の住所の荷物は、より詳しい「千代田区」の棚に入れるよね。
ルータも同じで、宛先に当てはまる道案内がいくつかあるときは、いちばん細かく指定された道を選ぶんだ。
これがロンゲストマッチ!
大ざっぱな「その他は全部こっち」(デフォルトルート)は、最後の手段なんだよ。
より深い解説
定義
ロンゲストマッチ(最長一致)は、IPのルーティングで、パケットの宛先アドレスと経路表の各エントリーを比べ、一致する(宛先がそのネットワークに含まれる)エントリーのうち、プレフィックス長が最も長いものを選ぶ規則である。
例(IPv4)
| 経路 | 宛先 10.1.2.3 に一致するか |
|---|---|
| 0.0.0.0/0(デフォルトルート) | 一致(/0) |
| 10.0.0.0/8 | 一致(/8) |
| 10.1.0.0/16 | 一致(/16) |
| 10.1.2.0/24 | 一致(/24)→ 選ばれる |
| 10.2.0.0/16 | 一致しない |
例(IPv6)
| 経路 | 宛先 2001:db8:yyyy:5::1 に一致するか |
|---|---|
| ::/0(デフォルトルート) | 一致(/0) |
| 2001:db8:yyyy::/48 | 一致(/48)→ 選ばれる |
| 2001:db8:yyyy:3::/64 | 一致しない |
この例では、/48の経路の出口を Null(破棄)にしておくと、組織の中で使っていない /64 宛てのパケットは、デフォルトルートより長い /48 の経路に一致して破棄される。一方、使っている 2001:db8:yyyy:3::/64 宛ては、さらに長い /64 の経路があれば、そちらが選ばれる。
ほかの判断基準との関係
ロンゲストマッチは、経路の選択の最初の段階で適用される。
| 順 | 判断基準 | 内容 |
|---|---|---|
| 1 | ロンゲストマッチ | プレフィックス長が最も長い経路を選ぶ(情報源を問わない) |
| 2 | アドミニストレーティブディスタンス | 同じプレフィックスの経路が、異なる情報源(静的、OSPF、BGPなど)から得られたとき、信頼度の高い情報源を選ぶ |
| 3 | メトリック | 同じ情報源の中で、コストなどが小さい経路を選ぶ |
たとえば、OSPFで学習した /24 の経路と、静的に設定した /16 の経路がある場合、静的経路のほうが信頼度が高くても、宛先が /24 の範囲なら /24 の経路が選ばれる。
活用の例
| 例 | 内容 |
|---|---|
| 経路の集約 | 大きな範囲を1つの経路でまとめ、例外の部分だけを細かい経路で上書きする |
| Nullルート | 集約した範囲のうち、実際には使っていないアドレス宛てのパケットを捨てる。細かい経路がある宛ては、そちらが優先される |
| 経路のハイジャック | 攻撃者が、正規の経路より長いプレフィックスを広告すると、通信を引き寄せられてしまう(BGPの経路フィルタリングで防ぐ) |