ルーティングプロトコルのコンバージェンス
目次
コンバージェンスとは
ネットワーク上のすべてのルータが、すべての経路を認識している状態をコンバージェンス(収束)状態といいます。ルーティングプロトコルのアルゴリズムによって、このコンバージェンス状態に至るまでに必要とする時間(コンバージェンス時間)が異なります。
(※スパニングツリープロトコルでは、コンバージェンスとはスパにグツリーが完成することを指していましたが、ルーティングプロトコルのコンバージェンスとは、ルーティングテーブルが完成することを指しています)
ディスタンスベクタ型ルーティングプロトコルのコンバージェンス
初期状態で、ルータAとルータBによって172.16.1.0/24,172.16.2.0/24.172.16.3.0/24の3つのネットワークを接続しています。この例では、ディスタンスベクタ型ルーティングプロトコルを採用しています。ルータAはルータBとルーティングテーブルを交換することにより、この3つのネットワークを認識し、コンバージェンス状態となっています。ここで、新たにルータCを追加してから172.16.4.0/24のネットワークをルータA、ルータBが認識し、かつルータCがその他のネットワークを認識するまでに必要とする時間をコンバージェンス時間といいます。
ルータCはルータBに対して、172.16.4.0/24の経路を送信します。ルータBはルータCから受け取った経路を自身のルーティングテーブルに追加し、ルータBの定期的な間隔にしたがって172.16.4.0/24をルータAに通知します。そのため、ルータAが新しく追加された172.16.4.08/24を認識するまでに最大で2回分の定期的なアップデート間隔の時間が必要です。
大規模なネットワークになると、ディスタンスベクタ型ルーティングプロトコルはコンバージェンス時間がさらに長くなります。冗長構成をとっていて、障害時の迂回経路を確保していても経路の切り替えに時間がかかってしまいます。そのため、ディスタンスベクタ型ルーティングプロトコルは、ネットワークの拡張性があまり高くありません。
リンクステート型ルーティングプロトコルのコンバージェンス
次にリンクステート型ルーティングプロトコルの場合を考えます。ルータA、ルータB、ルータCは同じリンクステート型ルーティングプロトコルを利用している例です。新しく追加されたルータCはLSAを送信し、ルータA、ルータBへフラッディングされます。ルータAは受け取ったLSAからリンクステートデータベースを更新し、ルーティングテーブルの再計算を行うことによって、新たに追加された172.16.4.0/24のネットワークを認識することができます。
ディスタンスベクタ型ルーティングプロトコルは、コンバージェンスするまでに何回分かの定期的なアップデート間隔の時間が必要でしたが、リンクステート型ではLSAからリンクステートデータベースを更新する時間とルーティングテーブルの再計算の時間だけでコンバージェンスすることができます。このことから大規模なネットワークで障害時の迂回経路が存在する場合、リンクステート型ルーティングプロトコルであれば非常に高速に経路を切り替えることができます。そのため、リンクステート型ルーティングプロトコルは、大規模なネットワークに対する拡張性を備えているということがいえます。
ハイブリッド型ルーティングプロトコルのコンバージェンス
また、シスコ独自のハイブリッド型ルーティングプロトコルであるEIGRPは、あらかじめ利用可能なフィージブルサクセサというバックアップ用のルートを保持しています。そのため、障害が発生しても素早く経路を切り替えることができ、リンクステート型ルーティングプロトコルよりもさらにコンバージェンス時間が短くなります。
ルーティングアルゴリズムのまとめ
以下の表に、ディスタンスベクタ型ルーティングプロトコルとリンクステート型ルーティングプロトコル、ハイブリッド型ルーティングプロトコルの特徴についてまとめています。
ディスタンスベクタ | リンクステート | ハイブリッド | |
交換する情報 | ルーティングテーブル | LSA(Link State Advertisement) | ルーティングテーブル |
アップデート間隔 | 定期的な間隔 | 変更があったとき | 変更があったとき |
コンバージェンス時間 | 長い | 短い | (リンクステートより)短い |
拡張性 | 低い | 高い | 高い |
プロトコル例 | RIPv1/v2、IGRP | OSPF、Integrated IS-IS | EIGRP |