矢量路由选择协议

1.距离矢量路由选择算法发送完整的路由选择表到相邻的路由器,然后,相邻的路由器会将接收到的路由表项与自己原有的路由表进行组合,以完善路由器的路由表。

  由于路由器接收到的更新只是来自相邻路由器对于远程网络的确认信息,它并没有实地亲自去查找,所以这一方式被戏称为传言路由。

  某个网络可能会有多条链路可以到达同一个远程网络。如果出现这一情况,将首先检查管理距离。如果AD是相同的,协议将会使用其他量度值来决定到达远程网络的最佳路径。

2.RIP只使用跳计数来决定到达某个互联网络的最佳路径。如果RIP发现对于同一个远程网络存在有不止一条链路,并且它们又都具有相同的跳计数,则路由器将自动执行循环负载均衡。RIP可以对多达6个相同开销的链路实现负载均衡(默认时为4个)。

  然而,当两个到达某一远程网络的链路具有不同的带宽但又具有相同的跳计数时,使用这种类型的路由度量将会带来一定的问题。例如在图6.12中,就给出了两条到达远程网络172.16.10.0的链路。

  

  由于网络172.16.30.0是一条T1链路,它的带宽是1.544Mbps,而网络172.16.20.0是一条56KB的链路,你当然是希望路由器选择T1而不是56KB链路。但是,由于跳计数是RIP路由选择协议唯一使用的量度,所以,

  这两条链路将被视为是具有相同开销的链路。这种情况就称为针孔拥塞。

3.理解距离矢量路由选择协议在它启动时会做些什么是很重要的。在下图中,4台路由器在启动时它们的路由表中只有与它们直接相连网络的表项。当距离矢量路由选择协议在每台路由器上运行后,路由表将会使用从相邻路由器得到的所有路由信息来完成更新。

  

  如上图,每台路由器在它们的路由表中只有直接相连网络的信息。每台路由器将从路由器上每个激活的接口发送出它的完整路由表。每台路由器的路由表都包含有网络号、输出接口和可达网络的跳计数。

  

  如上图,由于路由表包含了此互联网络中所有网络的信息,因此它是完整的。它们被称为收敛。路由收敛:网络的拓扑结构发生变化后,路由表重新建立到发送再到学习直至稳定,并通告网络中所有相关路由器都得知该变化的过程。

  也就是网络拓扑变化引起的通过重新计算路由而发现替代路由的行为。

  通过路由收敛可以使路由域中所有路由器对当前的网络结构和路由转发达成一致的状态。

  当这些路由器处于收敛时,没有数据传递。这就是为什么快速的收敛时间会被认为是好的。事实上,使用RIP的一个问题就是它的缓慢收敛时间。

  在每台路由器的路由表中都会保存有关于远程网络的一些信息,如网络号、路由器发送数据包到达此网络的接口号和到达此网络的跳计数或量度值。

路由环路及解决办法

1.距离矢量路由选择协议会通过定期广播路由更新到所有激活的接口,来跟踪互联网络中的任何变化。这个广播包含着整个路由表。这样是可以正常工作的,尽管它会占用一定的CPU进程和链路带宽。

  但是,如果一个网络出现瘫痪,实质性的问题就会产生。特别是,距离矢量路由选择协议的慢收敛会造成矛盾的路由表和路由环路。

  路由环路的发生是由于每台路由器不能同时或接近同时地完成路由表的更新。在维护路由表信息的时候,如果在拓扑发生改变后,网络收敛缓慢产生了不协调或者矛盾的路由选择条目,就会发生路由环路的问题,这种条件下,

  路由器对无法到达的网络路由不予理睬,导致用户的数据包不停在网络上循环发送,最终造成网络资源的严重浪费。链路状态算法(OSPF)不会产生路由环路,因此,消除路由环路的技术,都是针对距离向量协议进行的。

2.作为示例,让我们来假设在下图中网络X发生故障。

  

  则C路由器收到故障信息,并在路由表中把X网络设置为不可达,等待更新周期到时来通知相邻的B路由器。     但这时,如果相邻的B路由器的更新周期先来了,则C路由器将从B路由器那学习并更新到达X网络的路由。

  这是错误路由,因为此时的X网络已经损坏,而C路由器却在自己的路由表内增加了一条经过B 路由器到达X网络的路由。然后C路由器还会继续把该错误路由通告给B路由器,B路由器更新路由表,认为到达X网络须经过C路由,

  然后继续通知相邻的路由器,至此路由环路形成,C路由器认为到达X网络经过B路由器,而B则认为到达X网络进过C路由器。

