距离矢量路由协议及路由环路

合集下载

距离矢量和链路状态区别

距离矢量和链路状态区别

距离矢量和链路状态区别距离矢量(DV)是“传说的路由”,A发路由信息给B,B加上自己的度量值又发给C,路由表里的条目是听来的,虽说“兼听则明,偏信则暗”,但是选出最优路径的同时会引发环路问题,当然,DV协议也使用水平分割,毒性逆转,触发更新等特性来避免,无奈的是,这种问题对于竞争对手LS而言是天生免疫的。

链路状态(LS)是“传信的路由”,A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给C,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是LSDB。

然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入转发数据库中(即路由表)。

链路状态协议有三样看家本领:LSDB,SPF算法,SPF Tree。

还有三张表:邻居表,拓扑表,路由表,但这三张表并不是DV和LS的根本区别,EIGRP作为高级的距离矢量路由协议同样有这三张表,关键点在于表的内容和传递信息的过程。

DV的拓扑表事实上是邻居通告的路由条目的集合,依据算法从中选出最佳的放进路由表,它并不完全了解网络拓扑;而LS的拓扑表是真正意义上的网络拓扑,路由器对网络信息完全了解,所以可以独立的做出决策,确定最佳路由。

举例来说,如果我是DV的思维,我从华师去火车东站,通过询问知道,我可以在走到师大暨大车站坐515路车,也可以走到坐177路车,这样问下来有几种方案,我再选一个最优的,以这样的方式我就知道广州市内的一些地方该怎么去;而如果我是LS的思维,我会先去四下打听,搜集信息然后汇总成一张广州市区的地图,然后依据这张地图自己决定如何去火车东站以及其它地方。

路由过滤器对DV和LS的影响也是不同的。

运行DV的路由器基于自身的路由表来通告路由信息,其结果是路由过滤器将会对通告产生影响。

运行LS的路由器是基于自身的链路状态数据库来计算出自己的路由,路由过滤器对两路状态的通告和链路状态数据库没有影响,所以只会影响本路由器的路由表的安装,正是因为这种特性,路由过滤器主要被用在进入链路状态域的重新分配点上,即在ASBR执行重发布时,控制那些要进入或离开的路由.-------------------------------------------------------------------所以我们总结一下链路状态选择协议的优缺点如下:链路状态路由选择的优点:1.收敛速度快:触发更新在每个路由器上进行2.没有路由环路:才用SPF算法3.分等级设计网络和路由,更合理的利用网络资源4.和距离矢量路由协议相比,链路状态路由协议的故障排除更为复杂链路状态路由选择的缺点:1.占用系统和网络资源:a.对处理器和内存的要求高b.第一次链路状态信息交换使用泛洪方式2.设计复杂:需要遵循严谨的区域划分原则3.配置可能比较复杂:设计多区域链路状态路由选择时,配置有时可能比较复杂。

