下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

距离矢量路由协议和链路状态路由协议的区别

作者:课课家教育     来源: http://www.kokojia.com点击数:5858发布时间: 2017-07-13 14:00:08

标签: 链路状态路由协议距离矢量路由协议互联网技术

  链路状态路由协议则如同使用地图一样,有了地图,您就可以看到所有潜在的路径并确定自己的首选路径。链路的状态是指与该路由器直连网络的状态,并包含关于网络类型以及那些网络中与该路由器相邻的所有路由器的信息 — 因此得名链路状态路由协议;距离矢量名称的由来是因为路由是以矢量(距离,方向)的方式被通告出去的,这里的距离是根据度量来决定的。通俗点就是:往某个方向上的距离。
  一、距离矢量路由协议
  距离矢量路由协议主要会产生2个问题,无限计数和路由环路问题。当然也有相应的解决办法。
  距离矢量算法是以R.E.Bellman,L.R.Ford和D.R.Fulkerson所做的工作为基础的,鉴于此,我们把距离矢量路由协议称为Bellman-Ford或者Ford-Fulkerson算法。
  距离矢量名称的由来是因为路由是以矢量(距离,方向)的方式被通告出去的,这里的距离是根据度量来决定的。通俗点就是:往某个方向上的距离。
  每种路由协议都有自己的算法,路由协议在共享和传递路由更新信息,乃至收敛都因为算法的不同而不同。
  路由协议根据算法可以分为两大类(也有说三类的-混合):距离矢量(Distance Ventor)和链路状态(Link State)。
  例如:“朝下一个路由器X的方向可以到达网络A,距此5跳之远”
  每台路由器在信息上都依赖于自己的相邻路由器,而它的相邻路由器又是通过自它们自己的相邻路由器那里学习路由,依此类推,所以就好象街边巷尾的小道新闻--一传十,十传百,很快就能弄到家喻户晓了。呵呵。正因为如此,我们一般把距离矢量路由协议称之为“依照传闻的路由协议。
  1.无限计数问题及解决方法
  请看下列拓扑图:

距离矢量路由协议和链路状态路由协议的区别_链路状态路由协议_距离矢量路由协议_互联网技术_课课家
  假设初始状态R0、R1、R2构成的网络已经收敛,当10.4.0.0这个网络出现问题时,R2觉察到该链路出现问题,那么它会发现R1的路由表上有关于10.4.0.0的路由信息,即R2认为通过R1可以到达10.4.0.0网络,此时R2会借此更新自己的路由表中关于该路径的开销信息,R1此时也发现R2上关于10.4.0.0路由表项的变化,因此也会更新自己的路由表,二者如此反复,就会产生计数至无穷大的问题。
  解决方案:定义最大值防止该问题,即定义的最大允许值为16跳,当度量超过该值时,则认为该网络不可达,从而防止扩散增加度量的路由更新。
  2.路由环路问题及解决方法
  当两台或多态路由器的路由信息中存在错误的(通过其他路由器指向不可达目的网络的有效路径)或者路由收敛缓慢时,就可能形成路由环路,这样会极大的浪费带宽资源。
  以上面的那个拓扑图为例:
  假如发往10.4.0.0的数据包到达R1,R1发往R2,R2又发往R1,如此循环往复,就变成路由环路的状况。
  解决方法:
  1.水平分割:决不再原始信息的来源方向再次发送该路由信息。显然,这样可以消除路由环路并加快网络收敛。
  2.毒性逆转水平分割:在基于路由信息协议的网络中,当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去,这叫做毒性逆转。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路,
  另外,毒性反转非常特殊,它会忽略水平分割规则的要求。
  3.抑制计时器:用来防止定期更新消息错误的恢复某条可能已经发生故障的路由,其工作原理如下:
  路由器收到来自邻居的更新指示以前可到达的路由现在已经不可达时,路由器将该路由标记为“可能有故障的路由”并启动抑制计时器。
  如果从邻居收到具有由于原来记录的更新消息,则将该路由重新标记为可访问并删除抑制计时器。
  如果在抑制计时器过时之前的任何时间点收到的更新消息均差于原来的记录,那么忽略这些消息。
  抑制期间,路由器仍会将数据包路由到“可能有故障”的网络中。
  4.触发更新:路由表的更新通常会以固定的间隔发往邻居路由器,而触发更新是在某些变化发生的时候立刻发送该变化信息。当该信息到达邻居路由器的时候,邻居路由器又会立刻向其邻居发送更新消息,如此将消息传遍网络。
  5.距离矢量的特点

