目次
ルーティングプロトコル分類の概要
RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、BGP(Border Gateway Protocol)などのルーティングプロトコルは、次の3つの観点から分類することができます。
- ルーティングプロトコルの適用範囲による分類
- ルーティングプロトコルのアルゴリズムによる分類
- ネットワークアドレスの認識による分類
2つ目のルーティングプロトコルのアルゴリズムについてみてみましょう。
ルーティングアルゴリズムによる分類
ルーティングプロトコルのアルゴリズムとして、主に次の3つあります。
- ディスタンスベクタ型
- リンクステート型
- ハイブリッド(拡張ディスタンスベクタ)型
そして、こうしたルーティングプロトコルのアルゴリズムのポイントは、次の3点です。
- 「どのような情報」を交換するか
- 「どのようなタイミング」で交換するか
- 交換した情報から「どのように」最適ルートなルート情報を決定するか
以降、3つのルーティングプロトコルのアルゴリズムについて、それぞれ3つのポイントを考えましょう。
ディスタンスベクタ型
ディスタンスベクタ型ルーティングプロトコルでは、ルータ同士でネットワークアドレス/サブネットマスク+メトリックの情報を交換します。ディスタンスベクタ型のルーティングプロトコルは、「距離」と「方向」に基づいてルートを決定するというように説明されていることが多いです。具体的に、距離とはメトリックです。そして、方向はネクストホップとインタフェースです。ディスタンスベクタ型ルーティングプロトコルのルート情報の送信を簡単に示したものが次の図です。
R1は192.168.1.0/24のネットワークのルート情報をR2とR3から受信しています。R2から送信されたルート情報にはメトリック10が含まれていて、R1のインタフェース1で受信しています。R1から見ると、192.168.1.0/24のネットワークはインタフェース1のR2の方向で距離10だけ離れていることになります。同様にR3から送信された192.168.1.0/24のルート情報に含まれるメトリックは5で、R1はインタフェース2で受信します。つまり、R1から192.168.1.0/24のネットワークは、インタフェース2のR3の方向で距離5だけ離れています。
また、ディスタンスベクタ型ルーティングプロトコルではネットワーク構成に何も変更がなくても定期的にルート情報を交換します。定期的にルート情報を交換することで、他のルータがきちんと動作していることやリモートネットワークがダウンしていないことを確認しています。
そして、交換したルート情報から最適ルートを決定するために、ベルマンフォードアルゴリズムを採用しています。簡単に言えば、メトリックが最小のルート情報が最適ルートとしてルーティングテーブルに登録されるようになります。
具体的なディスタンスベクタ型ルーティングプロトコルは、RIPv1およびRIPv2です。
RIPについて以下の記事でより詳しく解説しています。
リンクステート型
リンクステート型ルーティングプロトコルでは、ルータは自分が持っているインタフェースの情報を交換します。インタフェースの情報をリンクステート情報(Link State Advertisement : LSA)と呼びます。LSAの中には、そのルータがどのようなインタフェースを持っていて、どのようなタイプのネットワークに接続されていて、IPアドレスや、帯域幅についてなどの情報が入っています。なお、LSAの交換は何らかの変更があったタイミングで行います。このLSAを集めて、リンクステートデータベース(Link State Data Base : LSDB)を作成します。
LSDBには、ネットワーク上のルータのLSAがすべて含まれています。つまり、LSDBを見れば、ネットワーク上にルータが何台存在していて、各ルータがどんなインタフェースをいくつ持っていて、他のルータとどのように接続されているか、というネットワーク構成を再現することができます。
LSAを交換して作成したLSDBから、最適ルートを決定するためにSPF(Shortest Path First)アルゴリズムを採用しています。LSDB内のルータ自身を起点として、リモートネットワークへの最小コストとなるルートを最適ルートとしてルーティングテーブルに登録します。
具体的なリンクステート型ルーティングプロトコルは、OSPFとIS-ISです。次の図は、OSPFの動作を簡単に表したものです。
OSPFについて以下のリンクよりより詳しい解説をご覧いただけます。
ハイブリッド(拡張ディスタンスベクタ)型
ハイブリッド(拡張ディスタンスベクタ)型は、Ciscoが独自にディスタンスベクタ型を拡張したルーティングアルゴリズムです。ベースはディスタンスベクタなので、ルータ同士が交換する情報は、ネットワークアドレス/サブネットマスク+メトリックです。ただし、定期的ではなく、ネットワークに変更があったときのみ交換します。
交換したルート情報からDUAL(Diffusing Update ALgorithm)によって、最適ルートを決定します。簡単に言えば、DUALでもメトリックが最小のルート情報が最適ルートになり、ルーティングテーブルに登録されます。またDUALでは、最適ルートだけでなく利用可能なバックアップルートもあらかじめ決めておきます。利用可能なバックアップルートがあれば、障害発生時のコンバージェンスを非常に高速に行うことができます。
ハイブリッド型ルーティングプロトコルの具体的な例は、CiscoのEIGRPです。
Cisco EIGRPについて以下のリンクからより詳しい解説をご覧いただけます。
ルーティングアルゴリズムのまとめ
次の表にルーティングアルゴリズムの特徴をまとめています。
ディスタンスベクタ | リンクステート | ハイブリッド | |
情報 | ネットワークアドレス/サブネットマスク+メトリック | リンクステート情報 | ネットワークアドレス/サブネットマスク+メトリック |
タイミング | 定期的 | 変更時 | 変更時 |
決定 | ベルマンフォード | SPF | DUAL |
プロトコル例 | RIPv1/v2 | OSPF、IS-IS | EIGRP |
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のアドレス情報のまとめ