EIGRPの等コストロードバランスを確認する為、Offset-list機能を使用してみた。
Offset Listとは、経路情報の受信時もしくは送信時にメトリックを加算する機能。
RIPでもOffset List機能があるが、RIPの場合はHop Countを加算するのに対し、EIGRPの場合はdelay値の累積が加算される。
Offset ListではACLで対象となる経路情報を引っ掛けて、設定したdelay値分を加算する。
例えば、ある宛先への経路情報が2本ある場合、Offset Listで2本のメトリック値が等しくなるようdelay値を加算すれば、等コストロードバランスが実現出来るというやつだ。
Cisco Pressから出版されている唯一のEIGRP本「EIGRP NETWORK DESIGN SOLUTIONS (Ivan Pepelnjak著,2000年)」には、残念ながらOffset Listの記載は無い為、Ciscoのサイトでコマンドを確認した。
MI-CAT3750-ME-SW-01:Catalyst3750 Metro
MI-CAT3750-ME-SW-02:Catalyst3750 Metro
MI-CAT3750-ME-SW-03:Catalyst3750 Metro
今回は、宛先への経路が2本ある環境にて、2本の経路で等コストロードバランスが実現出来るようEIGRPのOffset Listを設定。
図中のMI-CAT3750-ME-SW-02がトラヒックフローの送信元、RT〜MI-CAT3750-ME-SW-01区間のNWである10.128.100.0/30が宛先とする。
各機器のインターフェースにdelay値を手動で設定し、初期状態ではMI-CAT3750-ME-SW-03を経由しないようにした。
ルーティングテーブルの確認
1.Offset List設定前の、MI-CAT3750-ME-SW-02のルーティングテーブルを確認。
10.128.100.0/30の経路情報は1本のみで、Outbound InterfaceはFa1/0/1である事がわかる。
MI-CAT3750-ME-SW-02#sh ip route : (snip) : 10.0.0.0/8 is variably subnetted, 9 subnets, 2 masks C 10.128.10.0/30 is directly connected, FastEthernet1/0/1 L 10.128.10.2/32 is directly connected, FastEthernet1/0/1 D 10.128.11.0/30 [90/102400] via 10.128.10.1, 00:07:12, FastEthernet1/0/1 C 10.128.12.0/30 is directly connected, FastEthernet1/0/2 L 10.128.12.1/32 is directly connected, FastEthernet1/0/2 D 10.128.100.0/30 [90/179200] via 10.128.10.1, 00:07:09, FastEthernet1/0/1 D 10.200.100.1/32 [90/179200] via 10.128.10.1, 00:07:09, FastEthernet1/0/1 C 10.200.100.2/32 is directly connected, Loopback0 D 10.200.100.3/32 [90/204800] via 10.128.12.2, 00:07:12, FastEthernet1/0/2 MI-CAT3750-ME-SW-02#
2.MI-CAT3750-ME-SW-02のEIGRPトポロジテーブルを確認。
10.128.100.0/30へのサクセサは、Fa1/0/1の対向先であるMI-CAT3750-ME-SW-01である事がわかる。
一方、10.128.100.0/30へのもう1本の経路は、Reported Distance値(Advertised Distance値)がFDより大きい値である為、フィージブルサクセサにはならない事がわかる。
FD値179200 > Advertised Distance値204800
MI-CAT3750-ME-SW-02#sh ip eigrp topology all-links EIGRP-IPv4 Topology Table for AS(1)/ID(10.200.100.2) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 10.128.10.0/30, 1 successors, FD is 51200, serno 2 via Connected, FastEthernet1/0/1 P 10.128.100.0/30, 1 successors, FD is 179200, serno 5 via 10.128.10.1 (179200/128256), FastEthernet1/0/1 via 10.128.12.2 (256000/204800), FastEthernet1/0/2 P 10.128.12.0/30, 1 successors, FD is 76800, serno 3 via Connected, FastEthernet1/0/2 P 10.200.100.2/32, 1 successors, FD is 128256, serno 1 via Connected, Loopback0 P 10.200.100.3/32, 1 successors, FD is 204800, serno 6 via 10.128.12.2 (204800/128256), FastEthernet1/0/2 via 10.128.10.1 (230400/204800), FastEthernet1/0/1 P 10.200.100.1/32, 1 successors, FD is 179200, serno 4 via 10.128.10.1 (179200/128256), FastEthernet1/0/1 via 10.128.12.2 (256000/204800), FastEthernet1/0/2 P 10.128.11.0/30, 1 successors, FD is 102400, serno 8 via 10.128.10.1 (102400/76800), FastEthernet1/0/1 via 10.128.12.2 (128000/76800), FastEthernet1/0/2
3.ちなみに、EIGRPメトリック値の計算で使用される各オプションである、Bandwidth(帯域幅)、Reliability(信頼性)、Delay(遅延値)、負荷(Load)、MTUは以下のコマンドで確認出来る。
MI-CAT3750-ME-SW-02#sh ip eigrp topology 10.128.100.0 255.255.255.252 EIGRP-IPv4 Topology Entry for AS(1)/ID(10.200.100.2) for 10.128.100.0/30 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 179200 Descriptor Blocks: 10.128.10.1 (FastEthernet1/0/1), from 10.128.10.1, Send flag is 0x0 Composite metric is (179200/128256), route is Internal Vector metric: Minimum bandwidth is 100000 Kbit Total delay is 6000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1 Originating router is 10.200.100.1 10.128.12.2 (FastEthernet1/0/2), from 10.128.12.2, Send flag is 0x0 Composite metric is (256000/204800), route is Internal Vector metric: Minimum bandwidth is 100000 Kbit Total delay is 9000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 2 Originating router is 10.200.100.1
※「Originating router is」で出力されている文字列はEIGRPルータIDである。
Offset Listの設定
4.コマンドの構文は以下のとおり。
offset-list [ACL番号] [in/out] [加算するDistance値] [Interface]
上記2.のEIGRPトポロジテーブルにて確認出来た2本の経路情報のメトリック値を同一にしたい。
サクセサの経路情報のDistance値179200を、サクセサではない経路情報のDistance値256000に合わせればよいので、上記構文中の[加算するDistance値]は、256000-179200=76800 より76800になる。
[ACL番号]はゼロにすると、対象となるInterfaceから受信した or 送信したアップデート情報全てがOffset Listの対象となる。
[in/out]の箇所は、inなので受信したアップデート情報にDistance値が加算される。
MI-CAT3750-ME-SW-02#conf t MI-CAT3750-ME-SW-02(config)#router eigrp 1 MI-CAT3750-ME-SW-02(config-router)#offset-list 0 in 76800 fastEthernet 1/0/1 MI-CAT3750-ME-SW-02(config-router)#end MI-CAT3750-ME-SW-02#
設定後5秒経った段階で以下のログが出力された。
EIGRPの設定内容の変化をトリガーに、EIGRPトポロジテーブルが更新され、ネイバーとの間で情報が同期された事を示す。
(Updateで通知→Ackで返答受信、Updateを受信→Ackで受領を返答)
MI-CAT3750-ME-SW-02# Mar 1 00:13:46.907: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.128.10.1 (FastEthernet1/0/1) is resync: intf route configuration changed MI-CAT3750-ME-SW-02#
5.Offset List設定後に、再度ルーティングテーブルを確認。
宛先10.128.100.0/30への経路情報が2本になった事がわかる。
AD値、メトリック値共に同一だ。
トラヒックフローはCEFをベースとした「Per source-destination-pair Load balance」によりフロー毎に振り分けられる。
MI-CAT3750-ME-SW-02#sh ip route : (snip) : 10.0.0.0/8 is variably subnetted, 9 subnets, 2 masks C 10.128.10.0/30 is directly connected, FastEthernet1/0/1 L 10.128.10.2/32 is directly connected, FastEthernet1/0/1 D 10.128.11.0/30 [90/128000] via 10.128.12.2, 00:00:42, FastEthernet1/0/2 C 10.128.12.0/30 is directly connected, FastEthernet1/0/2 L 10.128.12.1/32 is directly connected, FastEthernet1/0/2 D 10.128.100.0/30 [90/256000] via 10.128.12.2, 00:00:41, FastEthernet1/0/2 [90/256000] via 10.128.10.1, 00:00:41, FastEthernet1/0/1 D 10.200.100.1/32 [90/256000] via 10.128.12.2, 00:00:41, FastEthernet1/0/2 [90/256000] via 10.128.10.1, 00:00:41, FastEthernet1/0/1 C 10.200.100.2/32 is directly connected, Loopback0 D 10.200.100.3/32 [90/204800] via 10.128.12.2, 00:00:42, FastEthernet1/0/2 MI-CAT3750-ME-SW-02#
6.再度、EIGRPトポロジテーブルを確認すると、10.128.100.0/30へのサクセサが2つになった事がわかる。
MI-CAT3750-ME-SW-02#sh ip eigrp topology all EIGRP-IPv4 Topology Table for AS(1)/ID(10.200.100.2) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 10.128.10.0/30, 1 successors, FD is 51200, serno 2 via Connected, FastEthernet1/0/1 P 10.128.100.0/30, 2 successors, FD is 256000, serno 13 via 10.128.12.2 (256000/204800), FastEthernet1/0/2 via 10.128.10.1 (256000/205056), FastEthernet1/0/1 P 10.128.12.0/30, 1 successors, FD is 76800, serno 3 via Connected, FastEthernet1/0/2 P 10.200.100.2/32, 1 successors, FD is 128256, serno 1 via Connected, Loopback0 P 10.200.100.3/32, 1 successors, FD is 204800, serno 6 via 10.128.12.2 (204800/128256), FastEthernet1/0/2 via 10.128.10.1 (307200/281600), FastEthernet1/0/1 P 10.200.100.1/32, 2 successors, FD is 256000, serno 12 via 10.128.12.2 (256000/204800), FastEthernet1/0/2 via 10.128.10.1 (256000/205056), FastEthernet1/0/1 P 10.128.11.0/30, 1 successors, FD is 102400, serno 11 via 10.128.12.2 (128000/76800), FastEthernet1/0/2 via 10.128.10.1 (179200/153600), FastEthernet1/0/1
ところで上記に出力されている「serno」は、経路情報各々に付与されたシリアル番号だ。
経路情報が更新される程、この値は加算される。
7.「Total delay is」の項目を確認すると、両方共同一の値9000になっている事がわかる。
上記4.でのdelay値の加算により、同一となった為だ。
MI-CAT3750-ME-SW-02#sh ip eigrp topology 10.128.100.0 255.255.255.252 EIGRP-IPv4 Topology Entry for AS(1)/ID(10.200.100.2) for 10.128.100.0/30 State is Passive, Query origin flag is 1, 2 Successor(s), FD is 256000 Descriptor Blocks: 10.128.12.2 (FastEthernet1/0/2), from 10.128.12.2, Send flag is 0x0 Composite metric is (256000/204800), route is Internal Vector metric: Minimum bandwidth is 100000 Kbit Total delay is 9000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 2 Originating router is 10.200.100.1 10.128.10.1 (FastEthernet1/0/1), from 10.128.10.1, Send flag is 0x0 Composite metric is (256000/205056), route is Internal Vector metric: Minimum bandwidth is 100000 Kbit Total delay is 9000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1 Originating router is 10.200.100.1 MI-CAT3750-ME-SW-02#
8.sh ip route [宛先NW]コマンドを実行すると、どのインターフェースからトラヒックフローを流すか確認する事が出来る。
アスタリスク印「 *」が付いている方が、次に送信されるトラヒックフローのOutboundインターフェースである事を示す。
以下の例では、Fa1/0/1がOutboundインターフェースになる。
MI-CAT3750-ME-SW-02#show ip route 10.128.100.0 255.255.255.252 Routing entry for 10.128.100.0/30 Known via "eigrp 1", distance 90, metric 256000, type internal Redistributing via eigrp 1 Last update from 10.128.12.2 on FastEthernet1/0/2, 00:01:12 ago Routing Descriptor Blocks: 10.128.12.2, from 10.128.12.2, 00:01:12 ago, via FastEthernet1/0/2 Route metric is 256000, traffic share count is 1 Total delay is 9000 microseconds, minimum bandwidth is 100000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 2 * 10.128.10.1, from 10.128.10.1, 00:01:12 ago, via FastEthernet1/0/1 Route metric is 256000, traffic share count is 1 Total delay is 9000 microseconds, minimum bandwidth is 100000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 MI-CAT3750-ME-SW-02#
リンク集
https://www.cisco.com/c/ja_jp/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/13673-14.html
https://www.amazon.co.jp/dp/1578701651 EIGRP Network Design Solutions
https://debslink.hatenadiary.jp/entry/20150416/1429195527 EIGRPのLocal Computation
https://debslink.hatenadiary.jp/entry/20150415/1429107405 EIGRPのDiffusing Computation
https://debslink.hatenadiary.jp/entry/20150419/1429422783 EIGRPのDiffusing Computation メトリック値変更編
https://debslink.hatenadiary.jp/entry/20150425/1429926903 EIGRPのDiffusing Computation SIA編
https://debslink.hatenadiary.jp/entry/20150503/1430659609 EIGRPのDiffusing Computation 経路追加編