标签:不可 rip计时器 发送信息 无限 png 删除 概念 算法 关系
举个例子
路由器 A---B
发生的事情 | A中到目的N | B中到目的N |
---|---|---|
A给B更新,N可达 | 可达 | 可达 |
A收到N不可达的RIP报文,给B更新。由于A-B上的时延,B也给A更新。 | 可达 | 不可达 |
过了一段时间,A告诉B可达,B告诉A不可达 | 不可达 | 可达 |
... | .... | ... |
就会一直往复下去。
假如有这么一个拓扑,10.4.0.0接口断开,从C的路由表中消失。
这时候C还更新周期还没到,B的更新周期到了,B给A和C发送RIP报文,C进行了更新。
之后,C给B发送RIP报文,进行更新,于是B、C的路由表就会变成这样
路由器 | 到目的10.4.0.0d的下一条路由器 |
---|---|
B | C |
C | B |
于是就产生了路由环路。
在上面这个例子,就会发生跳数会一直增大,变成无限(假设不加以限定的话)
设定最大跳数为15,16就是不可达
概念:由于路由器可能收到它自己发送的路由信息,而这种信息是无用的。
原理:路由器从某个接口接收到的更新信息不允许再从这个接口发回去。
优点
能够阻止路由环路的产生。
减少路由器更新信息占用的链路带宽资源。
思想
就是在路由信息传送过程中,不再把路由信息发送到接收到此路由信息的接口上。从而在一定程度上避免了环路的产生。
还是这个例子,10.4.0.0网络从C断开后,C不是直接删除条目。而是
解释1:为了避免这样一种情况,拓扑结构发生了改变,10.4.0.0网段从C断开,接入了B,这时候B已经更新了路由表,设10.4.0.0可达,但下一条不是C,这时候到10.4.0.0网段已经和C没关系了,所以不可以被毒化。
有了路由毒化,可能还会有一些问题。比如我们又产生了路由震荡中的时延问题,可能BC的状态会变成这样
路由器 | 到目的10.4.0.0d的下一条路由器 | 距离 |
---|---|---|
B | C | 16 |
C | B | 2 |
这明显是有问题的,所以需要配合毒性逆转。
毒性逆转实际上是一种改进的水平分割。
这种方法的运作原理是:路由器从某个接口上接收到某个网段的路由信息之后,并不是不往回发送信息了,而是发送,只不过是将这个网段的跳数设为无限大,再发送出去。
抽象来说,就是如果Z的最短路径要通过邻居Y,那么它将告诉Y自己到目的节点的距离是∞。这样,Z向Y撒了一个善意的谎言,使得只要Z经过Y选路到X,它就会一直持续讲述这个谎言,这样Y也就永远不会尝试从Z选路到X了,也就避免了环路问题。
RIP是一种分布式的基于距离向量的路由选择协议
解释1:因为这是最新的消息,到目的网络的距离可能增大或减小,比如拓扑发生了改变?。不过不管怎么样,X的消息总是最新的,听他的就是了
解释2:DV以跳数作为评判,距离小了当然要更新。
解释3:没有好处,不更新。
举个例子
用于实现对路由条目的周期交互(是否有数据流量),默认是30秒更新一次路由表中的信息。
如果某一条路由信息在180s内没有收到更新或确认,那么这条路由信息将被标记为“失效”。
如果路由器30s还未收到邻居发过来的路由更新包,则更新计时器超时。如果再过150s,达到180s(即30s + 150s = 180s)还没收到路由更新包,说明失效计时器超时了,然后路由器将邻居路由器的相应路由条目标记为is possibly down,此时并不是真正失效了,是提示快要失效了。
失效计时器到时,立马进入180s的抑制计时器,用于防止路由环路。
如果在抑制期间从任何相邻路由器接收到少量的路由更新包,则恢复该网络并删除抑制计时器。
如果在抑制期间从相邻路由器收到的一条路由更新的跳数大于路由表已记录的跳数,则该更新将被忽略。
失效计时器到时,再过60s
,达到240s的刷新计时器(180s + 60s = 240s),还没收到路由更新包。路由器就刷新路由表,把不可达的路由条目删掉。
标签:不可 rip计时器 发送信息 无限 png 删除 概念 算法 关系
原文地址:https://www.cnblogs.com/cpaulyz/p/12801324.html