距离矢量路由协议(distancevector)VS链路状态路由协议(link-st...

距离矢量路由协议(distancevector)VS链路状态路由协议(link-st...

距离矢量路由协议(distancevector)VS链路状态路由协议(link-st...距离矢量路由协议(distance vector) VS 链路状态路由协议(link-state)收藏新一篇: 链路状态路由选择协议 | 旧一篇: chap. 1一、PK第一番距离矢量:运行距离矢量路由协议的路由器,会将所有它知道的路由信息与邻居共享,但是只与直连邻居共享!链路状态:运行链路状态路由协议的路由器,只将它所直连的链路状态与邻居共享,这个邻居是指一个域内(domain),或一个区域内(area)的所有路由器!二、PK第二番所有距离矢量路由协议均使用Bellman-Ford(Ford-Fulkerson)算法,容易产生路由环路(loop)和计数到无穷大(counting to infinity)的问题。

因此它们必须结合一些防环机制:split-horizonroute poisoningpoison reversehold-down timertrigger updates同时由于每台路由器都必须在将从邻居学到的路由转发给其它路由器之前,运行路由算法,所以网络的规模越大,其收敛速度越慢。

链路状态路由协议均使用了强健的SPF算法,如OSPF的dijkstra,不易产生路由环路,或是一些错误的路由信息。

路由器在转发链路状态包时(描述链路状态、拓扑变化的包),没必要首先进行路由运算,再给邻居进行发送,从而加快了网络的收敛速度。

三、PK第三番距离矢量路由协议,更新的是“路由条目”!一条重要的链路如果发生变化,意味着需通告多条涉及到的路由条目!链路状态路由协议,更新的是“拓扑”!每台路由器上都有完全相同的拓扑,他们各自分别进行SPF算法,计算出路由条目!一条重要链路的变化,不必再发送所有被波及的路由条目,只需发送一条链路通告,告知其它路由器本链路发生故障即可。

其它路由器会根据链路状态,改变自已的拓扑数据库,重新计算路由条目。

距离矢量路由协议的特点

距离矢量路由协议的特点
简单性
距离矢量路由协议实现简单, 易于部署和维护。
灵活性
能够适应网络拓扑变化,快速 收敛。
可靠性
通过多路径备份和路由环路避 免,提高路由的可靠性。
工作原理
路由信息交换
节点之间通过定期交换路由信息,更新邻居节点和路 径信息。
最佳路径选择
根据距离度量和路径可靠性等因素,选择最佳路径进 行数据传输。
路由环路避免
Floyd-Warshall算法
总结词
Floyd-Warshall算法是一种用于查找所有节点对之间最短路径的动态规划算法。在距离矢量路由协议中,FloydWarshall算法用于计算网络中所有节点之间的最短路径。
详细描述
Floyd-Warshall算法的基本思想是通过构建一个中间节点矩阵,逐步计算出所有节点对之间的最短路径。算法通 过不断更新节点间的距离值,最终得到一个所有节点对之间的最短路径矩阵。Floyd-Warshall算法适用于稀疏图 和稠密图,具有较高的计算效率和准确性。
适用于对可靠性要求高的场景。
02 路由计算方式
CHAPTER
Bellman-Ford算法
总结词
Bellman-Ford算法是一种经典的动态规划算法,用于解决最短路径问题。在距离矢量路由协议中, Bellman-Ford算法用于计算从源节点到目的节点的最短路径。
详细描述
Bellman-Ford算法的基本思想是通过迭代的方式,从源节点开始,逐步计算每个节点到源节点的最短 距离。算法通过不断更新节点间的距离值,最终找到从源节点到目的节点的最短路径。Bellman-Ford 算法具有较好的稳定性和扩展性,适用于大规模网络。
通过限制路由信息的转发范围和采用路由汇总等技术 ,避免路由环路的发生。

解决路由器环路现象的方法

解决路由器环路现象的方法

解决路由器环路现象的方法路由器环路是指在计算机网络中,数据包在网络中传递时被路由器错误地传送回遍历的路径上,造成数据包不断循环。

这会导致网络拥塞、延迟增加甚至服务不可达等问题。

为了解决路由器环路现象,可以采取以下方法。

1.使用距离矢量路由协议(DVRP)距离矢量路由协议(Distance Vector Routing Protocol)是一种简单的路由选择算法,通过在网络中交换信息来建立路由表,并使网络中的每个路由器都能计算出到目的地的最佳路径。

DVRP可以避免环路形成,因为它使用了路由器之间的距离来计算路径成本,而不是直接通过之前的路径。

2.使用链路状态路由协议(LSRP)链路状态路由协议(Link State Routing Protocol)是一种更复杂的路由选择算法,它将网络中的每个路由器的链路状态信息(如带宽、延迟等)存储在路由器的链路状态数据库中。

通过交换链路状态信息,每个路由器可以计算出到目的地的最佳路径,并使用该路径转发数据包。

同样,LSRP可以避免环路形成,因为它计算路径时会考虑链路状态信息。

3.使用回环检测机制回环检测机制是一种可以检测并阻止环路的方法。

在实现中,路由器在转发数据包时,将数据包的源IP地址和传来的接口信息保存下来。

当同样的数据包重新出现在相同的接口上时,说明存在环路,路由器可以使用回环检测机制,丢弃数据包,阻止环路的产生。

4.利用路由器控制平面与数据平面分离路由器控制平面与数据平面分离是一种新兴的网络架构,它将路由器的控制决策从数据平面分离开来。

通过将控制平面与数据平面分离,可以在控制平面中实现环路检测和避免环路的算法,从而更好地管理网络中的路由器。

5.使用链路聚合技术链路聚合技术(Link Aggregation)是将多个链路捆绑为一个逻辑链路的技术。

在链路聚合中,多个链路可以同时传输数据,增加带宽和可靠性。

同时,通过链路聚合,可以避免环路的产生,因为传输数据的路径是预先配置好的,不会产生循环路径。

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

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

距离矢量路由协议和链路状态路由协议距离矢量路由协议和链路状态路由协议是计算机网络中常见的两种路由协议。

它们分别通过不同的方式来确定网络中数据包的最佳传输路径。

本文将对这两种路由协议进行深入探讨,从协议原理、工作方式、优缺点等几个方面进行比较分析,以便读者更好地理解两种路由协议的异同之处。

一、距离矢量路由协议距离矢量路由协议(Distance Vector Routing Protocol)是一种基于距离度量的路由选择协议,它根据每条路径的距离(即跳数或者成本)来确定最佳路径。

常见的距离矢量路由协议有RIP(Routing Information Protocol)和IGRP(Interior Gateway Routing Protocol)等。

1.1原理距离矢量路由协议的原理比较简单,每个路由器会周期性地向它的邻居路由器发送路由更新信息,包括自己所知道的所有网络地址及到达这些地址的距离。

邻居路由器收到这些更新信息后,会根据这些信息更新自己的路由表。

如果某个路由器的路由表发生变化,它就会通知它的邻居路由器。

通过这种方式,路由表信息会在整个网络中传播,直到所有路由器的路由表都收敛到最优状态。

1.2工作方式距离矢量路由协议的工作方式是分散式的,每个路由器只知道它直接相连的邻居路由器的路由信息,并且根据这些信息来计算到达其他网络的最佳路径。

因此,距离矢量路由协议的路由表只包含了直接相连的邻居路由器的信息,而不包含整个网络的拓扑结构信息。

1.3优缺点距离矢量路由协议的优点是实现比较简单,对网络带宽和处理器资源的需求较低。

但是它也存在很多缺点,比如收敛速度慢、不适合大型网络、易受环路影响等。

二、链路状态路由协议链路状态路由协议(Link State Routing Protocol)是另一种常见的路由选择协议,它根据网络中每个路由器的链路状态信息来计算最佳路径。

常见的链路状态路由协议有OSPF(Open Shortest PathFirst)和IS-IS(Intermediate System to Intermediate System)等。

距离矢量和链路状态区别

距离矢量和链路状态区别

距离矢量和链路状态区别距离矢量(DV)是“传说的路由”,A发路由信息给B,B加上自己的度量值又发给C,路由表里的条目是听来的,虽说“兼听则明,偏信则暗”,但是选出最优路径的同时会引发环路问题,当然,DV协议也使用水平分割,毒性逆转,触发更新等特性来避免,无奈的是,这种问题对于竞争对手LS而言是天生免疫的。

链路状态(LS)是“传信的路由”,A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给C,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是LSDB。

然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入转发数据库中(即路由表)。

链路状态协议有三样看家本领:LSDB,SPF算法,SPF Tree。

还有三张表:邻居表,拓扑表,路由表,但这三张表并不是DV和LS的根本区别,EIGRP作为高级的距离矢量路由协议同样有这三张表,关键点在于表的内容和传递信息的过程。

DV的拓扑表事实上是邻居通告的路由条目的集合,依据算法从中选出最佳的放进路由表,它并不完全了解网络拓扑;而LS的拓扑表是真正意义上的网络拓扑,路由器对网络信息完全了解,所以可以独立的做出决策,确定最佳路由。

举例来说,如果我是DV的思维,我从华师去火车东站,通过询问知道,我可以在走到师大暨大车站坐515路车,也可以走到坐177路车,这样问下来有几种方案,我再选一个最优的,以这样的方式我就知道广州市内的一些地方该怎么去;而如果我是LS的思维,我会先去四下打听,搜集信息然后汇总成一张广州市区的地图,然后依据这张地图自己决定如何去火车东站以及其它地方。

路由过滤器对DV和LS的影响也是不同的。

运行DV的路由器基于自身的路由表来通告路由信息,其结果是路由过滤器将会对通告产生影响。

运行LS的路由器是基于自身的链路状态数据库来计算出自己的路由,路由过滤器对两路状态的通告和链路状态数据库没有影响,所以只会影响本路由器的路由表的安装,正是因为这种特性,路由过滤器主要被用在进入链路状态域的重新分配点上,即在ASBR执行重发布时,控制那些要进入或离开的路由.-------------------------------------------------------------------所以我们总结一下链路状态选择协议的优缺点如下:链路状态路由选择的优点:1.收敛速度快:触发更新在每个路由器上进行2.没有路由环路:才用SPF算法3.分等级设计网络和路由,更合理的利用网络资源4.和距离矢量路由协议相比,链路状态路由协议的故障排除更为复杂链路状态路由选择的缺点:1.占用系统和网络资源:a.对处理器和内存的要求高b.第一次链路状态信息交换使用泛洪方式2.设计复杂:需要遵循严谨的区域划分原则3.配置可能比较复杂:设计多区域链路状态路由选择时,配置有时可能比较复杂。

距离矢量路由协议路由环路问题的解决

距离矢量路由协议路由环路问题的解决

距离矢量路由协议中路由环路问题的解决方法概括来讲,主要分为六种: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这个网络已经失效,不再接收更新信息,从而避免了路由环路。

路由器及路由协议基础配置-距离矢量路由协议

路由器及路由协议基础配置-距离矢量路由协议
1) 路由器A向路由器B和D发送 更新,指示网络1出现故障。 然而路由器C向路由器B传输 的更新指示网络1可以通过路 由器D以4跳的距离到达。这 个行为没有违反水平分割原 则。 2) 路由器B错误的推断路由器 C仍然有一条有效路径到达网 络1,尽管它的度量标准差一 些。路由器B向路由器A发送 一个更新,通告路由器A有一 条新路由到达网络1。
2013-7-30
27
常见的RIP配臵问题
• 更新间隔
– Cisco IOS软件默认每30s运行一次IP RIP更新; 这个时间可以重新配臵得长一些以节约带宽,或者 短一些以减少收敛时间; – 使用以下命令可以修改更新间隔: Router(config-router)# update-timer [seconds]
2013-7-30
17
索引
• 距离矢量路由选择 • RIP协议
2013-7-30
18
RIP的主要特点
• 路由选择信息协议(RIP)最初定义于1988 年的RFC 1058,其主要特点包括:
1. 2. 3. 4. 属于距离矢量路由选择协议 使用跳数Hop count)作为路径选择的度量标准 路由跳数大于15则丢弃使用该路由的转发分组 默认情况下,路由选择更新每30s广播一次。
2013-7-30
6
距离矢量路由环路问题
3) 现在路由器C向路由器 D发送定期更新,指示有 一条路径经路由器B可以到 达网络1。路由器D修改自 己的落雨选择表以反映这 条不正确的信息,并把这 个信息发送给路由器A。路 由器A将这个信息发送到路 由器B和E,以此类推。任 何到达网络1的分组现在都 回沿着路由器C到B到A到 D然后回到C如此循环的传 输。
2013-7-30
26
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七讲:距离矢量路由协议及路由环路
回顾昨天:提问:1、距离矢量路由协议包括哪几种?2、路由器是如何确定最佳路由的说出步骤?
今天内容:距离矢量路由协议及确保路由表条目的的正确的六种方法,及六种方法的结合使用。

