EIGRPの不等コスト・ロードバランシング
・パケットをコストに合わせてロードバランスさせる
・不等コスト・ロードバランスが実行されていることを確認する
ネットワーク構成(画像を別ウインドウで表示)
RouterAのコンフィグ
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname RouterA
!
interface Ethernet0
ip address 192.168.1.1 255.255.255.0
!
interface Serial0
ip address 192.168.2.1 255.255.255.0
!
router eigrp 1
variance 6 ←最適経路の6倍までのメトリックを持つ経路を使って負荷分散する
network 192.168.1.0
network 192.168.2.0
auto-summary
!
line con 0
line aux 0
line vty 0 4
login
!
end
RouterBのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Loopback0
ip address 10.1.1.1 255.255.255.255
!
interface Ethernet0
ip address 192.168.1.2 255.255.255.0
!
interface Serial0
ip address 192.168.2.2 255.255.255.0
clockrate 64000
!
router eigrp 1
network 10.0.0.0
network 192.168.1.0
network 192.168.2.0
auto-summary
no eigrp log-neighbor-changes
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
確認
EIGRPは,IGRPの特徴である不等コスト・ロードバランシングをそのまま受け継いでいます。
経路ごとのメトリックの大きさに伴って,トラフィックを負荷分散する機能です。

●動作の確認
RouterAのvariance 6コマンドを入れていない状態から見ていきましょう。
最初に,ルーティング・テーブルを確認します。

RouterA#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

D  10.0.0.0/8 [90/409600] via 192.168.1.2, 00:03:16, Ethernet0
C  192.168.1.0/24 is directly connected, Ethernet0
C  192.168.2.0/24 is directly connected, Serial0


すべてのネットワークが見えていますね。
RouterBの10.1.1.1/32の経路は自動集約されて,10.0.0.0/8でアドバタイズされているのがわかります。

次に,EIGRPのトポロジ・データベースを見てみます。

RouterA#show ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(192.168.2.1)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
    r - reply Status, s - sia Status

P 10.0.0.0/8, 1 successors, FD is 409600
    via 192.168.1.2 (409600/128256), Ethernet0
    via 192.168.2.2 (2297856/128256), Serial0

P 192.168.1.0/24, 1 successors, FD is 281600
    via Connected, Ethernet0
P 192.168.2.0/24, 1 successors, FD is 2169856
    via Connected, Serial0


トポロジ・データベースの10.0.0.0/8の経路情報に注目します。
192.168.1.2(Ethernet)経由と,192.168.2.2(Serial)経由の二つの経路情報を持っています。
192.168.1.2がサクセサ(最適経路のネクスト・ホップ)で,192.168.2.2がフィージブル・サクセサ(バックアップ経路のネクストホップ)です。
このうちのサクセサの経路がルーティング・テーブルに登録されていたわけです。
ただこの状態では,10.0.0.0/8あてに使われる経路はルーティング・テーブルに登録されているサクセサの経路(192.168.1.2経由)だけなので負荷分散されません。
そこで,フィージブル・サクセサの経路(192.168.2.2経由)も使って,トラフィックを負荷分散させます。

EIGEPでは,最適経路のメトリックの何倍までの経路を負荷分散の対象にするかを決められます。
最適経路である192.168.1.2経由のメトリックは409600で,バックアップ経路である192.168.2.2経由のメトリックは2297856です(メトリックの算出方法は後述)。
ということは,最適経路のメトリックの6倍がになれば,バックアップ経路のメトリックの範囲内になります(2297856<409600×6=2457600)。
そこでvarianceコマンドを使って,最適経路の6倍までを負荷分散の対象にします。

RouterA(config)#router eigrp 1
RouterA(config-router)#variance 6


いったんルーティング・テーブルをクリアして,ルーティング・テーブルを表示させてみましょう。

RouterA#clear ip route *
RouterA#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

D  10.0.0.0/8 [90/409600] via 192.168.1.2, 00:00:01, Ethernet0
          [90/2297856] via 192.168.2.2, 00:00:01, Serial0
C  192.168.1.0/24 is directly connected, Ethernet0
C  192.168.2.0/24 is directly connected, Serial0


