距离矢量路由协议中路由环路问题的解决方法:
概括来讲,主要分为六种:
1.定义最大值;
2.水平分割技术;
3.路由中毒;
4.反向路由中毒;
5.控制更新时间;
6.触发更新。

下面我们就来一一讲解各种解决方法的实现原理:
1.定义最大值:
距离矢量路由算法可以通过IP头中的生存时间(TTL)来 纠错,但路由环路问题可能首先要求无穷计数。为了避免这个延时问题,距离矢量协议定义了一个最大值,这个数字是指最大的度量值(如rip协议最大值为16),比如跳数。也就是说,路由更新信息可以向不可到达的网络的路由中的路由器发送15次,一旦达到最大值16,就视为网络不可到达,存在故障,将不再接受来自访问该网络的任何路由更新信息。
2.水平分割:
一种消除路由环路并加快网络收敛的方法是通过叫做“水平分割”的技术实现的。其规则就是不向原始路由更新的方向再次发送路由更新信息(个人理解为单向更新,单向反馈)。比如有三台路由器ABC,B向C学习到访问网络10.4.0.0的路径以后,不再向C声明自己可以通过C访问10.4.0.0网络的路径信息,A向B学习到访问10.4.0.0网络路径信息后,也不再向B声明,而一旦网络10.4.0.0发生故障无法访问,C会向A和B发送该网络不可达到的路由更新信息,但不会再学习A和B发送的能够到达10.4.0.0的错误信息。
3.路由中毒(也称为路由毒化):
定义最大值在一定程度上解决了路由环路问题,但并不彻底,可以看到,在达到最大值之前,路由环路还是存在的。为此,路由中毒就可以彻底解决这个问题。其原理是这样的:假设有三台路由器ABC,当网络10.4.0.0出现故障无法访问的时候,路由器C便向邻居路由发送相关路由更新信息,并将其度量值标为无穷大,告诉它们网络10.4.0.0不可到达,路由器B收到毒化消息后将该链路路由表项标记为无穷大,表示该路径已经失效,并向邻居A路由器通告,依次毒化各个路由器,告诉邻居10.4.0.0这个网络已经失效,不再接收更新信息,从而避免了路由环路。
4.反向中毒(也称为毒化逆转):
结合上面的例子,当路由器B看到到达网络10.4.0.0的度量值为无穷大的时候,就发送一个叫做毒化逆转的更新信息给C路由器,说明10.4.0.0这个网络不可达到,这是超越水平分割的一个特列,这样保证所有的路由器都接受到了毒化的路由信息。
5.控制更新时间(即抑制计时器):
抑制计时器用于阻止定期更新的消息在不恰当的时间内重置一个已经坏掉的路由。抑制计时器告诉路由器把可能影响路由的任何改变暂时保持一段时间,抑制时间通常比更新信息发送到整个网络的时间要长。当路由器从邻居接收到以前能够访问的网络现在不能访问的更新后,就将该路由标记为不可访问,并启动一个抑制计时器,如果再次收到从邻居发送来的更新信息,包含一个比原来路径具有更好度量值的路由,就标记为可以访问,并取消抑制计时器。如果在抑制计时器超时之前从不同邻居收到的更新信息包含的度量值比以前的更差,更新将被忽略,这样可以有更多的时间让更新信息传遍整个网络。
6.触发更新:
正常情况下,路由器会定期将路由表发送给邻居路由器。而触发更新就是立刻发送路由更新信息,以响应某些变化。检测到网络故障的路由器会立即发送一个更新信息给邻居路由器,并依次产生触发更新通知它们的邻居路由器,使整个网络上的路由器在最短的时间内收到更新信息,从而快速了解整个网络的变化。但这样也是有问题存在,有可能包含更新信息的数据包被某些网络中的链路丢失或损坏,其他路由器没能及时收到触发更新,因此就产生了结合抑制的触发更新,抑制规则要求一旦路由无效,在抑制时间内,到达同一目的地有同样或更差度量值的路由将会被忽略,这样触发更新将有时间传遍整个网络,从而避免了已经损坏的路由重新插入到已经收到触发更新的邻居中,也就解决了路由环路的问题。
 
 
其中的路由中毒和反向中毒在提示一下:
路由中毒:是指在路由信息在路由表中失效时,先将度量值变为无穷大,而不是马上从路由表中删掉这条路由信息。(这句话要理解,如RIP协议中,其度量值变为16,意味着路由不可达)再将其信息发布出去,这样相邻的路由器就得知这条路由己无效了.....

毒性反转与路由中毒概念是不一样的,它是指收到路由中毒消息的路由器,不遵守水平分割原则将中毒消息转发给所有的相邻路由器,也包括发送中毒信息的源路由器,也就是通告相邻路由器这条路由信息己失效了,主要目的是达到快速收敛的目的。

新信息,包含一个比原来路径具有更好度量值的路由,就标记为可以访问,并取消抑制计时器。如果在抑制计时器超时之前从不同邻居收到的更新信息包含的度量值比以前的更差,更新将被忽略,这样可以有更多的时间让更新信息传遍整个网络。
6.触发更新:
正常情况下,路由器会定期将路由表发送给邻居路由器。而触发更新就是立刻发送路由更新信息,以响应某些变化。检测到网络故障的路由器会立即发送一个更新信息给邻居路由器,并依次产生触发更新通知它们的邻居路由器,使整个网络上的路由器在最短的时间内收到更新信息,从而快速了解整个网络的变化。但这样也是有问题存在,有可能包含更新信息的数据包被某些网络中的链路丢失或损坏,其他路由器没能及时收到触发更新,因此就产生了结合抑制的触发更新,抑制规则要求一旦路由无效,在抑制时间内,到达同一目的地有同样或更差度量值的路由将会被忽略,这样触发更新将有时间传遍整个网络,从而避免了已经损坏的路由重新插入到已经收到触发更新的邻居中,也就解决了路由环路的问题。

 
 
