EIGRP②

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)

 

f:id:slavex:20220206153739p:plain

 

上図では、全て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つまで登録できます。

下記コマンドで変更可能。

 

実際に、等コストで登録できる最大経路数を変更してみます。

 

f:id:slavex:20220206153739p:plain

変更前

デフォルトなので、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などの負担も減る。

 

f:id:slavex:20220206144231p:plain

 

赤色の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#