EIGRP实验-路由更新

 

先上拓扑图:算法

 

咱们关注R1R2之间的路由更新过程;配置好IPEIGRPide

 

等到收敛完毕以后(速度很是快,1秒左右)查看路由表:工具

 

复习,因而可知EIGRP是自动开启了自动汇总的,如R2中将R1的【10.1.1.0/24,10.1.2.0/24,10.1.3.0/24,10.1.4.0/24】四条路由汇总成为【10.0.0.0/8】;可是在有明细路由条目172.16.1.4/30的状况下(使用了VLSM技术),会自动生成一条指向null0接口的主类路由条目,spa

D       172.16.0.0/16 is a summary, 00:04:06, Null0”,这样作的目的是防止环路。code

 

R2S1/0接口SHUTDOWNblog

接着咱们打开wireshark抓包工具,抓取R1S1/1接口的数据包:接口

 

经过观察发送时间数据包类型,咱们能够发现,收敛完毕以后,各自间隔5秒钟时间(速率大于T1,间隔不是精确的5秒,大体差很少)路由器会向224.0.0.10这个组播地址发送hello包;路由

而后咱们将R2S1/0(和R1相连的)接口shutdown掉,抓包:get

 

shutdown以后R1就收不到R2发送的Hello包了,直到15秒(3倍的hello报文发送间隔)以后,R1向组播地址发送了一个Goodbye Message报文,报文内容以下:it

 

 

R2S1/0接口SHUTDOWN

首先咱们猜想,S1/0shutdown以后,路由器R2确定会向它的邻居R1发送路由更新报文,告诉邻居“【172.16.1.4/30】这条路由失效了,把它从你的路由表(及拓扑表)里面删除吧!”;而后R1收到消息以后要告诉R2收到了,而且将相关条目从拓扑表和路由表中删除!下面咱们来抓包分析:

 

首先第一个数据包是R2发送给R1的“Query 报文”,具体内容以下:

 

R2以单播的方式发送给本身的邻居R1OpcodeQuery3)标识这是一个查询报文;'Prefix Length'标识了掩码长度为30位;"Destination172.16.1.4】标识这条路由已经不可达"可是这边奇怪的是,为何是查询报文,而不是更新报文??

第二个数据包是R1收到R2发送的查询报文以后,回发的一个ACK报文:

 

还记得咱们以前说过的吧?opcode5的而且ACK不为0的报文是ACK报文,而不是Hello报文;Acknowledge22表示是对R2发送给R1的序列号为22Sequence22】的数据包确认;确认的同时R1由向R2发送了序列号为21Reply报文”;紧接着R2又给R1发送了一个ACK报文,值得注意的是,每一个报文的序列号和ACK号,尤为是R2将回复的ACK报文的序列号置为0了,表示收敛完毕了,重置了序列号!!

 

 

R2S1/1接口开启:

当开启了R2S1/1接口以后,咱们能够看出来R2当即以单播的方式向它的邻居发送了update报文,宣告了【172.16.1.4/30,报文中还包括该条路由的延迟、带宽等信息,用于计算度量值;随后R1又向R2发送了ACK消息;各报文具体内容以下:

写到这里尚未提到的主动被动状态以及DUAL扩散更新算法,这些将在后面慢慢道来!

相关文章
相关标签/搜索