EIGRP ConvergenceTimers(Hello,Hold-Time)

EIGRPのConvergenceタイマーについてまとめています。EIGRPの場合、なんとHelloインターバルやHold-Timeインターバルが一致してなくてもネイバーを構成できるのです!OSPFでは考えられないですよねー。でも、本当なのか気になるので実験をしてみましょう!

EIGRP ConvergenceTimers検証構成

EIGRP ConvergenceTimersの検証構成を以下に示します。現状、すべてのルータのインタフェースにてEIGRPが動作しています。

EIGRP Convergence Timers検証環境

まずは、HelloインターバルとHold-Timeインターバルのデフォルト値を確認してみましょう。確認コマンドは「show ip eigrp interfaces detail」コマンドです。

show ip eigrp interfaces detailコマンド
R1#show ip eigrp interfaces detail
EIGRP-IPv4 Interfaces for AS(100)
Xmit Queue PeerQ Mean Pacing Time Multicast Pending
Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes
Gi0/0 1 0/0 0/0 0 0/0 0 0
Hello-interval is 5, Hold-time is 15
Split-horizon is enabled
Next xmit serial <none>
Packetized sent/expedited: 1/0
Hello’s sent/expedited: 230/2
Un/reliable mcasts: 0/0 Un/reliable ucasts: 1/2
Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0
Retransmissions sent: 1 Out-of-sequence rcvd: 1
Topology-ids on interface – 0
Authentication mode is not set
R1#
Helloインターバルが5秒とHold-Timeインターバルが15秒であることが分かります。
また、「debug eigrp packets hello」コマンドでも確認することができます。
debug eigrp packets helloコマンド
R1#debug eigrp packets hello
(HELLO)
EIGRP Packet debugging is on
*Oct 2 00:38:32.543: EIGRP: Sending HELLO on Gi0/0 – paklen 20
*Oct 2 00:38:32.543: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0
R1#
*Oct 2 00:38:36.039: EIGRP: Received HELLO on Gi0/0 – paklen 20 nbr 192.168.12.2
*Oct 2 00:38:36.039: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
R1#
*Oct 2 00:38:37.179: EIGRP: Sending HELLO on Gi0/0 – paklen 20
*Oct 2 00:38:37.179: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0
R1#
*Oct 2 00:38:40.591: EIGRP: Received HELLO on Gi0/0 – paklen 20 nbr 192.168.12.2
*Oct 2 00:38:40.591: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
R1#u
*Oct 2 00:38:42.103: EIGRP: Sending HELLO on Gi0/0 – paklen 20
*Oct 2 00:38:42.107: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0
R1#
確かに5秒おきにHelloパケットを送信していることが確認できますね。このHelloパケットを送信する間隔をHelloインターバルといいます。Helloインターバルは「ip hello-interval eigrp」コマンドで変更することができます。
ip hello-interval eigrpコマンド
(config-if)#ip hello-interval eigrp <AS番号> <Helloインターバル>
AS number:<1-65535>
Seconds between hello transmissions:<1-65535>

EIGRP Helloインターバル変更

では、Helloインターバルを1秒に変更してみましょう。

ip hello-interval eigrpコマンド(1秒)
(config-if)#ip hello-interval eigrp 100 1
「show ip eigrp interfaces detail」コマンドと「debug eigrp packets hello」コマンドで設定を確認してみます。
show ip eigrp interfaces detailコマンドとdebug eigrp packets helloコマンド
R1#show ip eigrp interfaces detail
EIGRP-IPv4 Interfaces for AS(100)
Xmit Queue PeerQ Mean Pacing Time Multicast Pending
Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes
Gi0/0 1 0/0 0/0 0 0/0 0 0
Hello-interval is 1, Hold-time is 30
Split-horizon is enabled
Next xmit serial <none>
Packetized sent/expedited: 1/0
Hello’s sent/expedited: 1155/2
Un/reliable mcasts: 0/0 Un/reliable ucasts: 1/2
Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0
Retransmissions sent: 1 Out-of-sequence rcvd: 1
Topology-ids on interface – 0
Authentication mode is not set
R1#
R1#debug eigrp packets hello
(HELLO)
EIGRP Packet debugging is on
R1#
*Oct 2 01:18:22.747: EIGRP: Sending HELLO on Gi0/0 – paklen 20
*Oct 2 01:18:22.747: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0
*Oct 2 01:18:22.823: EIGRP: Received HELLO on Gi0/0 – paklen 20 nbr 192.168.12.2
*Oct 2 01:18:22.823: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
*Oct 2 01:18:23.707: EIGRP: Sending HELLO on Gi0/0 – paklen 20
*Oct 2 01:18:23.707: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0
R1#
*Oct 2 01:18:24.711: EIGRP: Sending HELLO on Gi0/0 – paklen 20
*Oct 2 01:18:24.711: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0
*Oct 2 01:18:25.667: EIGRP: Sending HELLO on Gi0/0 – paklen 20
*Oct 2 01:18:25.667: AS 100, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0
R1#
Helloインターバルが変更され、1秒おきにHelloパケットを送信していることが分かります。ちなみに、Helloインターバルを変更してもネイバーは落ちませんでした。Helloインターバルが変更になっても、ネイバーを構成できることが分かります。

EIGRP Hold-Timeインターバル変更

次にHold-Timeインターバルの設定を変更してみましょう。こちらは、動きが少し異なるので要注意です。使用するコマンドは「ip hold-time eigrp」コマンドです。

ip hold-time eigrpコマンド
(config-if)#ip hello-interval eigrp <AS番号> <Hold-Timeインターバル>
<1-65535> AS number
<1-65535> Seconds before neighbor is considered down
R1のHold-Timeの設定を下記のように変更してみましょう。デフォルト値の倍の30秒に変更します。
ip hold-time eigrpコマンド(30秒)
(config-if)#ip hello-interval eigrp 100 30
すると。。。なんとR2のEIGRP Hold-Timeインターバルが30秒に変更されます!!自分の設定を変えると、ネイバー側の設定が変わるというのはなかなか珍しいのではないのかなと思います。ちなみにこのときR1のHold-Timeインターバルはデフォルトの15秒のままです。

R1のHold-Timeインターバル変更後

Hold-Timeインターバルを変更してもネイバーは落ちなかったので、Hold-Timeインターバルが一致していなくてもネイバーを構成できることが分かります。

参考文献

CCO
EIGRP Convergence Timers

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です