一、距离矢量路由协议学习路由的方法首先明确一点,该协议并不能学到整个网络的拓扑。

只能靠学习邻居路由表内容来学习路由。

但每个路由表中只有最佳路径(也就是路由)。

也就是说只有目的地方向(路由器接口)和距离,于是被叫距离矢量。

举例:高速路上开车,没有地图,出错,只能打听。

而打听的人也不知道还要向另外的人打听(好比路由器问邻居路由器,邻居也不知道于是就要再问下一个邻居,这样收敛的速度可想而知)
1、距离矢量路由协议是通过传递路由更新
包来学习路由的(见图10-1),在图10-2到10-4是说明了RIP路由协议是怎样来学习路由的。

在路由协议刚刚运行的时
候,路由器没有开始相互发送UPDATE
包,于是路由表里只有自己直连的网段,管理距离是0。

如图10-2,路由器学到
了自己直连的网段后便开始向邻居路由
器发送更新包了,此包里包含我们发布
的路由。

(一台路由器所直接连接的网段
必须发布在路由协议里才能够被放到
UPDATE包里传送)这样路由器就学到
了其他路由器的路由了见图10-3。

路由
器学到了邻居的路由再打包向邻居发,
这样所有路由器会学到所有的路由条
目。

如图10-4(注意此图的RIP为RIPV2,找同学说为什么)
#########注意:从以上可以看出距离矢量路由协议就是靠和邻居之间周期性的交换路由表来一步一步学到远端路由的#######
2、路由更新包的格式决定了路由协议是有
类还是无类。