メトリック2297856のフィージブル・サクセサの経路情報もルーティング・テーブルに登録されました。
10.0.0.0/8あての経路は,この二つの経路情報を使って負荷分散されるはずです。

10.1.1.1あての経路情報を詳しく見てみます。

RouterA#show ip route 10.1.1.1
Routing entry for 10.0.0.0/8
 Known via "eigrp 1", distance 90, metric 409600, type internal
 Redistributing via eigrp 1
 Last update from 192.168.2.2 on Serial0, 00:00:18 ago
 Routing Descriptor Blocks:
 * 192.168.1.2, from 192.168.1.2, 00:00:18 ago, via Ethernet0
   Route metric is 409600, traffic share count is
240
   Total delay is 6000 microseconds, minimum bandwidth is 10000 Kbit
   Reliability 255/255, minimum MTU 1500 bytes
   Loading 1/255, Hops 1

  192.168.2.2, from 192.168.2.2, 00:00:18 ago, via Serial0
   Route metric is 2297856, traffic share count is 43
   Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
   Reliability 255/255, minimum MTU 1500 bytes
   Loading 1/255, Hops 1


192.168.1.2経由と192.168.2.2経由の二つの経路情報が表示されました。
一番左に「*」印が付いている経路情報が,次に使われる予定の経路情報です。
ここで注目は,青字の数字です。
この数は,この経路でパケットを転送する数で,記載の数だけ転送し終わったら,次の経路でパケットを転送します。
つまり今回の場合は,192.168.2.2に240個のパケットを送ったら次は192.168.2.2に43個パケットを送り…という動作を繰り返すわけです。

試しに,10.1.1.1あてに240個のpingパケットを送ってみましょう。
拡張pingコマンドを使います。

RouterA#ping
Protocol [ip]:
Target IP address: 10.1.1.1
Repeat count [5]: 240
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 240, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (240/240), round-trip min/avg/max = 4/5/8 ms


再び,10.0.0.0/8あての経路情報を確認してみましょう。

RouterA#show ip route 10.1.1.1
Routing entry for 10.0.0.0/8
 Known via "eigrp 1", distance 90, metric 409600, type internal
 Redistributing via eigrp 1
 Last update from 192.168.2.2 on Serial0, 00:01:36 ago
 Routing Descriptor Blocks:
  192.168.1.2, from 192.168.1.2, 00:01:36 ago, via Ethernet0
   Route metric is 409600, traffic share count is 240
   Total delay is 6000 microseconds, minimum bandwidth is 10000 Kbit
   Reliability 255/255, minimum MTU 1500 bytes
   Loading 1/255, Hops 1
 * 192.168.2.2, from 192.168.2.2, 00:01:36 ago, via Serial0
   Route metric is 2297856, traffic share count is 43
   Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
   Reliability 255/255, minimum MTU 1500 bytes
   Loading 1/255, Hops 1


「*」印が192.168.2.2経由の経路に移りました。
こうして,コストの違いを考慮した負荷分散が実行されるわけです。

●EIGRPにおけるメトリックの計算
おまけで,EIGRPのメトリックの算出方法を見てみます。
EIGRPのメトリックは,デフォルトで以下のようになります。

メトリック=(帯域幅+遅延)×256
 ・帯域幅=10000000/経路上の最小の帯域幅(kbps)
 ・遅延=各リンクの遅延の合計(μsec)/10


RouterAの10.0.0.0/8あて経路情報のメトリックを計算してみましょう。
それぞれのリンクの帯域幅と遅延は,show interfaceを見るとわかります。