定期更新(Periodic Updates)   既然说到了是定期,那么它们都会在到达某一个时间点上“同时”发送更新信息,更新信息指的是各路由器各自的直连网络信息。一般这个时间周期为10S到90S。这个周期依照路由协议的不同而不同,常用的RIP为30S,而IGRP为90S。这里引发争议的是如果更新信息在网络中过于频繁就会浪费带宽,造成拥塞,如果更新信息发送太慢频率不高,收敛时间又会变长。
  1、定期更新(Periodic Updates)
  既然说到了是定期,那么它们都会在到达某一个时间点上“同时”发送更新信息,更新信息指的是各路由器各自的直连网络信息。一般这个时间周期为10S到90S。这个周期依照路由协议的不同而不同,常用的RIP为30S,而IGRP为90S。这里引发争议的是如果更新信息在网络中过于频繁就会浪费带宽,造成拥塞,如果更新信息发送太慢频率不高,收敛时间又会变长。
  2、邻居(Neighbours)
  邻居通常意味着共享相同的数据链路的路由器。距离矢量路由协议向邻居路由器发送更新信息,并依赖邻居向它的邻居传递更新信息,因此,距离矢量路由协议可以被看成是以“逐跳更新方式”来进行路由更新的协议。
  3、包含整个路由表的更新
  就好象两个知心好友一样,推心置腹……把自己知道的什么玩意儿都掏出来告诉对方。基本上所有的距离矢量路由协议都会采用这种简便的办法来向邻居路由器通告自己所知道的所有信息——告诉其他路由器自己的整张路由选择表,邻居在收到该信息后,去其糟粕,取其精华……完善自己的路由表。
  4、依照传闻进行路由选择
  5、路由计时器(在后面讲解RIP的时候会将到)。讲述距离矢量的几种计时器
  6、水平分割(Split Horizon)详见CCNP-BSCI 002距离矢量路由协议–水平分割
  7、计数到无穷大(在后面讲解RIP的时候会将到)
  8、触发更新(Triggered Update)
  触发更新又名快速更新:当路由收敛后,如果某台路由器得知自己直连的一条链路的度量变化了,(无论好或者坏)那么该路由器将立即发送更新信息,不必等到更新计时器的到期。
  9、抑制计时器(Holddown Timer)
  触发更新为正在进行收敛的网络增加了应变能力,为了降低接受错误路由信息的可能性,抑制计时器引入了某种程度的怀疑量
  如果到一个目标的度量发生改变(无论是增大还是减小),那么路由器将会将该路由条目置为抑制状态——即加上一个抑制计时器。直到计时器超时,路由器才会接受有关此路由的信息。
  它虽然降低了错误路由的可能性,但是收敛时间却会因此而变长,因为在对其进行配置的时候,一定要根据全网的情况来配置一个合适的值。
  10、异步更新(Asynchronous Update)
  假设有一组连接在以太网段上的路由器群,大家都记得,以太网的工作方式。如果每台路由器都共享一个广播网络的时候,很可能会出现更新同步的情况——几台路由器的更新时间同时到期,同时更新。那么就会造成报文的碰撞,然后根据CSMA/CD,它们会回退,但是,很可能这样一来影响到整个系统的时延,最终会造成整个网络的同步。所以,我们通常使用两种办法来防止同步保持异步更新:
  ·每台路由器的更新计时器都独立于路由进程,因为不会受到路由器处理负载的影响
  ·在每个更新周期中加入一个小的随机偏移量。
  二、链路状态路由协议

