EIGRPのタイマーの設定
・EIGRPルーターのHelloインターバルとholdタイマーを変える
・二つのタイマーが変わっていることを確認する
ネットワーク構成(画像を別ウインドウで表示)
RouterAのコンフィグ
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterA
!
interface Loopback0
ip address 192.168.0.1 255.255.255.0
!
interface Serial0
ip address 192.168.1.1 255.255.255.0
ip hello-interval eigrp 1 60 ←Helloパケット送出間隔を60秒に変更する
ip hold-time eigrp 1 180 ←ホールドタイムを180秒に変更する

clockrate 64000
!
router eigrp 1
network 192.168.0.0
network 192.168.1.0
auto-summary
no eigrp log-neighbor-changes
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
RouterBのコンフィグ
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Loopback0
ip address 192.168.2.1 255.255.255.0
!
interface Serial0
ip address 192.168.1.2 255.255.255.0
no fair-queue
!
router eigrp 1
network 192.168.1.0
network 192.168.2.0
auto-summary
no eigrp log-neighbor-changes
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
確認
EIGRPはOSPFのようにHelloパケットを交換することで,自分の存在を知らせます。
デフォルトでは,インタフェースの速度によって送出間隔が決まっています。
1.5Mビット/秒以上の速度のインターフェースでは5秒間隔,それ以下の速度のインターフェースで30秒間隔です。
ちなみに,ここでのインタフェースの速度は,bandwidthコマンドで設定した帯域幅になります。
このデフォルトの値を設定で変えてしまいましょう。

●EIGRPのタイマー
EIGRPで設定できるタイマーは,以下の二つです。

Helloインターバル…Helloパケットの送出間隔
Holdタイマー………Helloパケットが来なくなってネイバーがダウンしたとみなす時間

ちなみに,EIGRPのHoldタイマーは,RIPのHolddownタイマーと名前は似ていますが別物です。
RIPのHolddownタイマーは,経路情報がなくなったと判断してからその経路情報を保持する時間です。
(詳しくは,RIPラボの「RIPタイマーの設定」をご覧下さい。)
EIGRPのHoldタイマーは,RIPでいうところのInvalidタイマー,OSPFでいうところのDead間隔にあたります。

それぞれのタイマーを変更するコマンドは,以下です。

ip hello-interval eigrp 1 60
ip hold-time eigrp 1 180 


この二つのコマンドを入れていない状態から見ていきます。

●動作の確認
RouterAのタイマーを変更し,その様子をRouterBで観察します。
まずは,デフォルトの状態です。
RouterBで,EIGRPのHelloパケットをデバッグで確認してみます。
Helloパケットが5秒間隔で出ているのがわかります。

RouterB#debug eigrp packets hello
EIGRP Packets debugging is on
  (HELLO)
RouterB#
00:57:06: EIGRP: Sending HELLO on Serial0
00:57:06:  AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
00:57:09: EIGRP: Received HELLO on Serial0 nbr 192.168.1.1
00:57:09:  AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
00:57:09: EIGRP: Sending HELLO on Loopback0
00:57:09:  AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
00:57:09: EIGRP: Received HELLO on Loopback0 nbr 192.168.2.1
00:57:09:  AS 1, Flags 0x0, Seq 0/0 idbQ 0/0
00:57:11: EIGRP: Sending HELLO on Serial0
00:57:11:  AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
00:57:14: EIGRP: Received HELLO on Serial0 nbr 192.168.1.1
00:57:14:  AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0


show ip eigrp neighborsコマンドを使うと,Holdタイマーの様子が確認できます。
「Hold(sec)」の項目の下にある数値がHoldタイマーの数値です(青字の部分)。
コマンドを1秒ごとに入れてみます。
(↑(上矢印)キーを押せば直前に入力したのコマンドが出てくるので,すぐに入力できます。)

RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      14 00:11:39  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      13 00:11:40  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      12 00:11:41  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      11 00:11:42  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      10 00:11:43  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      14 00:11:44  28   200 0 6


青字の部分に注目します。
14,13,12,11,10とカウントダウンしていき,10の次に14に戻りました。
これは,Holdタイマーが15秒なので,14,13…とカウントダウンを始めるからです。
このタイマーは,Helloパケットが到着したら14に戻ります。
ここでは,タイマーが10になったところでHelloパケットを受信したので,9にならずに14に戻ったわけです。

この状態が続いている限り,RouterBは,RouterAが生きているとみなします。
ルーティング・テーブルも見てみましょう。
しっかりEIGRPで経路情報を受信していますね。

RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    * - candidate default, U - per-user static route, o - ODR
    P - periodic downloaded static route

