【EIGRP】不等コストロードバランシング

 

OSPF は、メトリックが同じ経路どうしでしかロードバランスできません。EIGRP は variance コマンドを使うと、メトリックが違う経路にもトラフィックを振り分けられます(不等コストロードバランシング)。この記事では、フィージブルサクセサ の記事と同じ構成と設定を使い、R2 から 4.4.4.4/32 への経路で動きを確かめます。

この記事でわかること
  1. 不等コストロードバランシングの対象になる経路の条件
  2. variance の値の決め方と設定
  3. ルーティングテーブルと traffic share count での確認

検証構成

R2 から R4 のループバック 4.4.4.4/32 へは、R3、R5、R6 を経由する3つの経路があります。図の数字は、各リンクのメトリックです。

R2R5R3R6R4 2048256 256256 512512 256 Lo0 4.4.4.4/32 Fa0/0.25Fa0/0.23 192.168.25.5.3
図1 検証構成(数字は各リンクのメトリック)

R2 から見た各経路の距離と、隣のルータが広告してくる距離(AD)は次のとおりです。

経由R2 からの距離AD役割
R3768(256 + 512)512(256 + 256)サクセサ(距離が最小。FD=768)
R52560(2048 + 512)512(256 + 256)フィージブルサクセサ(AD 512 < FD 768)
R61280(512 + 768)768(512 + 256)どちらでもない(AD 768 が FD 768 より小さくない)

フィージブルサクセサの条件(AD がサクセサの FD より小さいこと)は、ループしない経路を見分けるためのものです。詳しくは フィージブルサクセサ と FD と AD の記事を参照してください。

既定の状態を確認する

既定では、R2 のルーティングテーブルには、サクセサである R3 経由の経路だけが入っています。

R2

R2# show ip route eigrp 

      4.0.0.0/32 is subnetted, 1 subnets
D        4.4.4.4 [90/768] via 192.168.23.3, 00:00:08, FastEthernet0/0.23

variance の考え方

variance には、サクセサの FD の何倍までの距離の経路をロードバランスに使うかを、整数(1〜128)で指定します。既定値は 1 で、同じメトリックの経路だけを使います。使われる経路は、次の2つを両方満たすものです。

  • フィージブルサクセサである(サクセサ自身も含む)
  • 距離が「サクセサの FD × variance」より小さい

R5 経由の距離 2560 を R3 経由の 768 で割ると約 3.33 です。variance は整数なので、切り上げて 4 にすると、768 × 4 = 3072 より小さい 2560 の経路も対象になります。variance を 3 にすると、768 × 3 = 2304 で、2560 は入りません。

0100020003000 768 × 4 = 3072 これより小さい経路が対象 R3 経由 768サクセサ(使う) R6 経由 1280FS ではない(使わない) R5 経由 2560FS(使う)
図2 variance 4 で対象になる経路

R6 経由の経路(1280)は 3072 より小さいですが、フィージブルサクセサではないので使われません。variance をいくら大きくしても、ループのおそれがある経路は使わないしくみです。

variance を設定する

R2

R2(config)# router eigrp 100
R2(config-router)# variance 4

R2 のルーティングテーブルに、R3 経由に加えて、フィージブルサクセサの R5 経由の経路も入りました。

R2

R2# show ip route eigrp 

      4.0.0.0/32 is subnetted, 1 subnets
D        4.4.4.4 [90/2560] via 192.168.25.5, 00:00:33, FastEthernet0/0.25
                 [90/768] via 192.168.23.3, 00:00:33, FastEthernet0/0.23

振り分けの比率を確認する

メトリックが違う経路に同じ量を流すと、遅い経路に負担がかかります。EIGRP は既定でメトリックに応じた比率で振り分けます。show ip route 4.4.4.4 で経路の詳細を見ると、比率が traffic share count に表示されています。

R2

R2# show ip route 4.4.4.4
Routing entry for 4.4.4.4/32
  Known via "eigrp 100", distance 90, metric 768, type internal
  Redistributing via eigrp 100
  Last update from 192.168.25.5 on FastEthernet0/0.25, 00:03:26 ago
  Routing Descriptor Blocks:
    192.168.25.5, from 192.168.25.5, 00:03:26 ago, via FastEthernet0/0.25
      Route metric is 2560, traffic share count is 3
      Total delay is 100 microseconds, minimum bandwidth is 10000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2
  * 192.168.23.3, from 192.168.23.3, 00:03:26 ago, via FastEthernet0/0.23
      Route metric is 768, traffic share count is 10
      Total delay is 30 microseconds, minimum bandwidth is 10000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2
表示意味
traffic share count is 10R3 経由(メトリック 768)の配分
traffic share count is 3R5 経由(メトリック 2560)の配分
*次に使われる経路の印

R3 と R5 の配分は 10:3 で、メトリックの比(2560 ÷ 768 ≒ 3.33)の逆になっています。メトリックが小さい(よい)経路に、より多く流れます。

この構成では、メトリックが遅延だけで決まっています。R3 経由は Total delay is 30 microseconds で 3 × 256 = 768、R5 経由は 100 マイクロ秒で 10 × 256 = 2560 です(遅延は 10 マイクロ秒単位で計算します)。

補足
  • 使う経路の数の上限は maximum-paths で決まります。variance で対象になる経路が多いときは、この値も確認します。
  • メトリックに応じて振り分ける動作は traffic-share balanced(既定)によるものです。
  • この検証を IOS 15.2(4)M2 で行った際、フィージブルサクセサではない R6 経由の経路もルーティングテーブルに入る動作が見られました。IOS の不具合(CSCuc99750)と考えられます。同じ動作になる場合は、IOS のバージョンを確認してください。

まとめ

項目内容
コマンドvariance <倍率>(router eigrp の中。既定値 1)
対象になる経路フィージブルサクセサで、距離が「サクセサの FD × variance」より小さいもの
値の決め方使いたい経路の距離 ÷ サクセサの FD を切り上げた整数(今回は 2560 ÷ 768 ≒ 3.33 → 4)
振り分けの比率メトリックに応じた比率(traffic share count で確認。今回は 10:3)

コメント