解决路由环路的办法如下:

3.最大跳计数

  路由环路的问题可以简单地描述为无穷大计数,它是由于通告互联网络通信和传播的传言(广播)及错误信息所造成的。如果不使用一些人工干预,数据包每通过一台路由器的跳计数的增长会具有不确定性。

  解决这个问题的一个方式是定义最大跳计数。RIP允许跳计数最大可以达到 15,所以任何需要经过16跳到达的网络都被认为是不可达的。换句话说,在到达15跳的循环后,网络X将被认为是不可达的。

  因此,最大跳计数可以控制一个路由表项在达到多大的值后变成无效或不可信。

4.水平分割

  另一个解决路由环路问题的方案被称为水平分割。它通过在距离矢量网络中强制信息的传送规则来减少产生不正确路由信息和路由管理开销,具体做法是限制路由器不能按接收信息的方向去发送信息。

  换句话说,路由选择协议区分网络路由信息是哪个接口获取的,一旦这个判断被确定,它将不再把有关这一路由的信息再发送回同一接口。这将阻止路由器 A发送有关从路由器B处接收的更新信息返回路由器B。

5.毒抑路由

  定义最大值在一定程度上解决了路由环路问题,但并不彻底,可以看到,在达到最大值之前,路由环路还是存在的。为此,毒抑路由就可以彻底解决这个问题。  例如,当网络X出现问题时,

  路由器C可以通过输入网络X为16或不可达(有时视为是无穷大)的表项来引发一个毒抑路由。

  由于这个到网络X的毒抑路由,路由器B将不再容易接收路由到网络X的错误更新。当路由器B从路由器C处接收了一个毒抑路由时,它会发送一个中毒反转的更新,返回路由器C。这就保证了在这个网段中的所有路由器都可以接收到这个毒抑路由的路由信息。

6.保持关闭

  保持关闭可以阻止定期的更新消息去恢复一个不断开闭(称为翻动)的路由。通常,在串行链路上连接丢失然后又恢复是经常发生的。如果没有办法来稳定这一状况,网络将决不会到达收敛,并且翻动的接口会导致网络瘫痪!

  通过为每个已关闭的路由进行回复或为提高下一个最佳路由修改前的网络稳定性而设置允许定时器,保持关闭可以阻止过于频繁的路由修改。这可以告诉路由器,任何关于近期删除路由的修改,都将被限制在某个指定的时间间隔之外。

  这样,可以防止在其他路由器的路由表中过早恢复某些无效路由。

7.控制更新时间(即抑制计时器):

  抑制计时器用于阻止定期更新的消息在不恰当的时间内重置一个已经坏掉的路由。抑制计时器告诉路由器把可能影响路由的任何改变暂时保持一段时间,抑制时间通常比更新信息发送到整个网络的时间要长。

  当路由器从邻居接收到以前能够访问的网络现在不能访问的更新后,就将该路由标记为不可访问,并启动一个抑制计时器,如果再次收到从邻居发送来的更新信息,包含一个比原来路径具有更好度量值的路由,

  就标记为可以访问,并取消抑制计时器。如果在抑制计时器超时之前从不同邻居收到的更新信息包含的度量值比以前的更差,更新将被忽略,这样可以有更多的时间让更新信息传遍整个网络。

  路由中毒和抑制时间结合起来可以在一定程度上避免路由环路的产生,并且抑制复位接口引起的网络震荡。路由中毒即在网络故障或接口复位时,让相应的路由项中毒,即将路由项的度量值设为无穷大,表示该路由项已经失效,

  一般在这个时候都会同时启动抑制时间。比如上面图示的X网络出现故障,则C路由器到X网络的路由表的度量值会被设置为最大,表示X网络已经不可达,并启动抑制时间。如果在抑制时间结束前,C路由器在X网络侧接收到到达X网络的路由,

  则更新路由项,因为此时的X网络故障已经排除,并且删除抑制时间。如果有从别的路由器接收到到达X网络的路由(上图没有),并且新的度量值比旧的好,则更新路由项,删除抑制时间,

  因为此时可能有另一条不经过C但可以到达X网络侧的路由器的路径。但是如果度量值没有以前的好,则不进行更新。