Gateway of last resort is not set

D  192.168.0.0/24 [90/2297856] via 192.168.1.1, 00:18:11, Serial0
C  192.168.1.0/24 is directly connected, Serial0
C  192.168.2.0/24 is directly connected, Loopback0

●タイマーを変更する
RouterAのHelloインターバルを10秒に変更してみましょう。
インタフェースで,ip hello-interval eigrpコマンドを入力します。

RouterA(config)#interface serial 0
RouterA(config-if)#ip hello-interval eigrp 1 10


これでHelloパケットの送出間隔が,デフォルトの5秒から,設定で10秒に変更されたはずです。
再びshow ip eigrp neighborsコマンドを1秒間隔で打ち込んで,確認してみましょう。

RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      6 00:16:42  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      5 00:16:43  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      14 00:16:43  28   200 0 6


14からカウントダウンが始まって,5までまで来たところでHelloパケットを受信し,タイマーを14に戻しました(青字の部分)。
RouteAのHello送出間隔が10秒になったことがわかります。

次に,Holdタイマーを変更してみましょう。
デフォルトではHoldタイマーは15秒に設定されています。
つまり,Helloパケットが15秒間到着しなかったら,そのネイバーはダウンしたとみなすわけです。
デフォルトの15秒から,ip hold-time eigrpコマンドを使って30秒に変更します。

RouterA(config-if)#ip hold-time eigrp 1 30

これでHoldタイマーが30秒に設定されました。
show ip eigrp neighborコマンドで確認してみると,Holdタイマーのカウントダウンが29から始まっています(青字の部分)。
Holdタイマーは,確かに30秒に設定されています。

RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      29 00:27:49  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      28 00:27:50  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      27 00:28:01  28   200 0 6


EIGRPがOSPFと違うのは,ネイバー同士でHello間隔が一致していなくてもいいということです。
OSPFだとHello/Deadの間隔が一致していないとネイバーが確立しません。
ちなみに,EIGRPのHoldタイマーの値は,Helloパケットの中に入っています。
EIGRPでは,相手に自分が生きていることを知らせるたびに「〜秒Helloが来なかったらオレはダウンしたと思ってくれ」と教えるわけですね。

次に,ちょっといたずらをして,HelloインターバルをHoldタイマーの時間より大きくしてみましょう。
現在は,Helloインターバルが10秒,Holdタイマーが30秒です。
そこで,Helloインターバルを60秒に設定してみます。

RouterA(config-if)#ip hello-interval eigrp 1 60

また1秒間隔でshow ip eigrp neighborコマンドを入力して,どうなるか見てみましょう。

RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      2 00:30:42  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      1 00:30:43  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0      0 00:30:44  28   200 0 6
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
RouterB#


Holdタイマーがゼロになって,ついにネイバーが消えてしまいました(青字の部分)。
ルーティング・テーブルを見ると,EIGRPの経路情報も消えています。

RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    * - candidate default, U - per-user static route, o - ODR
    P - periodic downloaded static route

Gateway of last resort is not set

C  192.168.1.0/24 is directly connected, Serial0
C  192.168.2.0/24 is directly connected, Loopback0


ネイバーを復活させるために,holdタイマーを180秒に設定します。
これなら,Helloインターバルの60秒より大きいので,RouterAと回線が正常である限り,RouterBのHoldタイマーがゼロになることはないはずです。

RouterA(config-if)#ip hold-time eigrp 1 180

タイマーの挙動はどうなったでしょうか。

RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0     179 00:00:02  1  3000 1 0
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0     178 00:00:04  1  3000 1 0
RouterB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H  Address         Interface  Hold Uptime  SRTT  RTO Q Seq Type
                       (sec)       (ms)     Cnt Num
0  192.168.1.1       Se0     177 00:00:05  1  4500 1 11


Helloインターバルを180秒に設定したので,179からカウントダウンを始めています(青字の部分)。
ネイバー(192.168.1.1)も表示されているので,きちんと隣接関係が確立できているようです。

再びルーティング・テーブルを確認してみましょう。

RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    * - candidate default, U - per-user static route, o - ODR
    P - periodic downloaded static route

Gateway of last resort is not set

D  192.168.0.0/24 [90/2297856] via 192.168.1.1, 00:01:25, Serial0
C  192.168.1.0/24 is directly connected, Serial0
C  192.168.2.0/24 is directly connected, Loopback0


ルーティング・テーブルにも,再びEIGRPの経路情報が登録されました。

EIGRPラボ
EIGRPの基本設定
パッシブ・インタフェースの設定
不等コスト・ロードバランシング
タイマーの設定
NBMAネットワークにおけるEIGRPの設定