Table of Contents
最長一致検索(ロンゲストマッチ)
複数のネットワークアドレスを集約して集約ルートをルーティングテーブルに登録すると、実際のネットアークアドレス/サブネットマスクと集約ルートのネットワークアドレス/サブネットマスクが異なります。
最長一致検索(ロンゲストマッチ)によって、パケットをルーティングするためのルート情報を検索するので、実際のネットワークアドレス/サブネットマスクとルーティングテーブル上のルート情報のネットワークアドレス/サブネットマスクが異なっていても問題ありません。

最長一致検索によるルート情報の検索は、宛先IPアドレスとルート情報のネットワークアドレスについて、サブネットマスク分のビットが一致しているかをチェックしています。具体的には、パケットの送信先IPアドレスとルート情報のサブネットマスクの論理積を計算します。その結果がルート情報のネットワークアドレスと同じであれば、そのルート情報をパケットのルーティングに利用することができます。そして、該当するルート情報が複数ある場合、サブネットマスクのビット数が最も多いルート情報を利用して、パケットをルーティングします。
最長一致検索の例
具体的に次のようなルーティングテーブルで考えてみましょう。
ネットワークアドレス | サブネットマスク |
10.2.0.0 | /24 |
10.2.1.0 | /24 |
10.2.2.0 | /24 |
10.2.3.0 | /24 |
10.2.0.0 | /22 |
0.0.0.0 | /0 |
このようなルーティングテーブルを持つルータに、送信先IPアドレスとして10.2.2.100が指定されているパケットが届いたとします。各ルート情報のサブネットマスクと送信先IPアドレスの論理積を計算し、ネットワークアドレスと比較します。






これを見ると、送信先IP10.2.2.100のパケットをルーティングするために、
- 10.2.2.0/24
- 10.2.0.0/22
- 0.0.0.0/0
の3つのルート情報を利用できることがわかります。
この中で実際にパケットをルーティングするために利用するのは、サブネットマスクが最も長い10.2.2.0/24のルート情報です。
集約ルートは広い範囲のネットワークを示していますが、個別のネットワークを識別できないおおざっぱなルート情報です。最長一致検索を簡単に言えば、おおざっぱなルート情報と詳細なルート情報がある場合は、詳細なルート情報にしたがってパケットをルーティングするということです。
ルート情報を地図だとすると
ルート情報を地図にたとえると、集約ルートは縮尺が小さい地図です。縮尺が小さい地図は、広い範囲をカバーしていますが、建物や道など詳細がわかりません。縮尺が大きくなると、カバーする範囲は狭くなりますが、建物や道の詳細までわかります。
最長一致検索は、目的地に行くために縮尺が小さい地図よりも縮尺が大きいより詳細な地図を使うということです。
たとえば、新宿駅から新宿御苑に行きたいときは、以下のどちらの地図を使いますか?当然、縮尺が大きい地図1ですよね。


デフォルトルートは「最後の手段」
デフォルトルートは「Last Resort(最後の手段)」と呼ばれることがあります。デフォルトルートはあらゆるネットワークを集約している最も極端な集約ルートです。最長一致検索によって、デフォルトルートはどんなIPアドレスであっても一致するルート情報です。ただし、いつでもデフォルトルートを利用するわけではありません。他に利用できるルート情報がない場合だけの最後の手段としてデフォルトルートを利用することになります。
なお、デフォルトルートを地図にたとえると、世界地図のようなイメージです。

IPルーティングのキホン
- ルーティングを行う中心的な機器 ~ルータ~
- ルータでネットワークを分割
- レイヤ3スイッチ
- ルーティングの動作
- ルーティングテーブル
- ルーティングテーブルの作り方
- スタティック?それともダイナミック?
- スタティックルートのメリット・デメリット
- ルーティングプロトコルのメリット・デメリット
- ルート情報の距離を計測 ~アドミニストレイティブディスタンスとメトリック~
- ルート集約 ~まとめてルーティングテーブルに登録しよう~
- デフォルトルート ~究極の集約ルート~
- 最長一致検索(ロンゲストマッチ) ~詳しいルート情報を優先する~
- ルーティングプロトコルの分類 ~適用範囲~
- ルーティングプロトコルの分類 ~アルゴリズム~
- ルーティングプロトコルの分類 ~ネットワークアドレスの認識~
- Cisco スタティックルートの設定
- スタティックルートをバックアップに ~フローティングスタティック~