实际上有类的路由协议出现的比较早,当时没有出现子网。

路由学到的都是正规的ABC 类网段。

RIP V1等距离矢量路由协议的更
新包里没有放掩码位的地方,虽然能学到子网的网段但没有掩码来确定网络位,于是把学到的子网网段自动归为主类网从而学不到子网变成了事实。

RIP V2加入了放掩码的空间于是能用该掩码与学到的IP做与的运算,于是能学到子网
特例:见图10-5与昨天讲的图9-8做比较
原理:在有类的IP路由协议里有这样一个规定:当路由器从一个接口学到的网段和配置在这个接口上的IP地址属于同一个主类网时,可以用配置在该接口上的子网掩码作为所学到那个网段的子网掩码。

二、距离矢量路由协议保证路由表正确的
六种方法
路由环路是任何路由协议都要避免的路由故障,发生路由环路时,路由器的路由表会频繁的变化,从而造成路由表中的某一条或几条,甚至整个路由表都无法收敛,结果使网络处于瘫痪或半瘫痪状态。

1、路由环路是如何产生的(见课件10-6
-10)
2、保证路由表正确的六种方法
(1)最大度量值
不同协议的度量值不同,RIP规定最大跳数为16,到达16时将认为无效路由将其丢掉,于是最大网络直径15跳。

