Enhanced Interior Gateway Routing Protocol(EIGRP)は、Diffusing Update Algorithm(DUAL)に基づく高度なディスタンスベクトル プロトコルです。 このプロトコルは、ネイバーからのルート アドバタイズメントに基づいて、特定の宛先へのループフリーなパスをすべて(着実に)検出する機能を持ちます。宛先への最適パスを持つネイバーは、後継ルータと呼びます。宛先へのループのない径路を持つ他のネイバーは、使用可能な後継ルータ(feasible successor)と呼びます。ネットワークでのトラフィック負荷を減少させるため、EIGRP は、ネイバー関係を維持し、宛先へのすべてのループのない径路が落ちた場合に、代替パスを見つけ出すためにクエリ ープロセスを使用することで、必要な場合のみルーティング情報の交換を行います。
このドキュメントに特有の要件はありません。
このドキュメントの情報は、Cisco IOS® ソフトウェア リリース 12.0 に基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
有効なサクセサが存在するルートは「パッシブ」状態であると言われます。何らかの理由で、ルータが後継ルータ経由のルートを喪失し、そのルートに実行可能な後継ルータがない場合、そのルートは「アクティブ」状態になります。アクティブ状態になると、ルータはネイバーにクエリーを送信して、失われたルートへのパスを要求します。
EIGRP ネイバーはルートに関するクエリーを受信すると、次のように動作します。
現在EIGRP トポロジ テーブルにこのルートのエントリが含まれていな い場合は、ルータは即座に、このネイバーを通るこのルートへの経路がないことを示す到達不能メッセージにてクエリーに応答します。
EIGRP トポロジ テーブルに、このルートの後継ルータとしてクエリーを送信したルータが記載されており、使用可能な後継ルータが存在する場合は、使用可能な後継ルータが後継ルータとして採用され、ルータはすぐにクエリーに応答します。
クエリー送信元のルータがこのルートのサクセサとして EIGRP トポロジ テーブルに登録されていて、フィージブル サクセサが存在しない場合、ルータは(前のサクセサと同じインターフェイスにつながるネイバーを除き)すべての EIGRP ネイバーにクエリーを送信します。ルータは、このルートに関して発信されたすべてのクエリーへの応答を受信するまで、クエリー送信元のルータに応答しません。
この宛先のサクセサではないネイバーからクエリーを受信した場合、ルータは自身のサクセサ情報を使用して応答します。
DUAL-3-SIA エラー メッセージは、EIGRP ルートが「stuck in active」(SIA)状態であることを示します。
SIA 状態とは、EIGRP ルータが指定された時間(約 3 分)以内に 1 つ以上のネイバーからクエリーに対する応答を受信できなかったことを意味します。 これが発生すると、EIGRP は、応答を送信 していないネイバー関係を消して、アクティブになったルータのDUAL-3-SIA エラーメッセージをログに出力します。
例として、次のトポロジについて考察します。
R2 は R1 経由でネットワーク 10.1.2.0/24 について学習します。
R1 と R2 の間のリンクがダウンします。R2 は、10.1.2.0/24 の後継ルータ(R1)を失います。
R2 は EIGRP トポロジ テーブルを参照してフィージブル サクセサ(到達可能条件を満たす 10.1.2.0/24 へのルートを持つ別のネイバー)を探しますが、ここでは存在しません。
R2 は 10.1.2.0/24 に関してパッシブからアクティブに移行します。
R2 は、R3 および R5 に ネットワーク10.1.2.0/24 への別のパスがあるか問い合せます。SIA タイマーが起動します。
R5 は EIGRP トポロジ テーブルを参照してフィージブル サクセサを探しますが、ここでは存在しません。
R5 は 10.1.2.0/24 に関してパッシブからアクティブに移行します。
R5 は自身の EIGRP ネイバー テーブルを参照して、R2(10.1.2.0/24 の前のサクセサ)に面したインターフェイスを介して EIGRP ネイバーを探します。
代替パスが存在せず、クエリーを送信する他のネイバーも存在しないため、R5 は unreachable メッセージを使用して応答します。
R5 は 10.1.2.0/24 に関してアクティブからパッシブに移行します。
R3 は EIGRP トポロジ テーブルを参照してフィージブル サクセサを探しますが、ここでは存在しません。
R3 は 10.1.2.0/24 に関してパッシブからアクティブに移行します。
R3 は自身の EIGRP ネイバー テーブルを参照して、R4 を見つけます。
R3はネットワーク10.1.2.0/24のクエリーをR4に送信します。SIAタイマーが開始します。
ここで、R4 は、R3 と R4 間のリンクの問題、または輻輳のいずれかによりクエリーを受信しなかったとします。R3のshow ip eigrp neighborコマンドまたはshow ip eigrp topology activeコマンドを発行して、この問題を表示できます;the queue count for R4 should be higher than usual.
R2 の SIA タイマーが約 3 分に達します。
R3 は R4 からの応答を受信するまで R2 のクエリーに応答できません。
R2 はネットワーク 10.1.2.0/24 に関する DUAL-3-SIA エラーをログに記録し、R3 とのネイバー関係をクリアします。
DEC 20 12:12:06: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor 10.1.4.3 (Serial0) is down: stuck in active DEC 20 12:15:23: %DUAL-3-SIA: Route 10.1.2.0/24 stuck-in-active state in IP-EIGRP 1. Cleaning up
R4 に対する R3 の再試行タイマーが時間切れになります。
注:このイベントは、R3のSIAタイマーが3分に達する可能性があるため、R3がDUAL-3-SIAエラーを報告するのを防ぎます。
R3 が R4 とのネイバー関係をクリアします。
R3 は自身のログに次のエラーを記録します。
DEC 20 12:12:01: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor 10.1.5.4 (Serial1) is down: retry limit exceeded
この時点で R3 は R2 のクエリーに対して到達不能メッセージを返します。
R4 は自身のログに次のエラーを記録します。
DEC 20 12:12:06: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor 10.1.5.3 (Serial0) is down: peer restarted
注:DUAL-5-NBRCHANGEメッセージは、EIGRPプロセスでeigrp log-neighbor-changesコマンドを設定した場合にのみ表示されます。EIGRP の SIA の問題を解決できるように、すべての EIGRP ルータでこのコマンドを設定することを推奨します。これ以外には、EIGRP ネイバーがリセットされる原因を調べたり、ネイバー関係をリセットしたルータを特定する方法はありません。
上記のように、DUAL-3-SIA エラーは、同時に発生した 2 つの関連性のない問題によって発生します。
R1とR2の間のインターフェイスの問題により、10.1.2.0/24ルートがR2から消えます。ルートフラップは、実際のリンク障害以外が原因である可能性があります(たとえば、リモートユーザが切断され、PPP派生ホストルートが削除されます)。
R3 と R4 の間のインターフェイス、輻輳、または遅延の問題。
SIA エラー メッセージが発生した場合、これは、EIGRP ルーティング プロトコルが指定のルートの収束に失敗したことを示します。通常、この失敗は、インターフェイスのフラッピング、設定の変更、またはダイヤルアップ クライアント(ルート消失は正常)によって発生します。 他の宛先へのルーティングは、EIGRP プロセスが指定のルートでアクティブ状態の場合は影響 を受けません。応答を返さなかったネイバーの SIA タイマーが時間切れになると、そのネイバーとのネイバー関係はクリアされます(EIGRP は時間切れになったネイバーの状態を信頼しません)。 結果として、そのネイバーを超えるトポロジ テーブル上のすべてのルートは、消去されるため、再度収束する必要があります。つまり、転送テーブルは SIA の影響を受ける可能性があり、ネットワークのコンバージ中にはパケットが廃棄される可能性があります。
このセクションでは、SIA の問題のトラブルシューティングに必要な手順と、SIA の問題の一般的な原因について説明しています。
SIA はさまざまな原因で発生しますが、この問題に対しては常に同じ方法で対処する必要があります。
SIA エラーのトラブルシューティングを行うときは、(緊急度の高い順に並べられた)次の 2 つの質問に答えることにより、考えられる原因を特定する必要があります。
ルータがすべてのネイバーから応答を受信しなかった理由は何か。
ルートが消失した理由は何ですか。
注:Cisco Bug ID CSCdp33034(登録ユーザ専用):Cisco IOSソフトウェアリリース12.1(4.4)Eで有効です。SIAの問題を解決するために、次の機能拡張が行われています。
ルータが SIA イベントの発生元への証跡を残す。
障害が発生しているリンクに SIA イベントの検出と修正がプッシュされる。
トラブルシューティングの詳細情報を収集するこれらのコマンド:
両端のshow ip eigrp neighbors
show log | in DUAL
show ip eigrp topology active
残念ながら、この質問は、SIA のトラブルシューティングで最も難しい部分です。デフォルトでは、SIA タイマーは 3 分強に設定されているので、応答のないルータをこの時間内に突き止める必要があります。これを行うには、ネットワークのすべてのルータとその IP アドレスを含むネットワーク トポロジ図が必要です。また、各ルータに Telnet パスワードが必要です。
これらの情報を入手したら、SIA を報告しているルータのところへ行き、そのルートまたは他のルートがアクティブ状態に移行するかどうかを監視します。ルータでアクティブになっているルートを調べるには、show ip eigrp topology active コマンドを発行します。通常時でも、このコマンドを発行すると、アクティブなルートがいくつか表示されます。アクティブの手順は、単独で、問題は見られない;1 分以上アクティブだったルートに特に注意してください。
R2# show ip eigrp topology active IP-EIGRP Topology Table for process 1 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status A 10.1.2.0 255.255.255.0, 1 successors, FD is 2733056 1 replies, active 0:00:38, query-origin: Multiple Origins !--- The output above will appear on one line. via 10.1.4.3 (Infinity/Infinity), r, Serial0, serno 1232 via 10.1.6.5 (Infinity/Infinity), Serial1, serno 1227
上記の出力は、EIGRPが10.1.2.0/24で38秒間アクティブであり、2つのネイバーに対してクエリーを行い、10.1.4.3からの応答を待っていることを示しています。小文字のrは、ルータがクエリーへの応答を待っていることを示します。大文字の R は、このネイバーからの応答をすでに受信したことを示します。このコマンドを発行した際のトポロジ テーブルの状態によっては、「Remaining Replies」と呼ばれる別のセクションのネイバーも参照できます。
EIGRP がどのルータからの応答を待っているかを特定したら、そのルータに Telnet 接続して、EIGRP が何を待っているかを確認できます。この手順を繰り返すと、クエリーに応答していない実際のルータへ最終的にたどり着けます。このルータを特定したら、そのルータがクエリーに応答していない原因のトラブルシューティングを行います。いくつかのよくある原因を次に説明します。
EIGRP は、Cisco IOS ソフトウェア リリース 10.3(11)、11.0(8)、および 11.1(3) で拡張されました。 これらの拡張機能の一つは、単一のEIGRPプロセスがそのリンクで使用可能な帯域幅の50以上使用できません;マルチポイント インターフェイスでは異なる場合があります。このパーセンテージを調整できます。この拡張ではペーシングが使用されるので、輻輳したリンク上でも EIGRP パケットをより確実に配信できます。パケット ペーシングの詳細については、ホワイト ペーパー『Enhanced Interior Gateway Routing Protocol』を参照してください。
インターフェイスまたはサブインターフェイスの bandwidth 文が適切に設定されていない場合は、EIGRP データ パケットのペーシングが適切に行われません。シリアル インターフェイスの帯域幅パラメータのデフォルト値は T1 または 1500 kbps です。フラクショナルまたはチャネライズドT1インターフェイスなど、T1以外のシリアルインターフェイスの場合、このパラメータは、インターフェイスのクロックレートに基づいて正しい帯域幅を反映するように手動で設定する必要があります。EIGRP のパス選択に影響を与えることを目的として帯域幅パラメータを使用することは避けてください。
冗長パスの場合、ルーティング プロトコルに別のパスではなく特定のパスを強制的に選択させる一般的な方法は、インターフェイスの帯域幅パラメータを修正することです。特定のインターフェイスの帯域幅値を意図的に低く設定すると、ルーティング プロトコルはそのインターフェイスを経由するパスを使用しなくなります。この帯域幅設定は EIGRP のパケット ペーシングにも使用されるため、EIGRP ではこの方法を避ける必要があります。インターフェイス ベー スで EIGRP パス選択に意図的に変更したいときには、遅延インターフェイス構成パラメータを変更してください。
帯域幅パラメータがインターフェイスまたはサブインターフェイスで実際に利用可能な帯域幅に設定されていることを常に確認する必要があります。
ルーティング ループも SIA エラーの原因になります。この問題は show ip eigrp topology active コマンドを使用して識別できます。応答がない EIGRP クエリーの循環パターンが見つかった場合は、ルーティング ループの問題としてトラブルシューティングを続行します。
--- R1 --- interface Ethernet0 ip address 10.1.1.1 255.255.255.0 ip address 10.2.1.1 255.255.255.0 secondary ! --- R2 --- interface Ethernet0 ip address 10.2.1.2 255.255.255.0 !
上の例では、R1 が R2 から EIGRP hello パケットを受信し、R2 を EIGRP ネイバーと見なします。ただし、R1 の hello パケットは、10.1.1.1 をソースとし、R2 が認識するサブネットではないため、R2 は R1 をネイバーとみなしません。最近のバージョンの Cisco IOS ソフトウェアでは、R2 から neighbor not on common subnet エラーが返されます。このエラーが返されると、R1 から R2 に送信されたクエリーに対して応答が返されなくなるので、SIA が発生します。R1 が継続的に R2 とのネイバー関係をクリアするかどうかを確認するには、show ip eigrp neighbor コマンドを使用します。
CPU、メモリ、バッファなどのシステム リソースが不足すると、ルータがクエリーに応答できなくなり、あらゆるタイプのパケットを処理できなくなることがあります。リソースに問題があるかどうかを確認するには、該当するルータに ping を発行し、他のルータ リソースの問題と同様にトラブルシューティングを行います。
ルート フラッピングの一般的な原因には、次のようなものがあります。
リンクのフラッピング。
show interface コマンドを使用して、「interface resets」カウンタまたは「carrier transitions」カウンタが増加しているかどうかを調べます。
通信品質の低いWAN リンク。
show interface コマンドを使用して、「input errors」カウンタまたは「output errors」カウンタが増加しているかどうかを調べます。
ダイヤルアップPPPリンクによって作成されたホストルートを集約するように設定されていないCisco AS5800などのダイヤルアップサーバ。
デフォルトでは、PPP 接続は、32 ビットのホスト ルートを PPP リ ンクのリモート側に組み込みます。これらのルートが集約されていない場合は、すべてのダイヤルアップ ユーザーが接続解除した際に EIGRP がアクティブになります。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
10-Aug-2005 |
初版 |