ロンゲストマッチとは、ルーターが宛先への経路を選ぶとき、最も詳細に一致する経路を優先するというルーティングの基本ルールです。
「最長一致」とも呼ばれ、ネットワークの通信経路を決める根幹の仕組みになっています。
この記事では初心者向けの概要から、ビット単位の動作・実機での高速化まで段階的に解説します。
ロンゲストマッチとは何か?
ロンゲストマッチ(Longest Match)とは、ルーターがパケットの転送先を決める際に、ルーティングテーブルの中からサブネットマスクが最も長く一致するエントリを選択する動作のことです。
ルーターは同じ宛先に対して複数の経路情報を持っていることがあります。
その複数の候補の中から「より具体的に範囲を絞り込んでいる経路」を優先します。
これがロンゲストマッチです。
たとえるなら、住所の指定が「東京都宛て」と「東京都千代田区一番地宛て」の2つがあったとき、
より詳しい「千代田区一番地」の方を選ぶ、というイメージです。
ロンゲストマッチの仕組み(基本編)
宛先IPアドレスが「192.168.1.10」のパケットが届いたとします。
ルーティングテーブルに次の2つの経路があると仮定します。
| 宛先ネットワーク | プレフィックス長 | 一致範囲 |
|---|---|---|
| 192.168.0.0/16 | /16 | 広い |
| 192.168.1.0/24 | /24 | 狭い(具体的) |
どちらも「192.168.1.10」に一致しますが、
プレフィックス長が長い(=より具体的な)「192.168.1.0/24」が選ばれます。
宛先:192.168.1.10
↓
/16 も /24 も条件に一致
↓
より長い /24 を優先(ロンゲストマッチ)
↓
/24 の経路へ転送
プレフィックス長(/24 などの数字)が大きいほど、
ネットワークを細かく特定していることになり、優先度が高くなります。
ロンゲストマッチのメリット・デメリット
メリット
- 柔軟な経路制御ができる:大まかな経路と詳細な経路を共存させられる
- 効率的なルーティングが可能:宛先に最適な経路を自動で選べる
- 集約と例外の両立:経路集約しつつ特定経路だけ別扱いできる
デメリット
- 設定ミスが見つけにくい:意図しない経路が優先される設計ミスが起こりうる
- トラブルシューティングが複雑:経路が多いとどれが選ばれるか追いにくい
- 理解が前提:仕組みを理解していないと予期せぬ転送が起きる
ロンゲストマッチの仕組み(詳細編)
ここからは「なぜ最長一致で選べるのか」をビット単位で掘り下げます。
仕組みを正確に理解したい方向けの内容です。
大前提:ルーターは「ビット列」で照合している
私たちは「192.168.1.0/24」と十進数で見ますが、
ルーターの内部ではすべて2進数(ビット列)で処理されています。
192.168.1.10 を2進数にすると:
11000000.10101000.00000001.00001010
ルーターは宛先アドレスのビット列と、各エントリのビット列を先頭から1ビットずつ照合します。
プレフィックス長 =「先頭から何ビットの一致を要求するか」
/16 → 先頭16ビットが一致すればOK(条件がゆるい)
/24 → 先頭24ビットの一致が必要(条件が厳しい)
プレフィックスが長いほど多くのビットの一致を要求する、
つまりより厳密に宛先を絞り込んでいることになります。
ビット単位で照合を追う
宛先アドレス:
11000000.10101000.00000001.00001010
【経路A】192.168.0.0/16(先頭16ビットを比較)
11000000.10101000 → 一致 ✓
【経路B】192.168.1.0/24(先頭24ビットを比較)
11000000.10101000.00000001 → 一致 ✓
両方一致しますが、より長く一致した24ビットの経路Bが採用されます。
24ビット分まで宛先を特定できている経路の方が、正確な行き先だと判断されるためです。
ルーター内部の処理フロー
①パケットの宛先IPを取り出す
↓
②ルーティングテーブルの全エントリと照合
↓
③マッチしたエントリを全部リストアップ(/16も/24も候補)
↓
④その中でプレフィックス長が最大のものを選ぶ
↓
⑤その経路のnext hop(次の転送先)へ送る
マッチする経路は複数あってよく、その候補の中から「最長」を1つ選ぶ、という2段階処理です。
実機での高速化
毎秒膨大なパケットを処理するため、実際の機器では高速に最長一致を引く技術が使われます。
・トライ木(Trie / Radixツリー)
→ ビット列を木構造で管理し、たどるだけで最長一致を発見
・TCAM(専用ハードウェアメモリ)
→ 全エントリを並列照合し、ほぼ1クロックで最長一致を返す
→ ハイエンドルーター/L3スイッチで採用
ロンゲストマッチの具体的な使われ方・活用例
デフォルトルートとの共存 ロンゲストマッチが最も活きる典型例です。
ルーティングテーブル:
0.0.0.0/0 → ISP(デフォルトルート・最も広い)
10.0.0.0/8 → 社内拠点全体
10.1.1.0/24 → 特定部署のサーバー群
宛先が 10.1.1.5 のとき:
・0.0.0.0/0 → 一致(0ビット)
・10.0.0.0/8 → 一致(8ビット)
・10.1.1.0/24 → 一致(24ビット)★最長
↓ 10.1.1.0/24 へ転送
宛先が 8.8.8.8 のとき:
・0.0.0.0/0 だけが一致
↓ デフォルトルート(ISP)へ転送
「具体的な宛先は専用経路へ、それ以外は全部デフォルトへ」という制御が、
ロンゲストマッチひとつで自動的に実現できます。
特定ネットワークの例外処理 通常はまとめて転送しつつ、特定サブネットだけ別経路へ流したい場合、より長いプレフィックスの経路を追加するだけで実現できます。
インターネットの経路制御(BGP) 世界中のルーターが経路を交換するBGPでも、
最長一致の原則が経路選択の基礎として機能しています。
よくある質問(FAQ)
Q. ロンゲストマッチとアドミニストレイティブディスタンスの違いは?
A. ロンゲストマッチは「プレフィックス長」で経路を選ぶ仕組みです。
アドミニストレイティブディスタンスは、同じプレフィックス長の経路が複数あるとき、
どのルーティングプロトコルを信頼するかを決める指標です。まずロンゲストマッチが優先されます。
Q. プレフィックス長が同じ経路が複数あるとどうなりますか?
A. その場合はアドミニストレイティブディスタンスやメトリックといった次の基準で経路が選ばれます。
Q. デフォルトルートは必ず最後に選ばれますか?
A. デフォルトルート(/0)は最も範囲が広いため、
他に一致する経路があればそちらが優先され、結果として該当経路がないときだけ使われます。
まとめ
ロンゲストマッチとは、ルーターが宛先に対して最もプレフィックス長の長い(具体的な)経路を優先するルーティングの基本原則です。
内部ではIPをビット列で照合し、複数マッチする中から最長を選び、実機ではTrie木やTCAMで高速に処理しています。経路集約とデフォルトルートを両立させる、ネットワークの根幹を支える仕組みです。
