目次
最長一致検索(ロンゲストマッチ : longest match)のポイント
最長一致検索(ロンゲストマッチ)の大事なポイントです。
ポイント
- 最長一致検索とは、ルータ/レイヤ3スイッチがIPパケットをルーティングするためにルーティングテーブルのルート情報を検索する方法です。
- 宛先IPアドレスと一致するルート情報を検索します。宛先IPアドレスとルート情報のネットワークアドレスについて、サブネットマスク分のビットが一致しているかをチェックしています。
- 宛先IPアドレスと一致するルート情報が複数ある場合は、サブネットマスクがより長いルート情報を優先します。サブネットマスクが長いルート情報はより詳しいルート情報です。
- デフォルトルート(0.0.0.0/0)は、どんなIPアドレスにも一致するルート情報ですが、もっともサブネットマスクが短いです。そのため、デフォルトルートは他に利用できるルート情報がないときだけ利用します。
以降で、こうした最長一致検索のポイントについて詳しく解説します。
最長一致検索(ロンゲストマッチ)とは
最長一致検索(ロンゲストマッチ : longest match)とは、ルータ/レイヤ3スイッチがIPパケットをルーティングするためにルーティングテーブルのルート情報を検索する方法です。
最長一致検索によるルート情報の検索は、宛先IPアドレスとルート情報のネットワークアドレスについて、サブネットマスク分のビットが一致しているかをチェックしています。具体的には、パケットの宛先IPアドレスとルート情報のサブネットマスクの論理積を計算します。その結果がルート情報のネットワークアドレスと同じであれば、そのルート情報をパケットのルーティングに利用することができます。言い換えると、宛先IPアドレスがルート情報のネットワークアドレスの範囲に含まれているかどうかをチェックしています。そして、一致するルート情報が複数ある場合、サブネットマスクのビット数が最も多いルート情報を利用して、パケットをルーティングします。
サブネットマスクが「長い」「短い」とはどういう意味?
サブネットマスクについて、連続するビット「1」の数が多いことを「サブネットマスクが長い」と表現します。連続するビット「1」の数が少なければ「サブネットマスクが短い」と表現します。たとえば、サブネットマスク「/8」よりもサブネットマスク「/24」のほうが長いということです。最長一致検索は、宛先IPアドレスに一致するルート情報のうち、サブネットマスクが最も長いルート情報を見つけることになります。
サブネットマスクが長いルート情報は、より詳しいルート情報です。ネットワークアドレスは、IPアドレスの範囲を表しています。たとえば「10.0.0.0/8」と「10.0.0.0/24」を例にします。これらのネットワークアドレスのIPアドレス範囲は以下のようになります。
ネットワークアドレス/サブネットマスク | IPアドレス範囲 |
---|---|
10.0.0.0/8 | 10.0.0.0~10.255.255.255 |
10.0.0.0/24 | 10.0.0.0~10.0.0.255 |
サブネットマスクが短い「10.0.0.0/8」は、とても多くのIPアドレスの範囲を表しています。一方、サブネットマスクが長い「10.0.0.0/24」はより限定されたIPアドレスの範囲です。サブネットマスクが長いより限定されたIPアドレスの範囲を表すルート情報は、「より詳しいルート情報」です。
CCNA試験で重要
CCNA試験(200-301)では、最長一致検索(ロンゲストマッチ)によるルーティングテーブルの検索に関わる問題がよく出題されます。CCNAを受験される方は、しっかりと把握しておいてください。
関連記事
最長一致検索の特徴を利用して、宛先ネットワークまで複数のルートがあるときに最適ルートとバックアップルートを決定することができます。詳しくは以下の記事をご覧ください。
最長一致検索の例
具体的に次のようなルーティングテーブルで考えてみましょう。
ネットワークアドレス/サブネットマスク | IPアドレス範囲 |
---|---|
10.2.0.0/24 | 10.2.0.0~10.2.0.255 |
10.2.1.0/24 | 10.2.1.0~10.2.1.255 |
10.2.2.0/24 | 10.2.2.0~10.2.2.255 |
10.2.3.0/24 | 10.2.3.0~10.2.3.255 |
10.2.0.0/22 | 10.2.0.0~10.2.3.255 |
0.0.0.0/0 | 0.0.0.0~255.255.255.255 |
このようなルーティングテーブルを持つルータに、宛先IPアドレスとして10.2.2.100が指定されているパケットが届いたとします。
各ルート情報のサブネットマスクと宛先IPアドレスの論理積を計算し、ネットワークアドレスと比較します。
これを見ると、宛先IP10.2.2.100のパケットをルーティングするために、以下の3つのルート情報を利用できます。
- 10.2.2.0/24 (この範囲内に宛先IP 10.2.2.100が含まれている)
- 10.2.0.0/22 (この範囲内に宛先IP 10.2.2.100が含まれている)
- 0.0.0.0/0 (この範囲内に宛先IP 10.2.2.100が含まれている)
この3つのルート情報の中で実際に宛先IP10.2.2.100のパケットをルーティングするために利用するのは、サブネットマスクが最も長い10.2.2.0/24のルート情報です。
サブネットマスクが短くなっている集約ルートは広い範囲のネットワーク(IPアドレス)を示していますが、個別のネットワークを識別できないおおざっぱなルート情報です。そして、サブネットマスクが長いルート情報は、より限定されたIPアドレス範囲となる詳細なルート情報です。最長一致検索を簡単に言えば、おおざっぱなルート情報と詳細なルート情報がある場合は、詳細なルート情報にしたがってパケットをルーティングするということです。
最長一致検索するからルート集約できる
複数のネットワークアドレスを集約して集約ルートをルーティングテーブルに登録すると、実際のネットアークアドレス/サブネットマスクと集約ルートのネットワークアドレス/サブネットマスクが異なります。
最長一致検索(ロンゲストマッチ)によって、パケットをルーティングするためのルート情報を検索するので、実際のネットワークアドレス/サブネットマスクとルーティングテーブル上のルート情報のネットワークアドレス/サブネットマスクが異なっていても問題ありません。
上の図のR1のルーティングテーブルには、R2の背後にある4つのネットワークについて1つずつルート情報を登録する必要はありません。「10.0.0.0/24」「10.2.1.0/24」「10.2.2.0/24」「10.2.3.0/24」の4つのルート情報を1つにまとめた「10.2.0.0/22」だけ登録すればOKです。
「10.0.0.0/24」「10.2.1.0/24」「10.2.2.0/24」「10.2.3.0/24」 の4つのネットワーク内のIPアドレスは、すべて「10.2.0.0/22」に含まれるからです。最長一致検索をするので、宛先IPアドレスが 「10.0.0.0/24」「10.2.1.0/24」「10.2.2.0/24」「10.2.3.0/24」 の4つのネットワーク内のIPアドレスであれば、すべて「10.2.0.0/22」に一致します。
ルート情報を地図にたとえると
1つ1つのルート情報を地図にたとえると、集約ルートは縮尺が小さい地図です。縮尺が小さい地図は、広い範囲をカバーしていますが、建物や道など詳細がわかりません。縮尺が大きくなると、カバーする範囲は狭くなりますが、建物や道の詳細までわかります。最長一致検索は、目的地に行くために縮尺が小さい地図よりも縮尺が大きいより詳細な地図を使うのと同じようなことです。
たとえば、新宿駅から新宿御苑に行きたいときは、以下のどちらの地図を使いますか?当然、縮尺が大きい地図1ですよね。
どちらの地図にも、目的地となる新宿御苑は載っています。でも、縮尺が小さい地図2では、新宿御苑までの細かな経路がわかりずらいです。縮尺が大きい地図1のほうが、より詳細な地図で建物や道の名前などが詳しく載せられているので目的地の新宿御苑へ到達しやすいでしょう。
ルーティングの場合も同じように考えてください。宛先IPアドレスを含むルート情報が複数ある場合には、より詳細なサブネットマスクが長いルート情報を優先します。
デフォルトルートは「最後の手段」
デフォルトルートは「Last Resort(最後の手段)」と呼ばれることがあります。デフォルトルートはあらゆるネットワークを集約している最も極端な集約ルートです。言い換えると、最も大雑把なルート情報です。
前述の例で考えたように、最長一致検索によって、デフォルトルートはどんなIPアドレスであっても一致するルート情報です。宛先IPアドレスがどのようなアドレスであったとしてもサブネットマスク「0.0.0.0」との論理積をとると、「0.0.0.0」です。そのため、必ずデフォルトルートのネットワークアドレス「0.0.0.0」と一致することになります。
ただし、いつでもデフォルトルートを利用するわけではありません。他に利用できるルート情報がない場合だけの最後の手段としてデフォルトルートを利用することになります。
なお、デフォルトルートを地図にたとえると、世界地図のようなイメージです。世界地図には世界中のあらゆる場所が載っています。(裏側のみえていない部分は無視してくださいね。あくまでもたとえです。)でも、「東京に行きたい」というときに、まず、世界地図を広げることはないでしょう。
IPルーティングのキホン
- ルータ ~ルーティングを行う中心的な機器~
- ルータでネットワークを分割
- レイヤ3スイッチ
- ルーティングの動作
- ルーティングテーブル
- ルーティングテーブルの作り方
- ホストルート ~/32のルート情報~
- スタティックルーティング?それともダイナミックルーティング? ~設定の考え方の違い~
- スタティックルーティングとダイナミックルーティング(RIP)の設定の比較
- スタティックルートのメリット・デメリット
- ルーティングプロトコルのメリット・デメリット
- ルート情報をアドバタイズする意味
- 宛先ネットワークまでの距離を計測 ~アドミニストレイティブディスタンスとメトリック~
- 等コストロードバランシング
- ルート集約 ~まとめてルーティングテーブルに登録しよう~
- デフォルトルート ~究極の集約ルート~
- 最長一致検索(ロンゲストマッチ) ~詳しいルート情報を優先する~
- インターネットのルート情報を見てみよう AT&T Looking Glass
- ルーティングプロトコルの分類 ~適用範囲~
- ルーティングプロトコルの分類 ~アルゴリズム~
- ルーティングプロトコルの分類 ~ネットワークアドレスの認識(クラスフルルーティングプロトコル/クラスレスルーティングプロトコル)~
- Cisco スタティックルートの設定
- ip default-network ~特定のルート情報に「*」をつける~
- スタティックルートをバックアップに ~フローティングスタティック~
- スタティックルートの設定を一歩ずつわかりやすく行う設定例[Cisco]
- Ciscoスタティックルーティングの設定例
- IPルーティング基礎演習Part1
- IPルーティング基礎演習Part2
- IPルーティング基礎演習Part3
- Windows PCのスタティックルートの設定 route addコマンド
- RIPの概要
- RIPの動作 ~RIPルート情報を定期的に送りつける~
- RIPスプリットホライズン
- RIPタイマ
- RIPルートポイズニング ~不要なルート情報を速やかに削除~
- Cisco RIPの設定と確認
- Cisco RIPの設定例
- RIPでのデフォルトルートの生成 ~スタティックルートの再配送~
- RIPでのデフォルトルートの生成 ~default-information originate~
- RIPでのデフォルトルートの生成 ~ip default-network~
- RIP 設定ミスの切り分けと修正 Part1
- RIP 設定ミスの切り分けと修正 Part2
- RIP 設定ミスの切り分けと修正 Part3
- RIP 設定ミスの切り分けと修正 Part4
- パッシブインタフェース(passive-interface) ~ルーティングプロトコルのパケット送信を止める~
- 転送経路を決定する方法 ~アドミニストレイティブディスタンス/メトリックと最長一致検索~
- デフォルトゲートウェイの詳細 ~ホストもルーティングしている~
- デフォルトゲートウェイの冗長化の概要
- Cisco HSRPの仕組み
- Cisco HSRP 仮想ルータ宛てのパケットがアクティブルータへ転送される仕組み
- Cisco HSRPトラッキング ~より柔軟にアクティブルータを切り替える~
- Cisco HSRP設定と確認
- Cisco HSRPの負荷分散
- HSRP 設定ミスの切り分けと修正 Part1
- VRRPの仕組み
- VRRPの設定と確認コマンド [Cisco]
- ルーティングテーブルのトラッキング(Cisco HSRP/VRRP)
- Cisco HSRP ルーティングテーブルのトラッキング設定例
- VRRP ルーティングテーブルのトラッキング設定例
- GLBPの仕組み
- Cisco GLBPの設定と確認
- Cisco GLBPの設定例
- HSRP/VRRP/GLBPのアドレス情報のまとめ