※このページで解説している内容は、Packet Tracer が IGRP に対応していないため、検証することができません。実機における検証結果を紹介しています。検証に使った実機は、古い機種です。

IGRP(不等コストロードバランシング)

不等ロードバランシングの設定

ここでは、IGRP のロードバランシングについて紹介します。RIP と同様、等コストロードバランシングが行えます。

 IGRPでは、デフォルトで4つまでの経路で等コストバランシングが行えます。下のコマンドを使えば最大で6つまでの経路で等コストロードバランシングを行うことができます。

Router(config-router)#maximum-paths {等コストパスの数}

 IGRPでは、等コストロードバランシングに加えて、不等コストロードバランシングが行えます。不等コストロードバランシングを行うには、「variance」コマンドを使います。

Router(config-router)#variance {変数}

この変数の値は、デフォルトで1になっています。0は、指定できません。1~128までの範囲で指定します。

不等ロードバランシングの設定を理解しやすくするために下図を見て下さい。

Router_AからRouter_Dまでの経路は

Router_A → Router_B → Router_D ・・・ コスト40

Router_A → Router_C → Router_D ・・・ コスト60

の2つあります。

 デフォルトで、varianceの変数の値は、1になっているので最小コストの40に1を乗算した経路が最適経路として選択します。その結果、コスト40の「Router_A→Router_B→Router_D」が選択されます。

 ここで、残ったコスト60の「Router_A→Router_C→Router_D」経路も使いたい場合、varianceの変数の値を変更するのです。

varianceの変数の値を2にすると

Router(config-router)#variance 2

50×2 = 100

100以下のコストの経路が不等コストロードバランシングに使用されるようになります。

つまり、コスト60の「Router_A→Router_C→Router_D」経路も選択されるようになります。

「traffic-share」コマンド

等コストバランシングを行うか、不等コストロードバランシングを行うかは、「traffic-share」コマンドで指定します。

Router(config-router)#traffic-share {min | balanced}

 「min」を指定した場合は、複数候補の経路があったとしても等コストバランシングになります。「balanced」を選択した場合、経路のコストに比例して不等コストバランシングが行われます。

 IGRP では、デフォルトで「balanced」が指定されていますが、varianceの変数の値は、1になっているのでvarianceの変数の値を変更しない限り、等コストバランシングになるので注意して下さい。

 それでは、IGRP で不等コストロードバランシングを構築していきます。ネットワーク構成は、下図のようになります。

 不等コストロードバランシングを検証するために、プロセススイッチングを設定します。プロセススイッチングにすることで、パケット単位でロードバランシングするようになります。ほとんどのシスコ ルータでは、デフォルトでファーストスイッチングがインターフェイスに対して有効化されています。

プロセススイッチングを有効化する

今回は、プロセススイッチングでロードバランシングを行うので、次のコマンドを設定しておく必要があります。

Router(config-if)#no ip route-cash

 「bandwitdh」コマンドの設定も忘れないようにして下さい。IGRP の設定では、帯域幅を見ますので、この設定を忘れると等コストバランシングが行われます。

●Router_Aの設定

!
version 11.1
service udp-small-servers
service tcp-small-servers
!
hostname Router_A
!
enable password cisco
!
interface Ethernet0
 ip address 172.16.1.1 255.255.255.0
!
interface Serial0
 ip address 172.16.2.1 255.255.255.0
 no ip mroute-cache
 no ip route-cache
 bandwidth 64
 clockrate 64000
!
interface Serial1
 ip address 172.16.3.1 255.255.255.0
 no ip mroute-cache
 no ip route-cache
 bandwidth 125
 clockrate 125000
!
router igrp 1
 variance 2
 network 172.16.0.0
!
ip classless
!
line con 0
line aux 0
line vty 0 4
 password cisco
 login
!
end

●Router_Bの設定

!
version 11.1
service udp-small-servers
service tcp-small-servers
!
hostname Router_B
!
enable password cisco
!
interface Ethernet0
 ip address 172.16.4.1 255.255.255.0
!
interface Serial0
 ip address 172.16.2.2 255.255.255.0
 no ip mroute-cache
 no ip route-cache
 bandwidth 64
!
interface Serial1
 ip address 172.16.3.2 255.255.255.0
 no ip mroute-cache
 no ip route-cache
 bandwidth 125
!
router igrp 1
 variance 2
 network 172.16.0.0
!
ip classless
logging buffered
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 password cisco
 login
!
end

Router_Aで、拡張Pingを行い、宛先IPアドレス172.16.4.1へ向けて、100回Pingパケットを送信します。

●Router_AからのPing

Router_A#ping
Protocol [ip]:
Target IP address: 172.16.4.1
Repeat count [5]: 200
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 172.16.1.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 200, 100-byte ICMP Echoes to 172.16.4.1, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

すぐに、Router_Bに切り替えて、「debug ip packet」の出力を確認します。

●Router_Bの「debug ip packet」の出力


IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial0), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial0), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending
IP: s=172.16.1.1 (Serial1), d=172.16.4.1, len 104, rcvd 4
IP: s=172.16.4.1 (local), d=172.16.1.1 (Serial1), len 104, sending

 Serial0、Serial1が切り替わっています。不等コストロードバランシングが行われていることが確認できます。また、帯域幅の広い、Serial1がよく使われていることが確認できます。

関連コンテンツ