EIGRP について
EIGRP は、リンクステート プロトコルの機能にディスタンス ベクトル プロトコルの利点を組み合わせたプロトコルです。EIGRP は、定期的に Hello メッセージを送信してネイバーを探索します。EIGRP は、新規ネイバーを検出すると、すべてのローカル EIGRP ルートおよびルート メトリックに対する 1 回限りの更新を送信します。受信側の EIGRP ルータは、受信したメトリックと、その新規ネイバーにローカルで割り当てられたリンクのコストに基づいて、ルート ディスタンスを計算します。この最初の全面的なルート テーブルの更新後は、ルート変更の影響を受けるネイバーにのみ、差分更新が EIGRP により送信されます。この処理により、コンバージェンスにかかる時間が短縮され、EIGRP が使用する帯域幅が最小限になります。
EIGRP コンポーネント
EIGRP には、次の基本コンポーネントがあります。
信頼性の高いトランスポート プロトコル
信頼性の高いトランスポート プロトコルは、すべてのネイバーに EIGRP パケットの順序付けされた配信を保証します。(「ネイバー探索およびネイバー回復」の項を参照してください。) 信頼性の高いトランスポート プロトコルは、マルチキャスト パケットとユニキャスト パケットの混合伝送をサポートしています。この転送は信頼性が高く、未確認パケットが保留されているときにも、マルチキャスト パケットの迅速な送信が可能です。この方式により、さまざまな速度のリンクでも短いコンバージェンス時間が維持されるようになります。マルチキャスト パケットとユニキャスト パケットの送信を制御するデフォルト タイマーの変更の詳細については、高度な EIGRP の設定 を参照してください。
Reliable Transport Protocol には、次のメッセージ タイプが含まれます。
-
Hello:ネイバー探索およびネイバー回復に使用されます。EIGRP はデフォルトでは、定期的なマルチキャスト Hello メッセージをローカル ネットワーク上に、設定された hello 間隔で送信します。デフォルトの hello 間隔は 5 秒です。
-
確認:更新、照会、返信を確実に受信したことを確認します。
-
更新:ルーティング情報が変更されると、その影響を受けるネイバーに送信されます。更新には、ルートの宛先、アドレス マスク、および遅延や帯域幅などのルート メトリックが含まれます。更新情報は EIGRP トポロジ テーブルに格納されます。
-
照会および返信:EIGRP が使用する拡散更新アルゴリズムの一部として送信されます。
ネイバー探索およびネイバー回復
EIGRP は、Reliable Transport Protocol からの Hello メッセージを使用して、直接接続されたネットワーク上のネイバー EIGRP ルータを探索します。EIGRP により、ネイバー テーブルにネイバーが追加されます。ネイバー テーブルの情報には、ネイバー アドレス、検出されたインターフェイス、およびネイバー到達不能を宣言する前に EIGRP が待機する時間を示すホールド タイムが含まれています。デフォルトのホールド タイムは、hello 間隔の 3 倍または 15 秒です。
EIGRP は、ローカル EIGRP ルーティング情報を共有するために、一連の更新メッセージを新規ネイバーに送信します。このルート情報は EIGRP トポロジ テーブルに格納されます。このように EIGRP ルート情報全体を最初に送信した後は、ルーティングが変更されたときにのみ、EIGRP により更新メッセージが送信されます。これらの更新メッセージは新情報または更新情報のみを含んでおり、変更の影響を受けるネイバーにのみ送信されます。「EIGRP ルート アップデート」の項を参照してください。
EIGRP はネイバーへのキープアライブとして、Hello メッセージも使用します。Hello メッセージを受信している限り、Cisco NX-OS は、ネイバーがダウンせずに機能していると判定します。
拡散更新アルゴリズム
拡散更新アルゴリズム(DUAL)により、トポロジ テーブルの宛先ネットワークに基づいてルーティング情報が計算されます。トポロジ テーブルには、次の情報が含まれます。
-
IPv4 または IPv6 アドレス/マスク:この宛先のマスクのネットワーク アドレスおよびネットワーク マスク。
-
サクセサ:現在のフィジブル ディスタンスよりも宛先まで短いディスタンスをアドバタイズする、すべてのフィジブル サクセサまたはネイバーの IP アドレスおよびローカル インターフェイス接続。
-
フィージビリティ ディスタンス(FD):計算された、宛先までの最短ディスタンス。
DUAL は、ディスタンス メトリックを使用して、ループが発生しない効率的なパスを選択します。DUAL はルートを選択し、フィジブル サクセサに基づいてユニキャスト ルーティング情報ベース(RIB)に挿入します。トポロジが変更されると、DUAL は、トポロジ テーブルでフィジブル サクセサを探します。フィジブル サクセサが見つかった場合、DUAL は、最短のフィジブル ディスタンスを持つフィジブル サクセサを選択して、それをユニキャスト RIB に挿入します。これにより、再計算が不要となります。
フィジブル サクセサが存在しないが、宛先をアドバタイズするネイバーが存在する場合は、DUAL がパッシブ状態からアクティブ状態へと移行し、新しいサクセサまたは宛先へのネクスト ホップ ルータを決定する再計算をトリガーします。ルートの再計算に必要な時間は、コンバージェンス時間に影響します。EIGRP は照会メッセージをすべてのネイバーに送信し、フィジブル サクセサを探します。フィジブル サクセサを持つネイバーは、その情報を含む返信メッセージを送信します。フィジブル サクセサを持たないネイバーは、DUAL の再計算をトリガーします。
EIGRP ルート更新
トポロジが変更されると、EIGRP は、変更されたルーティング情報のみを含む更新メッセージを影響を受けるネイバーに送信します。更新メッセージには、新規の、または更新されたネットワーク宛先へのディスタンス情報が含まれます。
EIGRP でのディスタンス情報は、帯域幅、遅延、負荷使用状況、リンクの信頼性などの使用可能なルート メトリックの組み合わせとして表現されます。各メトリックには重みが関連付けられており、これにより、メトリックがディスタンスの計算に含まれるかどうかが決定します。このメトリックの重みは設定することができます。特性を微調整して最適なパスを完成することもできますが、設定可能なメトリックの大部分でデフォルト設定を使用することを推奨します。
内部ルート メトリック
内部ルートとは、同じ EIGRP 自律システム内のネイバー間のルートです。これらのルートには、次のメトリックがあります。
-
ネクスト ホップ:ネクスト ホップ ルータの IP アドレス。
-
遅延:宛先ネットワークへのルートを形成するインターフェイス上で設定された遅延の合計。遅延は 10 マイクロ秒単位で設定されます。
-
帯域幅:宛先へのルートの一部であるインターフェイスで設定された最小帯域幅から計算されます。
(注)
Cisco ではデフォルト帯域幅の値の使用を推奨します。この帯域幅パラメータは EIGRP でも使用されます。
-
MTU:宛先へのルート上の最大伝送単位の最小値。
-
ホップ カウント:宛先までにルートが通過するホップまたはルータの数。このメトリックは、DUAL 計算で直接には使用されません。
-
信頼性:宛先までのリンクの信頼性を示します。
-
負荷:宛先までのリンク上のトラフィック量を示します。
デフォルトで EIGRP は、帯域幅と遅延のメトリックを使用して、宛先までのディスタンスを計算します。計算に他のメトリックが含まれるように、メトリックの重みを変更できます。
ワイド メトリックス
EIGRP は、より高速なインターフェイスまたはバンドルされたインターフェイス上でのルート選択を改善するためのワイド(64 ビット)メトリックをサポートします。ワイド メトリックをサポートしているルータは、次のように、ワイド メトリックをサポートしていないルータと相互運用できます。
-
ワイド メトリックをサポートするルータ:ローカル ワイド メトリック値を受信した値に追加し、情報を送信します。
-
ワイド メトリックをサポートしないルータ:値を変更せずに受信したメトリックを送信します。
EIGRP は、ワイド メトリックのパス コストを計算するために、次の式を使用します。
メトリック = [k1 × 帯域幅 +(k2 × 帯域幅)/(256 –負荷)+ k3 × 遅延 + k6 × 拡張属性] x [k5/(信頼性 + k4)]
ユニキャスト RIB が 64 ビットのメトリック値をサポートできないため、EIGRP ワイド メトリックは RIB スケール係数で次の式を使用して、64 ビット メトリック値を 32 ビット値に変換します。
RIB メトリック =(ワイド メトリック/RIB スケール値)
RIB スケール値は設定可能なパラメータです。
EIGRP ワイド メトリックは、EIGRP メトリックの設定の k6 として、次の 2 種類の新しいメトリック値を導入します。
-
ジッタ:(マイクロ秒単位で測定)ルート パス上のすべてのリンクにわたって累積します。
-
エネルギー:(キロ ビット単位のワットで測定)ルート パス上のすべてのリンクにわたって累積します。
EIGRP は、ジッターやエネルギー メトリック値を持たないパス、またはより低いジッターやエネルギー メトリック値を持つパスを、より高い値のパスを持つパスよりも優先します。
(注) |
EIGRP ワイド メトリックは、TLV バージョン 2 で送信されます。詳細については、「ワイドメトリックの有効化」の項を参照してください。 |
外部ルート メトリック
外部ルートとは、異なる EIGRP 自律システムにあるネイバー間のルートです。これらのルートには、次のメトリックがあります。
-
ネクスト ホップ:ネクスト ホップ ルータの IP アドレス。
-
ルータ ID:このルートを EIGRP に再配布したルータのルータ ID。
-
自律システム番号:宛先の自律システム番号。
-
プロトコル ID:宛先へのルートを学習したルーティング プロトコルを表すコード。
-
タグ:ルート マップで使用可能な任意のタグ。
-
メトリック:外部ルーティング プロトコルの、このルートのルート メトリック。
EIGRP とユニキャスト RIB
EIGRP は、すべての学習したルートを EIGRP トポロジ テーブルとユニキャスト RIB に追加します。トポロジが変更されると、EIGRP は、これらのルートを使用してフィジブル サクセサを探します。EIGRP は、他のルーティング プロトコルから EIGRP に再配布されたあらゆるルートの変更についてのユニキャスト RIB からの通知も待ち受けます。
高度な EIGRP
EIGRP の高度な機能を使用して、EIGRP の設定を最適化できます。
アドレス ファミリ
EIGRP では、IPv4 と IPv6 の両方のアドレス ファミリをサポートしています。下位互換性を保つために、ルート コンフィギュレーション モードまたは IPv4 アドレス ファミリ モードで EIGRPv4 を設定できます。アドレス ファミリ モードで IPv6 の EIGRP を設定する必要があります。
アドレス ファミリ コンフィギュレーション モードには、次の EIGRP 機能が含まれます。
-
認証
-
AS 番号
-
デフォルト ルート
-
メトリック
-
ディスタンス
-
グレースフル リスタート
-
ロギング
-
ロード バランシング
-
再分配
-
ルータ ID
-
スタブ ルータ
-
タイマー
複数のコンフィギュレーション モードで同じ機能を設定できません。たとえばルータ コンフィギュレーション モードでデフォルト メトリックを設定すると、アドレス ファミリ モードでデフォルト メトリックを設定できません。
認証
EIGRP メッセージに認証を設定することで、ネットワークでの不正なルーティング更新や無効なルーティング更新を防止できます。EIGRP 認証は MD5 認証ダイジェストをサポートしています。
認証キーのキーチェーン管理を使用して、仮想ルーティング/転送(VRF)インスタンスごと、またはインターフェイスごとに EIGRP 認証を設定できます。キーチェーン管理を使用すると、MD5 認証ダイジェストが使用する認証キーへの変更を管理できます。キー チェーンの作成の詳細については、『Cisco Nexus 9000 Series NX-OS Security Configuration Guide』を参照してください。
MD5 認証を行うには、ローカル ルータとすべてのリモート EIGRP ネイバーで同一のパスワードを設定します。EIGRP メッセージが作成されると、Cisco NX-OS は、そのメッセージ自体と暗号化されたパスワードに基づいて MD5 一方向メッセージ ダイジェストを作成し、このダイジェストを EIGRP メッセージとともに送信します。受信する EIGRP ネイバーは、同じ暗号化パスワードを使用して、このダイジェストを確認します。メッセージが変更されていない場合は計算が同一であるため、EIGRP メッセージは有効と見なされます。
MD5 認証には各 EIGRP メッセージのシーケンス番号も含まれており、これにより、ネットワークでのメッセージの再送が防止されます。
スタブ ルータ
EIGRP スタブ ルーティング機能を使用すると、ネットワークの安定性の向上、リソース使用量の削減、スタブ ルータ設定の簡易化を実現できます。スタブ ルータは、リモート ルータ経由で EIGRP ネットワークに接続します。「スタブ ルーティング」の項を参照してください。
EIGRP スタブ ルーティングを使用すると、EIGRP を使用するように配布とリモート ルータを設定し、リモート ルータのみをスタブとして設定する必要があります。EIGRP スタブ ルーティングで、分散ルータでの集約が自動的にイネーブルになるわけではありません。ほとんどの場合、分散ルータでの集約の設定が必要です。
EIGRP スタブ ルーティングを使用しない場合は、分散ルータからリモート ルータに送信されたルートがフィルタリングまたは集約された後でも、問題が発生することがあります。たとえば、ルートが企業ネットワーク内のどこかで失われた場合に、EIGRP が分散ルータに照会を送信することがあります。分散ルータは、ルートが集約されている場合でも、リモート ルータに照会を送信することがあります。分散ルータとリモート ルータの間の WAN リンク上の通信で問題が発生した場合は EIGRP がアクティブ状態のままとなり、ネットワークの他の場所が不安定となる場合があります。EIGRP スタブ ルーティングを使用すると、リモート ルータに照会が送信されなくなります。
ルート集約
指定したインターフェイスにサマリー集約アドレスを設定できます。ルート集約を使用すると、固有性の強い一連のアドレスをすべての固有アドレスを代表する 1 つのアドレスに置き換えることによって、ルート テーブルを簡素化できます。たとえば、10.1.1.0/24、10.1.2.0/24、および 10.1.3.0/24 というアドレスを 1 つの集約アドレス 10.1.0.0/16 に置き換えることができます。
より具体的なアドレスがルーティング テーブルにある場合、EIGRP は、より具体的なルートの最小メトリックに等しいメトリックを持つインターフェイスからの集約アドレスをアドバタイズします。
プロセスの再起動またはシステムスイッチオーバーの場合、サマリーアドレスによってトラフィックが失われる可能性があります。トラフィックは、サマリーアドレスを使用してトラフィックがルーティングされる PEER で確認されます。
(注) |
EIGRP は、自動ルート集約をサポートしていません。 |
ルートの再配布
EIGRP を使用すると、スタティック ルート、他の EIGRP AS が学習したルート、またはほかのプロトコルからのルートを再配布できます。再配布を指定したルート マップを設定して、どのルートが EIGRP に渡されるかを制御する必要があります。ルート マップを使用すると、宛先、送信元プロトコル、ルート タイプ、ルート タグなどの属性に基づいて、ルートをフィルタリングできます。Route Policy Manager の設定を参照してください。
インポートされた EIGRP へのすべてのルートに使用されるデフォルト メトリックも設定できます。
ルーティング アップデートからルートをフィルタリングするには、配布リストを使用します。これらのフィルタ処理されたルートは、ip distribute-list eigrp コマンドで各インターフェイスに適用されます。
ロード バランシング
ロード バランシングを使用すると、ルータは、宛先アドレスから等距離内にあるすべてのルータのネットワーク ポートにトラフィックを分散できます。ロード バランシングにより、ネットワーク セグメントの使用率が向上し、それによってネットワーク帯域幅の効率も向上します。
Cisco NX-OS は、EIGRP ルート テーブルおよびユニキャスト RIB 中の 16 までの等コスト パスを使用する等コスト マルチパス(ECMP)機能をサポートしています。これらのパスの一部または全部に対してトラフィックのロード バランスを行うよう、EIGRP を設定できます。
(注) |
Cisco NX-OS の EIGRP は、等コストでないロード バランシングをサポートしていません。 |
Split Horizon
スプリット ホライズンを使用すると、ルートを学習したインターフェイスから EIGRP がルートをアドバタイズしないようにできます。
スプリット ホライズンは、EIGRP 更新パケットおよび EIGRP 照会パケットの送信を制御する方式です。インターフェイスでスプリット ホライズンをイネーブルにすると、Cisco NX-OS は、このインターフェイスから学習された宛先への更新パケットも照会パケットも送信しません。この方法でアップデート パケットとクエリー パケットを制御すると、ルーティング ループが発生する可能性が低くなります。
EIGRP はポイズン リバースによるスプリット ホライズンにより、EIGRP がルートを学習したインターフェイス経由で、そのルートを到達不能としてアドバタイズするよう設定されます。
EIGRP は、次のシナリオでスプリット ホライズン、またはポイズン リバースによるスプリット ホライズンを使用します。
-
スタートアップ モードで、2 台のルータ間で初めてトポロジ テーブルを交換する。
-
トポロジ テーブルの変更をアドバタイズする。
-
照会メッセージを送信する。
デフォルトでは、スプリット ホライズン機能がすべてのインターフェイスでイネーブルになっています。
BFD
この機能では、IPv4 および IPv6 用の双方向フォワーディング検出(BFD)をサポートします。BFD は、転送パスの障害を高速で検出することを目的にした検出プロトコルです。BFD は 2 台の隣接デバイス間のサブセカンド障害を検出し、BFD の負荷の一部を、サポートされるモジュール上のデータ プレーンに分散できるため、プロトコル hello メッセージよりも CPU を使いません。詳細については、『Cisco Nexus 9000 Series NX-OS Interfaces Configuration Guide』を参照してください。
仮想化のサポート
EIGRP は、仮想ルーティングおよび転送(VRF)インスタンスをサポートしています。
グレースフル リスタートおよびハイ アベイラビリティ
Cisco NX-OS は、EIGRP の無停止フォワーディングおよびグレースフル リスタートをサポートします。
EIGRP の NSF を使用すると、フェールオーバー後に EIGRP ルーティング プロトコル情報が復元される間に、データ パケットを FIB 内の既存のルートで転送できます。ノンストップ フォワーディング(NSF)を使用すると、ピア ネットワーキング デバイスでルーティング フラップが発生することがありません。フェールオーバー時に、データ トラフィックはインテリジェント モジュール経由で転送され、スタンバイ スーパーバイザがアクティブになります。
Cisco NX-OS システムでコールド リブートが発生した場合、デバイスはシステムへのトラフィック転送を中止し、ネットワーク トポロジからシステムを削除します。このシナリオでは、EIGRP でステートレス再起動が発生し、すべてのネイバーが削除されます。Cisco NX-OS はスタートアップ構成を適用し、EIGRP がネイバーを再検出して、完全な EIGRP ルーティング情報を再度共有します。
Cisco NX-OS を実行するデュアル スーパーバイザ プラットフォームで、ステートフル スーパーバイザ スイッチオーバーが発生します。このスイッチオーバーが発生する前に、EIGRP はグレースフル リスタートを使用して、EIGRP がしばらく使用不可であることを宣言します。スイッチオーバーの間、EIGRP は無停止フォワーディングを使用して FIB の情報に基づいてトラフィックを転送し続け、システムがネットワーク トポロジから取り除かれることはありません。
グレースフル リスタート対応ルータは、Hello メッセージを使用して、グレースフル リスタート動作が開始されたことをネイバーに通知します。グレースフル リスタート認識ルータが、グレースフル リスタート対応ネイバーからグレースフル リスタート動作が進行中であるという通知を受信すると、両方のルータは各トポロジ テーブルをただちに交換します。グレースフル リスタート認識ルータは、ルータの再起動を支援するための次のアクションを実行します。
-
ルータは、EIGRP Hello 保持時間を失効し、Hello メッセージにセットされる間隔を短くします。このプロセスにより、グレースフル リスタート認識ルータは再起動中のルータにより早く応答し、再起動中のルータがネイバーを再検出し、トポロジ テーブルを再構築するために必要な時間を短縮します。
-
ルータは、ルート保留タイマーを開始します。このタイマーで、グレースフル リスタート認識ルータが、再起動中のネイバー ルータのために既知のルートを保留する時間の長さが設定されます。デフォルトの期間は 240 秒です。
-
ルータは、ネイバーが再起動していることをピア リストに記載する、隣接関係を維持する、グレースフル リスタート認識ルータのトポロジ テーブルを送信する準備ができたことを知らせるシグナルをネイバーが送信するか、ルートホールド タイマーが期限切れになるまで再起動中のネイバーを保持する、ということを行います。グレースフル リスタート認識ルータ上でルート保留タイマーの期限が切れた場合、グレースフル リスタート認識ルータは保留ルートを破棄し、再起動中のルータをネットワークに参加する新しいルータとして扱い、隣接関係を再確立します。
スイッチオーバー後に、Cisco NX-OS は実行コンフィギュレーションを適用し、EIGRP は、自身が再び稼働していることをネイバーに通知します。
複数の EIGRP インスタンス
Cisco NX-OSは、同一システム上で動作する複数の EIGRP プロトコル インスタンスをサポートします。すべてのインスタンスで同じシステム ルータ ID を使用します。インスタンスごとに一意のルータ ID を設定することもできます。サポートされる EIGRP インスタンスの数については、『Cisco Nexus 9000 Series NX-OS Verified Scalability Guide』を参照してください。