IP路由__距离矢量路由选择协议的更多相关文章

  1. s5-11 距离矢量路由选择协议

    距离矢量路由选择(Distance Vector:DV) 每个路由器维护一张表,表中列出了当前已知的到每个目标 的最佳距离,以及为了到达那个目标,应该从哪个接口转发. 距离矢量路由选择(Distanc ...

  2. IP路由__动态路由

    1.使用协议来查找网络并更新路由表的配置,就是动态路由.它比使用静态或默认路由方便,但它需要一定的路由器CPU处理时间和网络链接带宽.路由协议定义了路由器与相邻路由器通信时所使用的一组规则. 在互联网 ...

  3. IP路由__静态路由

    1.静态路由的优缺点: 优点:对于路由器的CPU没有管理性开销,它意味着如果你不使用动态路由选择的话,你可能应该购买更为便宜的路由器.在路由器之间没有带宽占用,它意味着在WAN链接中你可以节省更多的钱 ...

  4. 计算机网络之网络层路由选择协议(自治系统AS、RIP、OSPF、BGP)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105313629 学习课程:<2019王道考研计算机网络> 学习目的 ...

  5. rip是典型的距离矢量动态路由协议。Ospf是链路状态型的协议

    网络工程师十个常见面试问题-看准网 https://m.kanzhun.com/k-mianshiwenti/1465113.html 两者都属于IGP协议,rip是典型的距离矢量动态路由协议.Osp ...

  6. 计算机网络之网络层IP组播(IGMP、组播路由选择协议、组播地址)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105318560 学习课程:<2019王道考研计算机网络> 学习目的 ...

  7. 距离矢量路由协议举例——RIP

    1. 工作原理 •RIP 是一种分布式的基于距离矢量的路由选择协议. •RIP 协议要求网络中的每个路由器都要维护从它自己到其它每个目的网络的距离记录. •RIP 协议中的"距离" ...

  8. 距离矢量路由协议——RIP

    距离矢量路由协议RIP: 众所周知,RIP(Routing Information Protocol),即路由信息协议,是一种距离矢量路由协议,它与IGRP,OSPF等一样都是属于IGP(Interi ...

  9. 路由选择协议(RIP/OSPF)

    目录 IGP RIP协议 OSPF协议 IS-IS协议 EIGRP协议 EGP BGP 我们可能会想,在偌大的网络中,我们是如何跟其他人通信的呢?我们是如何跟远在太平洋对面的美国小伙伴对话的呢? 这就 ...

随机推荐

  1. JVM 常用命令行工具

    本文部分摘自<深入理解 Java 虚拟机第三版> 基础故障处理工具 Java 开发人员肯定都知道 JDK 的 bin 目录下有许多小工具,这些小工具除了用于编译和运行 Java 程序外,打 ...

  2. 10年前,我就用 SQL注入漏洞黑了学校网站

    我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...

  3. LeetCode283 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作, ...

  4. oracle坚决不挂2(SQLPLUS基础命令)

    继续复习!!SQLplus基础命令,其实这个应该是第一个要复习的.因为基础,你懂得..要想学会跑,你先得知道该怎么走吧. win+R 输入cmd ,我们开始启动SQLplus sqlplus user ...

  5. FlatBuffers使用小结

    最近做一个Android APP,由于离线业务需求,需要在启动APP时候同步大量数据到APP上,遇到了JSON性能瓶颈.从下方的图片中可以看出,当使用 json 传输数据,在解析json的时候会产生大 ...

  6. 【Linux】if中的逻辑运算符怎么在linux的帮助中看到

    今天在写shell的时候,突然想查看下if相关的一些逻辑运算的,像-f -d之类的这种 于是man if  或者if --help 可是返回的信息却都无济于事,一点帮助都没有 回想一下,if中调的判断 ...

  7. 【EXPDP/IMPDP】ORACLE数据泵导入导出案例(expdp & impdp)

    概要: 因项目需要,通常需要将生产库下的部分数据抽取并恢复到测试库上 本文主要介绍数据泵导入导出的几种情况以及错误处理 案例环境: rhel-server-6.5-x86_64 oracle 11.2 ...

  8. linux查看文件夹和磁盘内存及服务器对应的ip

    多进程统计cpu 数目 n_cpu = multiprocessing.cpu_count() print(n_cpu) 查看文件夹占用磁盘空间 du -h --max-depth=1 /path 查 ...

  9. numpy模块(详解)

    重点 索引和切片 级联 聚合操作 统计操作 矩阵 什么是数据分析 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律 数据分析是用适当的方法对收集来的大量数据进行分析,帮助 ...

  10. uni-app开发经验分享十六:发布android版App的详细过程

    开发环境 1. Android Studio下载地址:Android Studio官网 OR Android Studio中文社区 2. HBuilderX(开发工具) 3. App离线SDK下载:最 ...