EIGRP テーブル
EIGRPでは、3つのテーブルを利用します。
①ルーティングテーブル
L3SW-1#show ip route eigrp
10.0.0.0/24 is subnetted, 3 subnets
D 10.1.1.0 [90/3072] via 172.16.1.2, 00:03:09, GigabitEthernet0/0
D 10.1.2.0 [90/3072] via 172.16.2.2, 00:03:09, GigabitEthernet0/1
D 10.1.3.0 [90/3072] via 172.16.3.2, 00:03:09, GigabitEthernet0/2
②トポロジーテーブル
L3SW-1#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(10)/ID(172.16.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 10.1.3.0/24, 1 successors, FD is 3072
via 172.16.3.2 (3072/2816), GigabitEthernet0/2
P 172.16.2.0/24, 1 successors, FD is 2816
via Connected, GigabitEthernet0/1
③ネイバーテーブル
L3SW-1#show ip eigrp neighbor
EIGRP-IPv4 Neighbors for AS(10)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 172.16.1.2 Gi0/0 11 00:40:58 2 100 0 28
3 192.168.1.2 Gi0/3 11 01:40:15 5 100 0 23
2 172.16.2.2 Gi0/1 11 01:43:13 1 100 0 34
1 172.16.3.2 Gi0/2 14 01:43:42 1 100 0 24
タイマー
EIGRPには2つのタイマーがある。
・Hello Interval
Helloパケットの送信間隔。
デフォルトは、5秒間隔で送信。
・Hold time
EIGRPネイバーに到達でき、機能している(存在している)ことを確認する。
ハローパケットを受信する度に、カウントがリセットされ、同時にカウントダウンが再開する。
Hold timeが0になると、ネイバーに到達不可で、ネイバーダウンと判断する。
デフォルトは、15秒間。Hello intervalの3倍の値で設定される。
下記の通り、Holdtimeは、10秒未満にならない。
5秒ごとにHelloパケットを受信するため、5秒経過するとまた15秒に戻ります。
L3SW-1#sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(10)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
3 192.168.1.2 Gi0/3 10 00:04:07 1015 5000 0 3
2 172.16.2.2 Gi0/1 10 00:07:05 3 100 0 4
1 172.16.3.2 Gi0/2 10 00:07:34 5 100 0 4
0 172.16.1.2 Gi0/0 13 00:07:58 3 100 0 4
L3SW-1#sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(10)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
3 192.168.1.2 Gi0/3 14 00:04:08 1015 5000 0 3
2 172.16.2.2 Gi0/1 14 00:07:06 3 100 0 4
1 172.16.3.2 Gi0/2 14 00:07:35 5 100 0 4
0 172.16.1.2 Gi0/0 12 00:07:59 3 100 0 4
L3SW-1#
L3SW-1↔ L3SW-2の構成で、L3SW-1の「-2」向けインタフェースをダウンさせると
約15秒後に hold time expiredのログが出て、ネイバーダウン。
ネイバーテーブルからも削除される。
L3SW-1(config-if)#
*Feb 6 05:56:09.814: %LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to administratively down
*Feb 6 05:56:10.814: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to down
L3SW-2#
*Feb 6 05:56:23.525: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 172.16.1.1 (GigabitEthernet0/0) is down: holding time expired
L3SW-2#show ip eigrp neighbor
EIGRP-IPv4 Neighbors for AS(10)
L3SW-2#
メトリック
EIGRPは、デフォルトで下記2点を使って、メトリックの計算を行います。
①最小帯域幅
②遅延
上記の値は、インタフェースのタイプによって異なります。
タイプ スピード 遅延
FastEthernet 100M(100,000Kbps) 100μs
GigabitEthernet 1000M(1,000,000Kbps) 10μs
10GigabitEthernet 10000M(10,000,000Kbps) 10μs
計算式
256*(10⁷/最小帯域幅+遅延の合計値/10)
上図では、全てGigabitEthernetなので、帯域と遅延が同じ値です。
L3SW-1#sh interfaces gigabitEthernet 0/0
BW 1000000 Kbit/sec, DLY 10 usec
L3SW-6#sh int vlan 1
Internet address is 100.100.100.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
L3SW-1→L3SW-6までのメトリックについて、上記の式に当てはめると
256*(10⁷/1,000,000+30/10)=256*(10+3)=256*13=3328
遅延は、L3SW-1↔L3SW-2/3/4で10、L3SW-2/3/4↔L3SW-6で10、L3SW-6で10の合計30
L3SW-1#show ip eigrp topology
P 100.100.100.0/24, 3 successors, FD is 3328
via 172.16.1.2 (3328/3072), GigabitEthernet0/0
via 172.16.2.2 (3328/3072), GigabitEthernet0/1
via 172.16.3.2 (3328/3072), GigabitEthernet0/2
1つ手前の10.1.1.0/24などの経路向けは、遅延の合計値が10減るので
256*(10⁷/1,000,000+20/10)=256*(10+2)=256*12=3072
L3SW-1#show ip eigrp topology
P 10.1.1.0/24, 1 successors, FD is 3072
via 172.16.1.2 (3072/2816), GigabitEthernet0/0
P 10.1.2.0/24, 1 successors, FD is 3072
via 172.16.2.2 (3072/2816), GigabitEthernet0/1
P 10.1.3.0/24, 1 successors, FD is 3072
via 172.16.3.2 (3072/2816), GigabitEthernet0/2
ロードバランシング
等コスト
OSPFやRIPと同じく、EIGRPは、ECMP(等コストロードバランシング)をサポートしているので、同じ宛先・同じメトリックの経路を複数ルーティングテーブルに登録できる。
EIGRPは、等コストの経路をデフォルトで4つまで登録できます。
下記コマンドで変更可能。
実際に、等コストで登録できる最大経路数を変更してみます。
変更前
デフォルトなので、4と表示されてます。
L3SW-1(config-router)#do sh ip protocols
Maximum path: 4
L3SW-1のルーティングテーブルには、「100.100.100.1/32」のルートが3つ登録されます。(等コストなので、メトリックは、3経路全て3328で同じです)
L3SW-1#sh ip route
D 100.100.100.0 [90/3328] via 172.16.3.2, 00:01:10, GigabitEthernet0/2
[90/3328] via 172.16.2.2, 00:01:10, GigabitEthernet0/1
[90/3328] via 172.16.1.2, 00:01:10, GigabitEthernet0/0
コンフィグ
L3SW-1(config)#router eigrp 10
L3SW-1(config-router)#maximum-path ?
<1-32> Number of paths
L3SW-1(config-router)#maximum-path 2
(最大経路数をデフォルトの4つ→2つに変更)
設定後
表示が4から2に変わってます。
L3SW-1(config-router)#do sh ip protocols
Maximum path: 2
ルーティングテーブルも、3から2に変わってますね。
L3SW-1#sh ip route
D 100.100.100.0 [90/3328] via 172.16.2.2, 00:01:25, GigabitEthernet0/1
[90/3328] via 172.16.1.2, 00:01:25, GigabitEthernet0/0
不等コスト
OSPFやRIPと異なる点は、EIGRPは、不等コストロードバランシングをサポートしている。不等コスト=メトリックが異なる経路。
つまり、最適経路(サクセサールート)とバックアップ経路(フィージーブルルート)
を両方ルーティングテーブルに登録できる。
(OSPFやRIPは、最適経路だけルーティングテーブルに登録しておき
最適経路に障害が発生した際に、バックアップ経路が自動で登録される。)
EIGRPの「variance 」という値を変更することによって、不等コストロードバランシングが利用できる。=デフォルトのvarianceは1なので、等コスト(ECMP)状態。
不等コストロードバランシングとして、使える経路には条件があり下記2点
①フィージーブルサクセサとして選ばれたルート(バックアップ経路)
②EIGRPのvariance値より低いメトリック(FD)のルート
(variance値を変更するのは、②のためですね。)
EIGRPのvariance値=FD(最小メトリック) x Variance Multiplier(負荷倍率)
variance multiplier = フィージーブルサクセサのFD / サクセサルートのFD
(小数点は切り上げ)
不等コストの検証をするために、まずvarianceの値を変更します。
(上記で記載した通り、デフォルトでは等コストが有効なので)
コンフィグ
L3SW-1(config-router)#variance ?
<1-128> Metric variance multiplier
L3SW-1(config-router)#variance 2
設定後
L3SW-1#show ip protocols
Maximum metric variance 2
メトリックを不等コストにするために、インタフェースの遅延を変更します。
設定前
L3SW-1(config)#do sh int gi0/0
Internet address is 172.16.1.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec
L3SW-1#show ip route eigrp
D 100.100.100.0 [90/3328] via 172.16.3.2, 00:00:46, GigabitEthernet0/2
[90/3328] via 172.16.2.2, 00:00:46, GigabitEthernet0/1
[90/3328] via 172.16.1.2, 00:00:46, GigabitEthernet0/0
L3SW-1(config)#do sh ip eigrp topology
P 100.100.100.0/24, 3 successors, FD is 3328
via 172.16.1.2 (3328/3072), GigabitEthernet0/0
via 172.16.2.2 (3328/3072), GigabitEthernet0/1
via 172.16.3.2 (3328/3072), GigabitEthernet0/2
コンフィグ
L3SW-1(config-if)#delay ?
<1-16777215> Throughput delay (tens of microseconds)
L3SW-1(config-if)#delay 5
※単位が、(tens of microseconds)なので、5にすれば50μsに設定されます。
50にしたいからとdelay 50にすると500μsになるので注意。
設定後
L3SW-1(config)#do sh int gi0/0
Internet address is 172.16.1.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 50 usec
D 100.100.100.0 [90/3328] via 172.16.3.2, 00:00:01, GigabitEthernet0/2
[90/3328] via 172.16.2.2, 00:00:01, GigabitEthernet0/1
[90/4352] via 172.16.1.2, 00:00:01, GigabitEthernet0/0
L3SW-1(config)#do sh ip eigrp topology
P 100.100.100.0/24, 3 successors, FD is 3328
via 172.16.1.2 (4352/3072), GigabitEthernet0/0
via 172.16.2.2 (3328/3072), GigabitEthernet0/1
via 172.16.3.2 (3328/3072), GigabitEthernet0/2
遅延を変更したGi0/0だけ、メトリックが変わってます。
-------------------------------------------------------------------
ちなみに、この状態で、varianceをデフォルトの1にすると
ルーティングテーブルには、最小メトリック(3328)の経路しか登録されないです。
(variance1は、等コストなので)
トポロジーテーブルには、登録されます。
L3SW-1(config)#do sh ip protocols
Maximum metric variance 1
L3SW-1(config)#do sh ip route eigrp
D 100.100.100.0 [90/3328] via 172.16.3.2, 00:00:28, GigabitEthernet0/2
[90/3328] via 172.16.2.2, 00:00:28, GigabitEthernet0/1
L3SW-1(config)#do sh ip eigrp topology
P 100.100.100.0/24, 2 successors, FD is 3328
via 172.16.1.2 (4352/3072), GigabitEthernet0/0
via 172.16.3.2 (3328/3072), GigabitEthernet0/2
via 172.16.2.2 (3328/3072), GigabitEthernet0/1
-------------------------------------------------------------------
-------------------------------------------------------------------
現状のvariance値は、2で設定していますので、
100.100.100.1/32向けの経路は、メトリックが3328< この範囲<6656は登録されます。
つまり6657以上は登録されない。
試しに遅延を変更してメトリックを6657以上にしてみます。
コンフィグ
L3SW-1(config-if)#delay 30
設定後
L3SW-1(config)#do sh int gi0/0
Internet address is 172.16.1.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 300 usec,
L3SW-1(config)#do sh ip route
D 100.100.100.0 [90/3328] via 172.16.3.2, 00:12:05, GigabitEthernet0/2
[90/3328] via 172.16.2.2, 00:12:05, GigabitEthernet0/1
L3SW-1(config)#do sh ip eigrp topology
P 100.100.100.0/24, 2 successors, FD is 3328
via 172.16.1.2 (10752/3072), GigabitEthernet0/0
via 172.16.3.2 (3328/3072), GigabitEthernet0/2
via 172.16.2.2 (3328/3072), GigabitEthernet0/1
メトリック6657以上のGi0/0は登録されてないですね。
ルートサマリー
EIGRPは、広報するいくつかのセグメントを1つにまとめて広報することが可能。
まとめて広報することで、ルーティングテーブルに登録される行数も減り、CPUなどの負担も減る。
赤色の3経路を172.16.0.0/22にまとめます。
設定前
L3SW-5#show ip route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
D 10.1.1.0 [90/3328] via 192.168.1.1, 00:02:42, GigabitEthernet0/3
172.16.0.0/24 is subnetted, 3 subnets
D 172.16.1.0 [90/3072] via 192.168.1.1, 00:01:18, GigabitEthernet0/3
D 172.16.2.0 [90/3072] via 192.168.1.1, 00:12:38, GigabitEthernet0/3
D 172.16.3.0 [90/3072] via 192.168.1.1, 00:12:38, GigabitEthernet0/3
コンフィグ
設定は、2パターンで可能
L3SW-1(config-if)#ip summary-address eigrp 10 ?
A.B.C.D Summary IP address
A.B.C.D/nn Summary <network>/<length>, e.g. 192.168.0.0/16
ip summary-address <プロトコル> <AS番号> <network> <mask>
ip summary-address <プロトコル> <AS番号> <network/nn>
①L3SW-1(config-if)#ip summary-address eigrp 10 172.16.0.0 255.255.252.0
②L3SW-1(config-if)#ip summary-address eigrp 10 172.16.0.0/22
設定後
L3SW-5#show ip route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
D 10.1.1.0 [90/3328] via 192.168.1.1, 00:27:43, GigabitEthernet0/3
172.16.0.0/22 is subnetted, 1 subnets
D 172.16.0.0 [90/3072] via 192.168.1.1, 00:02:13, GigabitEthernet0/3
L3SW-5 → L3SW-2・3・4にping
L3SW-5#ping 172.16.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/5 ms
L3SW-5#ping 172.16.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/5 ms
L3SW-5#ping 172.16.3.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/4 ms
L3SW-5#