EIGRPのコンバージェンスプロセス

ネットワークに何らかの障害が発生すると、コンバージェンス、すなわちルーティングテーブルを更新してルートを切り替えなければいけません。EIGRPのコンバージェンスプロセスとして、以下の2つのケースについて解説します。

  • フィージブルサクセサが存在するとき
  • フィージブルサクセサが存在しないとき

EIGRPのコンバージェンスプロセスで重要な用語は、以下の記事で解説しています。


フィージブルサクセサが存在するときのコンバージェンス

ある目的のネットワークについて、サクセサだけでなくフィージブルサクセサも存在するときコンバージェンスは即座に完了します。サクセサがダウンすると、フィージブルサクセサを新しいサクセサにするだけです。具体的に次のネットワーク構成で考えます。

図  フィージブルサクセサが存在する場合のコンバージェンスの例 その1
図 フィージブルサクセサが存在する場合のコンバージェンスの例 その1

話を簡単にするためにEIGRPのメトリックはとても小さいシンプルな値にしています。実際のEIGRPメトリックはもっと大きな数値になります。

R1から192.168.1.0/24へのルートを考えます。R2経由のルートのFDが最小なので、R2経由のルートがサクセサです。そして、R3経由のルートのADがFDよりも小さくなっています。R3経由のルートはフィージビリティ条件を満足しているので、フィージブルサクセサです。

もし、R1-R2間のリンクがダウンすると、ネイバーが削除され、サクセサがなくなってしまうことになります。R1はサクセサルートのダウンを認識すると、すぐにフィージブルサクセサを新しいサクセサとして選択して、ルーティングテーブルを更新してコンバージェンスが完了します。

図 フィージブルサクセサが存在する場合のコンバージェンスの例 その2
図 フィージブルサクセサが存在する場合のコンバージェンスの例 その2

フィージブルサクセサが存在しないときのコンバージェンス

次に目的のネットワークまで複数のルートが存在していても、フィージブルサクセサが存在しない場合を考えます。フィージブルサクセサが存在しないときに、サクセサがダウンするとQueryパケットで代替ルートを問い合わせます。

先ほどのネットワーク構成とよく似ていますが、R3から192.168.1.0/24までのFDが10となっている例です。R1からもR3からも192.168.1.0/24までの距離が同じです。すると、フィージビリティ条件を満足できないので、R1から192.168.1.0/24へのルートとしてR3経由のものはフィージブルサクセサにはなれません。

図 12 フィージブルサクセサが存在しない場合のコンバージェンスの例 その1
図 フィージブルサクセサが存在しない場合のコンバージェンスの例 その1

R1-R2間のリンクがダウンすると、R1にとって192.168.1.0/24のサクセサがなくなります。R3経由のルートはありますが、フィージブルサクセサではないので、すぐに新しいサクセサにしません。R1は、Queryパケットでサクセサがダウンした192.168.1.0/24の代替ルートをすべてのネイバーに問い合わせます。この例では、R1はR3に対してQueryパケットを送信します。Queryパケットで代替ルートを問い合わせていると、トポロジテーブル上では192.168.1.0/24のルートはACTIVE状態となります。

図 フィージブルサクセサが存在しない場合のコンバージェンスの例 その2
図 フィージブルサクセサが存在しない場合のコンバージェンスの例 その2

R3は、192.168.1.0/24のサクセサとしてR2経由のルートがトポロジテーブル上に存在します。R1からQueryパケットで192.168.1.0/24の代替ルートを問い合わせられると、その応答としてReplayパケットを返します。

R1はR3からReplayパケットを受信すると、R3経由のルートが192.168.1.0/24の代替ルートとして利用できることが確認できるので、新しいサクセサとしてルーティングプロトコルに登録してコンバージェンスします。サクセサが選ばれると、トポロジテーブル上では192.168.1.0/24はPassive状態になります。

図 フィージブルサクセサが存在しない場合のコンバージェンスの例 その3
図 フィージブルサクセサが存在しない場合のコンバージェンスの例 その3

以上のように、フィージブルサクセサが存在しない場合は、QueryおよびReplayパケットで代替ルートの問い合わせを行うことになります。