本地路由器在规定时间内没有收到邻居的ack确认信息,需要重传。在组播发送数据包的时候,该数据包的单播拷贝会放进一个重传队列中进行排队,一旦这个数据包发送失败,即没有收到邻居的ack确认,那么这个拷贝会被再次发送出去,而触发这个动作的时限就是RTO。如果重传16次没有收到确认,这个邻居就宣布无效。
在R2上限制EIGRP报文,观察RTP--EIGRP的16次单播重传。
首先,R2上查看邻居表:
做如下配置:
R2(config)#ip access-list extended BLOCK_EIGRP
R2(config-ext-nacl)#deny eigrp any any
R2(config-ext-nacl)#permit ip any any
R2(config-ext-nacl)#exit
R2(config)#int s1/0
R2(config-if)#ip access-group BLOCK_EIGRP in
在R1上开debug eigrp transmit,贴出output:
R1向R2(12.1.1.2)发送单播hello包,5s一次。
此时R2中邻居表中已经没有了R1,但R1的邻居表仍然有R2。因为R1仍能收到R2发送的EIGRP hello数据包,而R2在s1/0口对EIGRP报文做了入方向的block。
同时,R1的邻居表中,队列计数异常(不为零):
在该输出中,SRTT=1(由于建邻居出了问题,没有计算出SRTT),而且注意RTO=5000ms(正常值为SRTT的6倍)。
经过16次重传,出来一下log,邻居12.1.1.2已经down掉:
时间: 2024-10-07 19:03:10