EIGRP ワイドメトリックに関する情報
EIGRP ワイドメトリック機能は、Enhanced Interior Gateway Routing Protocol(EIGRP)トポロジでの 64 ビットメトリック計算とルーティング情報ベース(RIB)スケーリングをサポートします。64 ビット計算は、EIGRP 名前付きモード設定でのみ機能します。EIGRP クラシックモード設定では、32 ビットの計算が使用されます。このモジュールでは、EIGRP ワイドメトリック機能の概要について説明します。
EIGRP 複合コストメトリック
Enhanced Interior Gateway Routing Protocol(EIGRP)は、帯域幅、遅延、信頼性、負荷、および K 値(さまざまなルーティング動作を生成するためにユーザーが設定できるさまざまな定数)を使用して、ローカルルーティング情報ベース(RIB)のインストールとルートの選択に関する複合コストメトリックを計算します。EIGRP 複合メトリックは次の式を使用して計算されます。
EIGRP 複合コストメトリック = 256 * (K1 * スケール帯域幅) + (K2 * スケール帯域幅)/(256 – 負荷) + (K3 * スケール遅延) * (K5/(信頼性 + K4))
EIGRP は 1 つ以上のベクトルメトリックを使用して、複合コストメトリックを計算します。次の表に、EIGRP のベクトルメトリックとその説明を示します。
Vector Metric |
Description |
---|---|
帯域幅 |
ルートの最小帯域幅(Bw)(キロビット/秒単位)。0 または任意の正の整数です。この式の帯域幅は、次の式を使用してスケーリングおよびインバートされます。 スケール帯域幅 = (107/最小帯域幅 (キロビット/秒単位)) |
delay |
ルート遅延(数十マイクロ秒)。 スケーリング遅延 = (遅延/10) |
負荷 |
0 ~ 255(255 は 100% の負荷)の数値で表現されるルートの有効負荷。 |
mtu |
ルートの最大伝送ユニット(MTU)の最小サイズ(バイト単位)。0 または任意の正の整数です。 |
信頼性 |
0 ~ 255 の数値で表されるパケット伝送の成功可能性。255 は信頼性が 100% であること、0 は信頼性がないことを意味します。 |
EIGRP はインターフェイス上で K 値を使用してメトリック重みをモニターし、EIGRP のメトリック計算の調整を可能にし、タイプオブサービス(ToS)を示します。K 値は 0 から 128 までの整数で、帯域幅や遅延などの変数と組み合わせて、全体的な EIGRP 複合コストメトリックの計算に使用されます。次の表に、K 値とそのデフォルト値を示します。
設定 |
デフォルト値 |
---|---|
K1 |
1 |
K2 |
0 |
K3 |
1 |
K4 |
0 |
K5 |
0 |
K 値を設定してさまざまなルーティング動作を生成できますが、ほとんどの設定では、デフォルトで遅延メトリックと帯域幅メトリックのみが使用され(帯域幅が優先)、単一の 32 ビットメトリックが生成されます。デフォルト定数を使用すると、上記の複合コストメトリック式を次のデフォルト式に効果的に削減できます。256 * (スケール帯域幅 + スケール遅延)。
たとえば、特定の宛先に対する帯域幅が 128 kb/s、遅延が 84,000 マイクロ秒であるリンクについて見てみます。デフォルト式を使用すると、EIGRP 複合コストメトリック計算は 256 * (スケール帯域幅 + スケール遅延) のように簡単になり、結果的には次の値になります。
メトリック = 256 * (107/128 + 84000/10) = 256 * 86525 = 22150400
EIGRP ワイド メトリック
Enhanced Interior Gateway Routing Protocol(EIGRP)複合コストメトリック(帯域幅、遅延、信頼性、負荷、K 値を使用して算出)は高帯域幅インターフェイスやイーサネットチャネルでは適切にスケーリングされないため、正しくない、または一貫性のないルーティング動作になります。インターフェイスに設定できる遅延の最小値は 10 マイクロ秒であるため、10 ギガビットイーサネット(GE)インターフェイスなどの高速インターフェイスや、1 つにチャネル化された高速インターフェイス(GE イーサチャネル)は、EIGRP では 1 つの GE インターフェイスとして認識されます。これにより、望ましくない等コストロードバランシングが発生する可能性があります。この問題を解決するために、EIGRP ワイドメトリック機能では、64 ビットメトリックの計算、および最大約 4.2 テラビットのインターフェイスを(直接に、またはポートチャネルやイーサチャネルなどのチャネリング技術を介して)サポートする機能を提供するルーティング情報ベース(RIB)スケーリングをサポートしています。
(注) |
64 ビットメトリック計算は、EIGRP 名前付きモード設定でのみ機能します。EIGRP クラシックモードでは、32 ビットメトリック計算が使用されます。 |
帯域幅が 1 ギガビットを超える最大 4.2 テラビットのインターフェイスに対応し、EIGRP でパス選択を実行できるようにするには、EIGRP 複合コストメトリック式を変更します。パスは、計算された時間に基づいて選択されます。リンクを介した情報の伝達にかかる時間は、ピコ秒単位で測定されます。インターフェイスは、このような高速に直接対応することも、総帯域幅が 1 ギガビットを超えるリンクのバンドルにすることもできます。
メトリック = [(K1 * 最小スループット + {K2 * 最小スループット}/256 - 負荷) + (K3 * 合計遅延) + (K6 * 拡張属性)] * [K5/(K4 + 信頼性)]
デフォルトの K 値は次のとおりです。
-
K1 = K3 = 1
-
K2 = K4 = K5 = 0
-
K6 = 0
また、EIGRP ワイドメトリック機能では、今後使用するために追加の K 値として K6 が導入されています。
デフォルトでは、EIGRP で使用されるパス選択方式はスループット(データ転送のレート)と遅延(データ転送にかかる時間)の組み合わせであり、複合コストメトリックの計算式は次のようになります。
複合コストメトリック = (K1 * 最小スループット) + (K3 * 総遅延)
最小スループット = (107* 65536)/帯域幅)。65536 はワイドスケール定数です。
1 ギガビット未満の帯域幅の合計遅延 = (遅延 * 65536)/10。65536 はワイドスケール定数です。
1 ギガビットを超える帯域幅の合計遅延 = (107* 65536/10)/帯域幅。65536 はワイドスケール定数です。
EIGRP のメトリック重み
metric weights コマンドを使用して、Enhanced Interior Gateway Routing Protocol(EIGRP)のルーティングおよびメトリック計算のデフォルト動作を調整できます。EIGRP メトリックのデフォルト(K 値)は、ほとんどのネットワークで最適なパフォーマンスを実現できるよう慎重に選択されています。
(注) |
EIGRP メトリック ウェイトを調整すると、ネットワーク パフォーマンスに大きな影響を及ぼす可能性があります。この作業は複雑であるため、デフォルトの K 値は、経験豊富なネットワーク設計者からアドバイスを得られない場合は変更しないでください。 |
デフォルトでは、EIGRP 複合コストメトリックは、特定のルートのセグメント遅延と(拡張およびインバートされた)最小セグメント帯域幅の合計である 32 ビットになります。帯域幅の値をスケーリングおよびインバートするために使用する式は、107/最小帯域幅(キロビット/秒単位)です。ただし、EIGRP ワイドメトリック機能を使用すると、EIGRP 複合コストメトリックは、EIGRP 名前付きモード設定の 64 ビットメトリック計算を含むようにスケーリングされます。
同種メディアのネットワークでは、このメトリックは 1 ホップ カウントまで減少します。混合メディア(FDDI、ギガビットイーサネット(GE)、および毎秒 9600 ビットから T1 までのレートのシリアル回線)のネットワークでは、最低メトリックのルートが宛先までの最適なパスになります。
K 値の不一致
EIGRP の K の値は、EIGRP がルートの計算で使用するメトリックです。K 値の不一致があると、ネイバー関係を確立できなくなり、ネットワーク コンバージェンスに悪影響を与えることがあります。以下に示す例で、2 つの EIGRP ピア(デバイス A とデバイス B)間におけるこの動作について説明します。
以下の設定がデバイス A に適用されています。K 値は metric weights コマンドを使用して変更されます。帯域幅計算を調整するために、k1 引数に値 2 が入力されます。遅延計算を調整するために、k3 引数に値 1 が入力されます。
Device(config)#hostname Device-A
Device-A(config)#interface serial 0
Device-A(config-if)#ip address 10.1.1.1 255.255.255.0
Device-A(config-if)#exit
Device-A(config)#router eigrp name1
Device-A(config-router)#address-family ipv4 autonomous-system 4533
Device-A(config-router-af)#network 10.1.1.0 0.0.0.255
Device-A(config-router-af)#metric weights 0 2 0 1 0 0 1
次の設定がデバイス B に適用され、デフォルトの K 値が使用されます。デフォルトの K 値は、1、0、1、0、0、および 0 です。
Device(config)#hostname Device-B
Device-B(config)#interface serial 0
Device-B(config-if)#ip address 10.1.1.2 255.255.255.0
Device-B(config-if)#exit
Device-B(config)#router eigrp name1
Device-B(config-router)#address-family ipv4 autonomous-system 4533
Device-B(config-router-af)#network 10.1.1.0 0.0.0.255
Device-B(config-router-af)#metric weights 0 1 0 1 0 0 0
帯域幅計算はデバイス A で 2 に設定され、デバイス B で 1(デフォルト)に設定されるため、これらのピアはネイバー関係を形成できなくなります。
K 値が一致しないため、デバイス B のコンソールに次のエラーメッセージが表示されます。
*Apr 26 13:48:41.811: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.1.1.1 (Ethernet0/0) is down: K-value mismatch
前述のエラーメッセージが表示されるシナリオは次の 2 つです。
-
同じリンク上に 2 台のデバイスが接続されていて、ネイバー関係を確立するよう設定されているが、各デバイスに異なる K 値が設定されている。
-
2 つのピアのうちの 1 つが「peer-termination」メッセージ (EIGRP ルーティングプロセスがシャットダウンされたときにブロードキャストされるメッセージ)を送信したが、受信側デバイスがこのメッセージをサポートしていないため、受信側デバイスが、このメッセージを K 値の不一致と解釈する。