设为首页收藏本站language 语言切换
查看: 8170|回复: 7
收起左侧

[已解决] 关于RIP----毒性逆转的不解

[复制链接]
发表于 2012-3-28 17:54:18 | 显示全部楼层 |阅读模式
今天翻书看到RIP的防环路部分,忽然想到这个问题:为什么RIP的时候,一定要毒性逆转?
书上讲到用路由中毒和毒性逆转可以解决环路问题,
路由器在收到邻居通告得知某个网络DOWN掉后,会发生毒性逆转(把该metrc=16的路由条目再发回去)

就是不理解为什么要进行这个动作,同时请问,如果只有路由中毒,没有毒性逆转过程,那么会导致什么问题?

在网上找了大半天,都没有找到比较合理的解释....   求各位高人赐教!!
 楼主| 发表于 2012-3-28 18:03:51 | 显示全部楼层
补充一点:
路由中毒跟毒性逆转的作用是防止环路、加速收敛,只是不太明白既然有路由中毒了干嘛还要多余出一个毒性逆转,
还特地要"打破水平分割原则"


沙发 2012-3-28 18:03:51 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-3-28 18:05:23 | 显示全部楼层
毒性翻转:当一台路由器A收到邻居B的路由中毒信息后,相当于向邻居路由B确认信息。说明此路由的确不可达。
如果没有毒性翻转,那么邻居路由B可能会认为通过路由A能够到达那个网络,进而把信息发给A来转发。
A向B毒性翻转就是说给B听,A也不能到达那个网络!
板凳 2012-3-28 18:05:23 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-28 18:44:12 | 显示全部楼层
狐海剑 发表于 2012-3-28 18:05
毒性翻转:当一台路由器A收到邻居B的路由中毒信息后,相当于向邻居路由B确认信息。说明此路由的确不可达。
...

你的意思是,如果没有毒性翻转,路由器A会向B发送metrc<16 (实质是无效的) 路由吧?
但由于有水平分割,A是不能向B再发送从B那学到的路由吧,这样应该足夠了,为什么还是特地打破水平分割原则,再一次把一模一样的 metrc=16 的路由通告回去,这样做的目的是??我就是不明白这里..
地板 2012-3-28 18:44:12 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-3-29 00:39:14 | 显示全部楼层
本帖最后由 showlink 于 2012-3-29 10:20 编辑

个人理解

A-B-C------D-|
|--E-F-H-I----|

C-D链路失效
B收到情报,链路失效了,但是由于RIP更新路由表时间较长,B还没发送更新给A。
A到了B,B认为不通,但是下面的路径可走,于是又发给A,A在没收到B的更新之前,仍然发给B,环路。

毒性逆转立刻发送最大距离更新给ABC。A知道失效会给E。

在毒性逆转过程中,如果CD发送逆转过程中,BC也DOWN了,那么A将不能立刻知道CD故障。E此时打破水平分割反向通告给A,让A知道CD故障。降低环路的可能性。
毒性逆转的好处就是加速收敛,以故障点为中心,向外扩散,以保证可能造成环路的部分也能收到更新而消除环路。
不过书上也说RIP还是有可能发生环路的。
5# 2012-3-29 00:39:14 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-4-3 15:09:31 | 显示全部楼层
应该是通过A,帮助B自己确认此条路由真的挂掉了~
6# 2012-4-3 15:09:31 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-4-4 02:34:50 | 显示全部楼层
因为rip有几个定时器,当路由中毒后,不会马上删除,而是先丢到一个计时器里,至于什么计时器还真的一下子忘了,在这个计时器里的跳数就是16跳不可达,如果超过计时器的时间仍然存在问题就删除,删除应该是采用的触发更新

如果没有毒性逆转的过程,就会造成短时间的路由黑洞,其实RIP那么多防环机制,少了一个也没什么。不过别人协议开发的时候就是想着百分百无环路,所以我觉得少一个没什么
7# 2012-4-4 02:34:50 回复 收起回复
回复 支持 1 反对 0

使用道具 举报

发表于 2016-4-29 17:42:21 | 显示全部楼层
大言不惭地表现下
    看了下上面兄弟伙的发言都是理解的很模糊,在下看来在逻辑上都不怎么通。在下也饱受困扰,度娘帮助下找到了看了本帖和另一篇博文突然开窍。
    闲屁放足了,来解释下。先引用看到的博文。
  “所谓水平分割是指从某一个邻居获得的路由信息不再向这个邻居发送回去。
而毒性逆转则是将这样的路由信息METRIC置为无穷大,大于或等于16 在发送回去。
这两种措施都是为了让路由器不收到从自己发送出去的循环路由而产生错误路由,”

    首先,要清醒地认识到,路由毒化和毒性逆转都是防路由环路的机制,相互之间是独立的,不存在夫妻关系;可以去看下H3CNE 《构建中小企业网络》6.0的相关章节,上面的图例是正常网络的情况,并未发生路由中毒。撇去路由毒化,假设网络先是正常的,RA将自己的路由项(即直连路由和从上游学到的路由项)传播到下游邻居RB,下游邻居再毒性逆转回去来向RA表明——这些路由就不要从我这里过了,是海市蜃楼哦。正常情况RA不会将逆转回来的毒性路由从RIP路由表加入到转发路由表用于数据转发,逆转回来的毒性路由没什么意义。而当假设RA的某个直连网络故鄣,相关直连路由被删除,系统就能够判断不能将RB作为下一跳。
  这就是我理解的毒性逆转的工作机制和作用。各位童鞋认为逻辑是否清晰呢!!!在下一直将毒性逆转理解为是将邻居发来的中毒路由在逆转回去,这是造成困扰的根源。不知各位是否也是这样?
8# 2016-4-29 17:42:21 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-6-17 07:14 , Processed in 0.107630 second(s), 21 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表