メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

EIGRPの優先ルートの選定 offset-list編

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 経路追加編