EIGRP ルーティングについて
シスコによって開発された Enhanced Interior Gateway Routing Protocol(EIGRP)は、IGRP の拡張バージョンです。IGRP や RIP と異なり、EIGRP が定期的にルート アップデートを送信することはありません。EIGRP アップデートは、ネットワーク トポロジが変更された場合にだけ送信されます。EIGRP を他のルーティング プロトコルと区別する主な機能には、迅速なコンバージェンス、可変長サブネット マスクのサポート、部分的アップデートのサポート、複数のネットワーク レイヤ プロトコルのサポートなどがあります。
EIGRP を実行するルータでは、すべてのネイバー ルーティング テーブルが格納されているため、代替ルートに迅速に適応できます。適切なルートが存在しない場合、EIGRP はそのネイバーにクエリーを送信して代替のルートを検出します。これらのクエリは、代替ルートが検出されるまで伝搬されます。EIGRP では可変長サブネットマスクがサポートされているため、ルートはネットワークの境界で自動的に集約されます。さらに、任意のインターフェイスの任意のビット境界で集約を行うように EIGRP を設定することもできます。
EIGRP は定期的なアップデートを行いません。その代わり、ルートのメトリックが変更されたときに、部分的なアップデートを送信します。部分的アップデートの伝搬では、その情報を必要とするルータだけがアップデートされるように境界が自動的に設定されます。これらの 2 つの機能により、EIGRP の帯域幅消費量は IGRP に比べて大幅に減少します。
脅威防御では、直接接続されているネットワーク上にある他のルータをダイナミックに把握するために、ネイバー探索が使用されます。EIGRP ルータは、マルチキャスト hello パケットを送信して、ネットワーク上に自分が存在していることを通知します。EIGRP デバイスは、新しいネイバーから hello パケットを受信すると、トポロジテーブルに初期化ビットを設定してそのネイバーに送信します。ネイバーは、初期化ビットが設定されたトポロジアップデートを受信すると、自分のトポロジテーブルをデバイスに返送します。
hello パケットはマルチキャスト メッセージとして送信されます。hello メッセージへの応答は想定されていません。スタティックに定義されたネイバーは、このルールの例外です。ネイバーを手動で設定すると、hello メッセージ、ルーティングアップデート、および確認応答がユニキャストメッセージとして送信されます。
このネイバー関係が確立した後は、ネットワーク トポロジが変更された場合にだけ、ルーティング アップデートが交換されます。ネイバー関係は、hello パケットによって維持されます。ネイバーから受信した各 hello パケットには、保持時間が含まれています。保持時間は、その間に脅威防御がそのネイバーから hello パケットを受信すると想定できる時間です。デバイスは、保持時間内にそのネイバーからアドバタイズされた hello パケットを受信しない場合、そのネイバーを使用不能と見なします。
EIGRP は、ネイバー探索/回復、Reliable Transport Protocol(RTP)、および Diffusing Update Algorithm(DUAL)をルート計算に使用します。DUAL は、最小コストのルートだけでなく、宛先へのすべてのルートをトポロジテーブルに保存します。最小コストのルートはルーティング テーブルに挿入されます。その他のルートは、トポロジ テーブルに残ります。メインのルートに障害が発生したら、フィジブル サクセサから別のルートが選択されます。サクセサとは、宛先への最小コストパスを持ち、パケット転送に使用される隣接ルータです。フィジビリティ計算によって、パスがルーティングループを形成しないことが保証されます。
フィジブルサクセサがトポロジテーブル内にない場合は、ルートが再計算されます。ルートの再計算中、DUAL は EIGRP ネイバーにルートを求めるクエリを送信します。このクエリは、連続するネイバーに伝播されます。フィジブルサクセサが見つからない場合は、到達不能メッセージが返されます。
ルートの再計算中、DUAL は、ルートをアクティブとマークします。デフォルトでは、脅威防御は、ネイバーから応答が返ってくるのを 3 分間待ちます。デバイスがネイバーから応答を受信しないと、そのルートは stuck-in-active とマークされます。トポロジ テーブル内のルートのうち、応答しないネイバーをフィジブル サクセサとして指しているものはすべて削除されます。