○RouterA―RouterB間(Serialリンク)
RouterA#show interfaces serial 0
Serial0 is up, line protocol is up
 Hardware is HD64570
 Internet address is 192.168.2.1/24
 MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
   reliability 255/255, txload 1/255, rxload 1/255
 Encapsulation HDLC, loopback not set
 Keepalive set (10 sec)
 Last input 00:00:02, output 00:00:03, output hang never
 Last clearing of "show interface" counters never
 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
 Queueing strategy: weighted fair
 Output queue: 0/1000/64/0 (size/max total/threshold/drops)
   Conversations 0/1/256 (active/max active/max total)
   Reserved Conversations 0/0 (allocated/max allocated)
   Available Bandwidth 1158 kilobits/sec
 5 minute input rate 0 bits/sec, 0 packets/sec
 5 minute output rate 0 bits/sec, 0 packets/sec
   6060 packets input, 378098 bytes, 0 no buffer
   Received 2129 broadcasts, 0 runts, 0 giants, 0 throttles
   0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
   6072 packets output, 378594 bytes, 0 underruns
   0 output errors, 0 collisions, 7 interface resets
   0 output buffer failures, 0 output buffers swapped out
   4 carrier transitions
   DCD=up DSR=up DTR=up RTS=up CTS=up


○RouterA―RouterB間(Ethernetのリンク)
RouterA#show interfaces ethernet 0
Ethernet0 is up, line protocol is up
 Hardware is Lance, address is 00e0.b05b.3901 (bia 00e0.b05b.3901)
 Internet address is 192.168.1.1/24
 MTU 1500 bytes,
BW 10000 Kbit, DLY 1000 usec,
   reliability 255/255, txload 1/255, rxload 1/255
 Encapsulation ARPA, loopback not set
 Keepalive set (10 sec)
 ARP type: ARPA, ARP Timeout 04:00:00
 Last input 00:00:04, output 00:00:01, output hang never
 Last clearing of "show interface" counters never
 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
 Queueing strategy: fifo
 Output queue: 0/40 (size/max)
 5 minute input rate 0 bits/sec, 0 packets/sec
 5 minute output rate 0 bits/sec, 0 packets/sec
   4503 packets input, 415448 bytes, 0 no buffer
   Received 4258 broadcasts, 0 runts, 0 giants, 0 throttles
   0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
   0 input packets with dribble condition detected
   6383 packets output, 528867 bytes, 0 underruns
   2 output errors, 0 collisions, 6 interface resets
   0 babbles, 0 late collision, 1 deferred
   2 lost carrier, 0 no carrier
   0 output buffer failures, 0 output buffers swapped out


○RouterB(ループバック)
RouterB#show interfaces loopback 0
Loopback0 is up, line protocol is up
 Hardware is Loopback
 Internet address is 10.1.1.1/32
 MTU 1514 bytes, BW 8000000 Kbit, DLY 5000 usec,
   reliability 255/255, txload 1/255, rxload 1/255
 Encapsulation LOOPBACK, loopback not set
 Last input 00:00:00, output never, output hang never
 Last clearing of "show interface" counters never
 Queueing strategy: fifo
 Output queue 0/0, 0 drops; input queue 0/75, 0 drops
 5 minute input rate 0 bits/sec, 0 packets/sec
 5 minute output rate 0 bits/sec, 0 packets/sec
   0 packets input, 0 bytes, 0 no buffer
   Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
   0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
   3956 packets output, 237360 bytes, 0 underruns
   0 output errors, 0 collisions, 0 interface resets
   0 output buffer failures, 0 output buffers swapped out

以上で調べた帯域幅と遅延を使って,公式に数字をあてはめればメトリックが求まります。

192.168.1.1(Ethernet)経由のメトリックは,
 ・帯域幅=10000000/10000kbps=1000
 ・遅延=(1000+5000)μsec/10=600
よってメトリックは,(1000+600)×256=409600

192.168.2.2(Serial)経由のメトリックは,
 ・帯域幅=10000000/1544kbps=6476(小数点は切り捨てます)
 ・遅延=(20000+5000)μsec/10=2500
よってメトリックは,(6476+2500)×256=2297856

RouterAの10.0.0.0/8あてのメトリックは以下のようになっていました。

RouterA#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

D  10.0.0.0/8 [90/409600] via 192.168.1.2, 00:00:01, Ethernet0
          [90/
2297856] via 192.168.2.2, 00:00:01, Serial0
C  192.168.1.0/24 is directly connected, Ethernet0
C  192.168.2.0/24 is directly connected, Serial0

いずれも計算と一致していますね。

EIGRPラボ
EIGRPの基本設定
パッシブ・インタフェースの設定
不等コスト・ロードバランシング
タイマーの設定
NBMAネットワークにおけるEIGRPの設定