其中的路由中毒和反向中毒在提示一下:
路由中毒:是指在路由信息在路由表中失效时,先将度量值变为无穷大,而不是马上从路由表中删掉这条路由信息。(这句话要理解,如RIP协议中,其度量值变为16,意味着路由不可达)再将其信息发布出去,这样相邻的路由器就得知这条路由己无效了.....

毒性反转与路由中毒概念是不一样的,它是指收到路由中毒消息的路由器,不遵守水平分割原则将中毒消息转发给所有的相邻路由器,也包括发送中毒信息的源路由器,也就是通告相邻路由器这条路由信息己失效了,主要目的是达到快速收敛的目的。

RIP路由防止环路的方法相关推荐

  1. 【H3C V7路由器实战视频课程系列-6】静态和RIP路由配置与管理-王达-专题视频课程...

    [H3C V7路由器实战视频课程系列-6]静态和RIP路由配置与管理-48人已学习 课程介绍         以实战方式全面介绍H3C路由器中静态路由和RIP路由各方面功能的配置与管理方法. 课程收益 ...

  2. 数据通信技术(七:RIP路由水平分割配置)

    RIP路由水平分割配置实验报告 一.知识准备 掌握RIP动态路由的定义和特征. 掌握RIP路由环路的危害和解决技术. 掌握水平分割的工作原理. 二.实验目的 掌握路由器中RIP动态路由水平分割功能的配 ...

  3. 互联网协议 — RIP 路由信息协议

    目录 文章目录 目录 RIP 路由信息协议 RIP 的报文类型及格式 RIPv1 RIPv2 RIP 的路由宣告 路由器启动 第一次交换路由信息 路由收敛 RIP 路由信息协议 RIP(Routing ...

  4. 路由器重温——RIP路由

    RIP(Routing Information Protocol,路由信息协议)路由是最简单的动态路由协议.基本配置仅需在各路由器上创建所需的RIP进程,然后宣告各RIP路由器接口直接连接的网段所对应 ...

  5. 示例化讲解RIP路由更新机制

    以下内容摘自最新上市的"四大金刚"图书之一<Cisco路由器配置与管理完全手册>(第二版)(其它三本分别为<Cisco交换机配置与管理完全手册>(第二版). ...

  6. RIP --- 路由信息协议

    全球网络连成一片会很混乱,由此引出AS AS --- 自治系统 --- 将网络分块管理 --- 由单一的机构或组织所管理的一系列IP网络及其设备所构成的集合 AS的管理 --- AS存在编号 --- ...

  7. Mentor-dft 学习笔记 day7-drc规则环路可测试性方法

    Shadow Latch Identification Shadows  阴影是包含与关联扫描单元格元素相同数据的状态元素,但确实包含不在扫描链路径中.因此,虽然这些元素在技术上是非扫描元素标识有助于 ...

  8. 中兴路由器中RIP路由的配置

    一.实验目的 1.掌握路由器中RIP动态路由的配置方法和结果验证: 二.实验内容 1.绘制拓扑图,根据拓扑图进行试验: 2.配置路由器,并最终验证网络的连通性. 三.实验过程 1.实验任务说明 1.配 ...

  9. 浅析【RIP路由信息协议】

    RIP简介 RIP(Routing Infomation Protocol,路由信息协议)是一种较为简单的内部网关协议(Interior Gateway Protocol,IGP),主要用于规模较小的 ...

最新文章

  1. golang重复声明变量
  2. 复合索引的列顺序判断
  3. android 游戏的源程序代码类型,代码准备重写实现网络游戏 [开源]历时5天一款完整的文字策略养成类型游戏完成了...
  4. Hibernate简单的保存操作
  5. 面试前你需要掌握的二叉树、二叉排序树的创建和四种遍历方式
  6. react月份选择控件_一款很实用的ReactJS日期范围选择控件
  7. Money Pro for Mac如何导入账单?
  8. fread函数将二进制文件读入成矩阵形式
  9. 页面body元素#65279导致顶部空白一行解决方法
  10. Ae导出 计算机内存,ae导出视频太大怎么办-缩小Ae导出视频大小的方法 - 河东软件园...
  11. rna-seq分析流程 全套
  12. Codeforces Round #685 (Div. 2) (D(博弈) E1 E2(交互))
  13. 【20保研】天津大学智能与计算学部2020级研究生招生夏令营活动通知
  14. 本经阴符七术--鬼谷子
  15. 贾扬清谈云原生 - 让数据湖加速迈入3.0时代
  16. 为什么输入法显示中文打不出中文_搜狗中文输入无法显示汉字怎么办_win10搜狗输入法打不出汉字的解决方法...
  17. 无线短距离通信-蓝牙与wifi(一)
  18. 苏州银行信息技术面试
  19. springboot整合bboss操作elasticsearch
  20. 【微信聊天发的表情看不到,显示错误】

热门文章

  1. CentOS安装星际译王
  2. 用python编程、假设一年期定期利率_第二章-习题答案
  3. MySQL导出表结构表数据以及导入数据
  4. 2019前端工程师的自检清单
  5. 关于64位UBUNTU硬盘安装方式详解,和提示找不到vmlinuz的分析
  6. 步进电机相关基础知识及常见问题(转载)
  7. 环信即时通讯云获得A轮融资 开启 “高品质更好用”IM时代
  8. 什么是数据结构,都有哪些数据结构
  9. 软件工程(2018)第一次作业
  10. 【Redis源码剖析】 - Redis IO操作之rio