16台路由器。

而IGRP协议的算法比较复杂,最大度量值为4294967295。

(2)水平分割
最大度量值的方法只能在环路产生之后才会有效。

而我们要制定一个策略尽量制止环路的产生。

即水平分割。

水平分割就是对一台路由器来说,从一个方向学来的路由信息,不能再放入发回那个方向的路由更新包并且发回那个方向(见图10-11)
(3)路由中毒
水平分割只能避免出现路由环路,可是从上图可以看到,路由器A和B中依然有到错误网段的路由表条目,那么路由协议要有一种机制自己的网段如果出错了,可以告诉别的路由器。

(见图10
-12)
(4)反向下毒
在图中的路由器A和B都被下毒后它们会继续向自己的邻居下毒,同时为了保证整个网络中的路由器都被下毒它们会向毒源的方向下毒,(这种方式是不是违反水平分割??但这是被允许的)图10-13
(5)保持时间
如果只有路由中毒还是会出问题如图1―14当B被下毒后,把升级包刚要发给A的时候,却被A的UPDATA包抢先发过来,占据了B的路由表,下毒的路由条目又被使能,之后向所有邻居发送错误信息。

再次环路。

针对这种现象我们做了保持时间,即在“可能DOWN”的状态下要保持一定时间,在些时间内,即使收到了别的升级包(度量值相等或更差)也不会改变“可能DOWN”的状态,直到一定时间后,整个网络可能都已经收敛为止。

(6)触发更新
我们知道了路由器是周期性的发送更新包,如果网络一旦出现故障。

则要等到下一个周期才能发。

那么将会造成网络中大量的数据包被错错误的路由到已经坏掉或都漰溃的路由器上。

造成路由黑洞。

路由更新就是为了解决这个问题的,一旦有错误发生会马上触发更新包通知给邻居路由器。

相关文档
最新文档