矢量路由选择协议

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. 第14章节 BJROBOT karto 算法构建地图【ROS全开源阿克曼转向智能网联无人驾驶车】

    建地图前说明:请确保你的小车已经校正好 IMU.角速度.线速度,虚拟机配置好 ROS 网络的前提进行,否则会造成构建地图无边界.虚拟机端无法正常收到小车主控端发布的话题数据等异常情况!! 1.把小车平 ...

  2. 熬夜肝了一周!总结了这套对标阿里P8的java秘籍,限时发布3天!

    前言 最近老是有粉丝私信我说感觉自己学java越来越难了,这其中有刚毕业的应届生说自己的技术找不到满意的工作,也有在学校的大学习说找不到学习方式,更多的是正在工作的java开发人员说是现在的技术更新太 ...

  3. 每日一个linux命令6 -- mv

    mv test.log test1.txt 文件改名 mv test1.log test3 文件移动 mv test1.log test2.log test3.log test4 将1,2,3.log ...

  4. Azure Databricks 第二篇:pyspark.sql 简介

    pyspark中的DataFrame等价于Spark SQL中的一个关系表.在pyspark中,DataFrame由Column和Row构成. pyspark.sql.SparkSession:是Da ...

  5. 在.NET Core中使用Channel(一)

    我最近一直在熟悉.net Core中引入的新Channel<T>类型.我想在它第一次发布的时候我了解过它,但是有关文章非常非常少,我不能理解它们与其他队列有什么不同. 在使用了一段时间后, ...

  6. U盘使用技巧篇 制作一般人删除不了的文件(宣传视频) (量产开卡)

    一. 视频制作成ISO ,放好 视频  图标文件 制作工具 : UltraISO 图标制作: 插入光盘状态:用autorun.inf格式:[autorun]open=Install.exe 点击光盘时 ...

  7. 风炫安全WEB安全学习第二十节课 反射型XSS讲解

    风炫安全WEB安全学习第二十节课 反射型XSS讲解 反射性xss演示 原理讲解 如果一个应用程序使用动态页面向用户显示错误消息,就会造成一种常见的XSS漏洞.通常,该页面会使用一个包含消息文本的参数, ...

  8. Redis守护进程作用+数据类型

    Redis开启守护进程的作用: 在 linux 中,每一个系统与用户进行交流的界面称为终端 如果没有开启守护进程,相当于知识在前台开启了Redis,当终端关闭时,Reids服务也会跟着关闭 而开启守护 ...

  9. Angular入门到精通系列教程(4)- 开发环境搭建以及入手项目

    1. 本地开发环境搭建 1.1. node.js 1.2. Angular CLI 2. 开发工具 - Visual Studio Code 第一个Anuglar项目 创建第一个anuglar项目 A ...

  10. python异步回调顺序?是否加锁?

    话不多说,直接上代码: import time from functools import partial from concurrent.futures.process import Process ...