EIGRP高级配置之定时器  我所使用的Router3640

为了使配置简单易懂,我一般配置的网络都是很小的,但是道理都是一样的。
 
实验拓扑图,如下:
 
 
 
连接方式:
  
     R1 S0/0 <----> R2 S0/0
 
ip地址表:
   
      R1 s0/0 192.168.1.1/24 
      R2 s0/0 192.168.1.2/24
 
我们先来配置一些基本配置,如下:

R1路由
 
router>en
router#config t
Enter configuration commands, one per line.  End with CNTL/Z.
router(config)#hostname R1  //定义路由器的名字
R1(config)#int s0/0
R1(config-if)#description conn to R1 s0/0    //描述接口的情况
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#clock rate 64000   //R1做为DCE,给R2提供时钟
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#exit
R1#
 
注意:描述接口情况只是给管理带来方便而已。
 
R2路由(请参考R1路由的配置)
 
注意:不需要通过clock rate 命令来提供时钟了。

注意:
       这个时候R1,R2是可以互相访问的,但是我们这个实验是要完成EIGRP 定时器的配置,所以 下面我将在R1,R2上启动EIGRP 。
 
启动EIGRP配置,如下:

R1路由
R1#config t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#router eigrp 64
R1(config-router)#network 192.168.1.0
R1(config-router)#end
R1#
 
R2路由(与R1的配置是一样的)

 
下面我先来简单的介绍定时器的基本知识:

1.EIGRP 通过HELLO包来发现邻居并获知邻居是否不可达或无效。
2.默认情况下,hello包每5S发出一次,在低速的NBMA媒介(T1或更少)中每60S发出一次。
3.hello 间隔是可以配置的,根据网络的拓扑来调整。
4.hello包含有一个保持时间,这是一般路由器收到HELLO包并认为HELLO包发送者可达的时间。
5.默认情况保持时间是HELLO包间隔的3倍。
 
现在先来看看默认情况下:
 
发送HELLO包间隔的时间
 
R1路由:
R1#debug eigrp packet    //可以通过undebug all 来结束调试。
R1#
00:43:39: EIGRP: Sending HELLO on Serial0/0      //第一次发送HELLO包时间
00:43:39:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
00:43:42: EIGRP: Received HELLO on Serial0/0 nbr 192.168.1.2
00:43:42:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
00:43:44: EIGRP: Sending HELLO on Serial0/0     //第二次发送HELLO包时间
00:43:44:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0debug eigrp packet

注意:从这我们可以看出HELLO包的间隔是5S。
 
保持时间:
  
      show ip eigrp neigrp        //这个条命令显示EIGRP所发现的所有邻居的信息,还显示了邻居活跃的时间和保持时间所剩下的时间。
 
R1#show ip eigrp neighbors
IP-EIGRP neighbors for process 64
H   Address                 Interface   Hold Uptime   SRTT   RTO  Q  Seq Type
                                        (sec)         (ms)       Cnt Num
0   192.168.1.2             Se0/0         12 00:22:19    0  4500  0  3  
     
注意: 通过结合上面的HELLO的间隔可以知道保持时间是15S。

我解释一下上面输出的一些元素:
 
H:Cisco IOS 内部用来跟踪邻居的编号。
 
Address:邻居的IP地址。
 
Interface:能到达邻居的路由器接口。
 
Hold:没有收到邻居的任何分组时,等待的最少时间。在最新版本的Cisco IOS软件中,收到邻居的第一个HELLO 分组后,任何EIGRP分组都将重置定时器。
 
Uptime:收到邻居的第一个分组后,经过的时间。
 
SRTT(平均往返定时器):将EIGRP分组发送到邻居以及收到对该分组的确认之间的时间,单位为毫秒。
 
RTO(重传超时):将重传队列中的分组重传给邻居之前必须等待的时间,根据SRTT来确定。单位为毫秒。
 
队列计数:在队列中等待发送的分组数。
 
Seq Num:从邻居那里收到的最后一个更新、查询或应答分组的序列号。

 
 
下面配置HELLO包间隔、保持时间:
 
注意:
   
        当你配置HELLO间隔后, 保持时间并不会随之改变,例如:你配置HELLO间隔为20S,而你没有配置保持时间, 那么保持时间还是15S,这样的话,两台路由之间将不能形成邻居的关系,因为EIGRP 是通过HELLO间隔来发现邻居的。

R1路由:
 
R1#config t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int s0/0
R1(config-if)#ip hello-interval eigrp 64 20
R1(config-if)#end
R1#
 
注意:ip hello-interval eigrp as times  这个命令是在接口模式下配置的。
 
R2路由(也配置间隔为20S)

下面通过命令: debug eigrp packet来调试 ,结果如下:

R1#debug eigrp packet
EIGRP Packets debugging is on
    (UPDATE, REQUEST, QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB)