链路状态路由协议是层次式的,网络中的 路由器并不向邻居传递“路由项”,而是通告给邻居一些链路状态。与距离 矢量路由协议相比,链路状态协议对路由的计算方法有本质的差别。 距离矢量协议是平面式的,所有的路由学习完全依靠邻居,交换的是路由项。链路状态协议只是通告给邻居一些链路状态。运行该路由协议的 路由器不是简单地从相邻的路由器学习路由,而是把路由器分成区域,收集区域的所有的路由器的链路状态信息,根据状态信息生成 网络拓扑结构,每一个路由器再根据拓扑结构计算出路由。
  链路状态路由协议是层次式的,网络中的 路由器并不向邻居传递“路由项”,而是通告给邻居一些链路状态。与距离 矢量路由协议相比,链路状态协议对路由的计算方法有本质的差别。 距离矢量协议是平面式的,所有的路由学习完全依靠邻居,交换的是路由项。链路状态协议只是通告给邻居一些链路状态。运行该路由协议的 路由器不是简单地从相邻的路由器学习路由,而是把路由器分成区域,收集区域的所有的路由器的链路状态信息,根据状态信息生成 网络拓扑结构,每一个路由器再根据拓扑结构计算出路由。
  协议要求
  现代链路状态路由协议设计旨在尽量降低对内存、CPU和带宽的影响。使用并配置多个区域可减小链路状态数据库。划分多个区域还可限制在路由域内 泛洪的链路状态信息的数量,并可仅将LSP发送给所需的 路由器。
  内存要求
  与距离 矢量路由协议相比,链路状态路由协议通常需要占用更多的内存、CPU处理时间和 带宽。对内存的要求源于链路状态数据库的使用和创建SPF树的需要。
  处理器要求
  与距离矢量路由协议相比,链路状态路由协议可能还需要占用更多的 CPU处理时间。与Bellman-Ford等 距离矢量算法相比,SPF算法需要更多的CPU处理时间,因为链路状态路由协议会创建完整的拓扑图。
  带宽要求
  链路状态 数据包泛洪会对网络的可用 带宽产生负面影响。这应该只出现在 路由器初始启动过程中,但在不稳定的网络中也可能导致问题。
  链路状态路由过程:
  (1):通告直连网络
  (2)?:向邻居发送Hello数据包
  (3):建立链路状态数据包(LSP)
  (4):泛洪链路状态数据包
  注:在收到链路状态数据包之后,链路状态路由协议并不运行SPF算法更新路由,而是等到泛洪完成之后再计算SPF算法。这点和距离矢量路由协议不同?
  (5):构建链路状态数据库?
  所以说,链路状态协议与前面的距离矢量路由协议有很大不同。
  1.主要区别:
  距离矢量路由协议是通过路由器向其邻居发送自己的路由表的方式来维护自己本身的路由信息。
  链路状态协议从网络或者网络的限定区域内的所有其他路由器处(不仅仅限制在自己的邻居路由器处)收集信息。收集完信息之后,每台路由器会在不依赖其他路由器的情况下计算到达各个网络的路由,由于每台路由器维护的是其对整个网络的印象,因此路由器不太会传播邻居路由器提供的错误信息。
  2.拓扑数据库
  前面我们讲到,链路状态路由协议是收集整个网络的各种信息,所以,这些信息就构成了路由器的一个拓扑数据库。通过对这个数据库使用Dijkstra算法创建SPF树,这样就能找到通往目的地的最佳路径。
  3.优点
  用开销来衡量链路,比较全面。
  网络可以被分成层级,以限制路由变化的范围。
  很难形成路由环路
  及时报告机制会加快收敛速度。
  以上就是互联网技术的理解了,大家都掌握了吗?如果有什么不详细的地方,大家可以进行补充,虚心请教,更多内容,登录课课家教育,我们等着您的咨询!

赞(26)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程