R1#
01:42:30: EIGRP: Sending HELLO on Serial0/0
01:42:30:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
01:42:32: EIGRP: Received HELLO on Serial0/0 nbr 192.168.1.2
01:42:32:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0
01:42:32: EIGRP: Enqueueing UPDATE on Serial0/0 nbr 192.168.1.2 iidbQ un/rely 0/1 peerQ un/rely 0/0 serno 1-1
01:42:32: EIGRP: Requeued unicast on Serial0/0
01:42:32: EIGRP: Forcing multicast xmit on Serial0/0
01:42:32: EIGRP: Sending UPDATE on Serial0/0 nbr 192.168.1.2
01:42:32:   AS 64, Flags 0x1, Seq 44/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 1-1
01:42:34: EIGRP: Sending UPDATE on Serial0/0 nbr 192.168.1.2, retry 1, RTO 3000
01:42:34:   AS 64, Flags 0x1, Seq 44/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 1-1
01:42:37: EIGRP: Sending UPDATE on Serial0/0 nbr 192.168.1.2, retry 2, RTO 4500
01:42:37:   AS 64, Flags 0x1, Seq 44/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 1-1
01:42:42: EIGRP: Sending UPDATE on Serial0/0 nbr 192.168.1.2, retry 3, RTO 5000
01:42:42:   AS 64, Flags 0x1, Seq 44/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 1-1
01:42:47: EIGRP: Sending UPDATE on Serial0/0 nbr 192.168.1.2, retry 4, RTO 5000
01:42:47:   AS 64, Flags 0x1, Seq 44/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 1-1
01:42:49: EIGRP: Sending HELLO on Serial0/0
01:42:49:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
01:42:49: EIGRP: Received UPDATE on Serial0/0 nbr 192.168.1.2
01:42:49:   AS 64, Flags 0x1, Seq 50/0 idbQ 0/0
01:42:49: EIGRP: Neighbor not yet found    

注意:情况表明没有找到邻居!
 
 
下面大家再来看看,我把保持时间配置为60S后,情况会如下:
 
R1路由:
R1#config t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int s0/0
R1(config-if)#ip hold-time eigrp 64 60
R1(config-if)#end
R1#
 
R2路由(也配置保持时间为60S)

好了,下面我们来看一下,R1、R2会不会形成邻居。
 
在R1路由上:
R1#debug eigrp packet
EIGRP Packets debugging is on
    (UPDATE, REQUEST, QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB)
R1#
01:48:28: EIGRP: Sending HELLO on Serial0/0
01:48:28:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
01:48:39: EIGRP: Received HELLO on Serial0/0 nbr 192.168.1.2
01:48:39:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
01:48:48: EIGRP: Sending HELLO on Serial0/0
01:48:48:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
01:48:58: EIGRP: Received HELLO on Serial0/0 nbr 192.168.1.2
01:48:58:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0

情况表明R1、R2形成了邻居。
                                                                                                                     
                             
    大家也许会问,两台路由器之间HELLO间隔和保持时间不匹配能否成为EIGRP邻居,下面我们再来探讨一下。

     在R1上配置HELLO间隔和保持时间分别为10S,30S,R2不需要再配置了分别为20S,60S。

具体情况:
 
R1路由:
 
R1>en
R1#config t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int s0/0
R1(config-if)#ip hello-interval eigrp 64 10
R1(config-if)#ip hold-time eigrp 64 30
R1(config-if)#end
R1#
 
注:同时配置HELLO间隔和保持时间。
 
R1#debug eigrp packet
EIGRP Packets debugging is on
    (UPDATE, REQUEST, QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB)
R1#
02:11:26: EIGRP: Sending HELLO on Serial0/0
02:11:26:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
02:11:33: EIGRP: Received HELLO on Serial0/0 nbr 192.168.1.2
02:11:33:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
02:11:35: EIGRP: Sending HELLO on Serial0/0
02:11:35:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
02:11:45: EIGRP: Sending HELLO on Serial0/0
02:11:45:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
02:11:52: EIGRP: Received HELLO on Serial0/0 nbr 192.168.1.2
02:11:52:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
02:11:53: EIGRP: Sending HELLO on Serial0/0
02:11:53:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
02:12:02: EIGRP: Sending HELLO on Serial0/0
02:12:02:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
02:12:10: EIGRP: Received HELLO on Serial0/0 nbr 192.168.1.2
02:12:10:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
02:12:12: EIGRP: Sending HELLO on Serial0/0
02:12:12:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
02:12:21: EIGRP: Sending HELLO on Serial0/0
02:12:21:   AS 64, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0    
 
R1#show ip eigrp neighbor
IP-EIGRP neighbors for process 64
H   Address                 Interface   Hold Uptime   SRTT   RTO  Q  Seq Type
                                        (sec)         (ms)       Cnt Num
0   192.168.1.2             Se0/0         42 00:14:27    0  5000  0  65  

情况表明它们是可以形成邻居的,这意味着可以在Router上独立地设置HELLO间隔和保持时间。
 
以上文章有不足之处,请大家多多指教。