11.5 Distance Vector Routing(距离矢量路由协议介绍-理论).
距离矢量路由协议(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算法,计算出路由条目!一条重要链路的变化,不必再发送所有被波及的路由条目,只需发送一条链路通告,告知其它路由器本链路发生故障即可。
其它路由器会根据链路状态,改变自已的拓扑数据库,重新计算路由条目。
计算机网络原理 距离矢量路由

计算机网络原理距离矢量路由距离矢量路由选择(Distance Vector Routing)算法是通过每个路由器维护一张表(即一个矢量)来实现的,该表中列出了到达每一个目标地的可知的最短路径及所经过的线路,这些信息通过相邻路由器间交换信息来更新完成。
我们称这张表为路由表,表中按进入子网的节点索引,每个表项包含两个部分,到达目的地最优路径所使用的出线及一个估计的距离或时间,所使用的度量可能是站段数,时间延迟,沿着路径的排队报数或其他。
距离矢量路由选择算法有时候也称为分布式Bellman-Ford路由选择算法和Ford-Fulkerson算法,它们都是根据其开发者的名字来命名的(Bellman,1957;Ford and Fulkerson,1962)。
它最初用于ARPANET路由选择算法,还用于Internet和早期版本的DECnet 和Novell的IPX中,其名字为RIP。
AppleTalk t Cisco路由器使用了改进型的距离矢量协议。
在距离矢量路由选择算法中,每个路由器维护了一张子网中每一个以其他路由器为索引的路由选择表,并且每个路由器对应一个表项。
该表项包含两部分:为了到达该目标路由器而首选使用的输出线路,以及到达该目标路由器的时间估计值或者距离估计值。
所使用的度量可能是站点数,或者是以毫秒计算的延迟,或者是沿着该路径排队的分组数目,或者其他类似的值。
假设路由器知道它到每个相邻路由器的“距离”。
如果所用的度量为站点,那么该距离就为一个站点。
如果所用的度量为队列长度,那么路由器只需检查每一个队列即可。
如果度量值为延迟,则路由器可以直接发送一个特殊的“响应”(ECHO)分组来测出延时,接收者只对它加上时间标记后就尽快送回。
距离矢量路由协议和链路状态路由协议

距离矢量路由协议和链路状态路由协议距离矢量路由协议和链路状态路由协议是计算机网络中常见的两种路由协议。
它们分别通过不同的方式来确定网络中数据包的最佳传输路径。
本文将对这两种路由协议进行深入探讨,从协议原理、工作方式、优缺点等几个方面进行比较分析,以便读者更好地理解两种路由协议的异同之处。
一、距离矢量路由协议距离矢量路由协议(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)等。
距离矢量路由算法

距离矢量路由算法(Distance Vector Routing,DV)是ARPANET网络上最早使用的路由算法,也称Bellman-Ford路由算法和Ford-Fulkerson算法,主要在RIP(Route Information Protocol)协议中使用。
Cisco的IGRP和EIGRP路由协议也是采用DV这种路由算法的。
“距离矢量路由算法”的基本思想如下:每个路由器维护一个距离矢量(通常是以延时是作变量的)表,然后通过相邻路由器之间的距离矢量通告进行距离矢量表的更新。
每个距离矢量表项包括两部分:到达目的结点的最佳输出线路,和到达目的结点所需时间或距离,通信子网中的其它每个路由器在表中占据一个表项,并作为该表项的索引。
每隔一段时间,路由器会向所有邻居结点发送它到每个目的结点的距离表,同时它也接收每个邻居结点发来的距离表。
这样以此类推,经过一段时间后便可将网络中各路由器所获得的距离矢量信息在各路由器上统一起来,这样各路由器只需要查看这个距离矢量表就可以为不同来源分组找到一条最佳的路由。
现假定用延时作为距离的度量,举一个简单的例子,如图7-37所示。
假设某个时候路由器Y收到其邻居路由器X的距离矢量,其中m是Y估计到达路由器X的延时。
若Y路由器知道它到邻居Z的延时为n,那么它可以得知Z通过Y到达X需要花费时间m+n。
如果Z路由器还有其他相邻路由器,则对于从其他每个邻居那儿收到的距离矢量,该路由器执行同样的计算,最后从中选择费时最小的路由作为Z去往X的最佳路由,然后更新其路由表,并通告给其邻居路由器。
图7-37 距离矢量路由算法简单实例现以一个如图7-38所示的示例介绍距离矢量算法中的路由的确定流程,各段链路的延时均已在图中标注。
A、B、C、D、E代表五个路由器,假设路由表的传递方向为:A → B →C → D → E(这与路由器启动的先后次序有关)。
下面具体的流程。
(1)初始状态下,各路由器都只收集直接相连的链路的延时信息,各路由器结点得出各自的初始矢量表如图7-39所示。
距离矢量路由算法

距离矢量路由算法距离矢量路由算法是一种常用的路由协议算法,用于在一张网络拓扑图中计算一个节点到其它节点的最短路径,从而实现数据包的转发和路由选择。
本文将详细介绍距离矢量路由算法的原理、实现和优化方法。
一、距离矢量路由算法原理距离矢量路由算法是一种分布式算法,它的核心思想是每个节点通过交换路由信息来建立一个网络的路由表,并根据这张表来进行数据包的转发。
在距离矢量路由算法中,每个节点都会维护一个距离向量,它表示从当前节点到其它节点的距离。
距离向量包含三部分信息:到达某个节点的距离、中转节点和前缀信息。
其中,到达某个节点的距离可以采用最小跳数、带权重的跳数或延迟时间等方式来衡量。
在距离矢量路由算法中,每个节点都会周期性地向邻居节点广播自己的距离向量,并接收邻居节点的距离向量。
通过比较邻居节点的距离向量和自己的距离向量来更新自己的路由表。
如果邻居节点的距离更小,则更新路由表;如果邻居节点的距离更大,则不做任何操作。
这样,所有的节点都会逐步收敛到一个稳定状态,每个节点的路由表也会被更新成最优路由。
二、距离矢量路由算法实现距离矢量路由算法的实现通常可以分为两个阶段:初始化和更新。
在初始化阶段,每个节点都会初始化自己的距离向量和路由表,并向邻居节点发送距离向量。
在更新阶段,每个节点会周期性地接收邻居节点的距离向量,比较并更新自己的路由表,然后向邻居节点发送自己的距离向量。
具体实现的过程如下:1. 初始化阶段:(1)每个节点都向其它节点广播自己的距离向量,并保存邻居节点的距离向量。
(2)每个节点都根据邻居节点的距离向量更新自己的路由表,并确定最短路径。
2. 更新阶段:(1)每个节点周期性地向邻居节点发送自己的距离向量。
(2)每个节点周期性地接收邻居节点的距离向量,并比较以更新自己的路由表。
(3)如果某个节点的距离向量发生了变化,则它会向其它节点广播自己的距离向量。
三、距离矢量路由算法优化距离矢量路由算法是一种简单有效的路由协议算法,但也存在一些问题。
DVMRP介绍

DVMRP介绍dvmrp(distance vector multicast routing protocol)协议即“距离向量组播路由协议”。
它是一种密集模式的组播路由协议,采用类似rip方式的路由交换给每个源建立了一个转发广播树,然后通过动态的剪枝/嫁接给每个源建立起一个截断广播树,也就是到源的最短路径树。
通过反向路径检查(rpf)来决定组播包是否应该被转发到下游。
dvmrp的一些重要特性是:1. 用于决定反向路径检查信息的路由交换以距离向量为基础(方式与rip 相似)2. 路由交换更新周期性的发生(缺省为60秒)3. ttl上限=32跳(而rip是16)4. 路由更新包括掩码,支持cidr相对单播路由来说,组播路由是一种颠倒的路由(也就是,你所感兴趣的是信息包从哪里来而不是到哪里去),因此在dvmrp路由表中的信息是被用于确定是否在正确的接口收到一个输入的组播信息包。
否则,为了防止组播循环将放弃该信息包。
把为了确定信息包到达正确的接口所进行的测试称为rpf检查。
当有组播数据包到达某个接口,通过查找dvmrp路由表来决定到源网络的反向路径。
如果数据包到达的接口是用于向源传送单播信息的接口,则逆向路径检查正确,数据包从所有下游接口转发出去。
如果不是,则可能是出现了故障,丢弃该组播包。
因为不是所有的交换机都支持组播,dvmrp支持隧道组播通信,隧道是在被不支持组播路由的交换机隔开的dvmrp交换机之间发送组播数据报的一种方法。
它充当两个dvmrp交换机之间的虚拟网络。
组播数据包被封装在单播数据包之内,直接发送到下一个支持组播的交换机。
dvmrp协议平等对待隧道接口与一般的物理接口。
如果在一个多入口网络上连接了两个或两个以上的交换机,就可能会把一个数据包的多份拷贝发送到该子网上。
因此必须指定一个指定的转发者,dvmrp在利用路由交换的机制来达到这一目的,当多入口网络上的两个交换机交换路由信息时,就会互相知道对方到源网络的路由度量,因此到源网路的度量最小的交换机成为该子网上的指定转发者,如果度量一致,则ip地址较低的获胜。
距离矢量路由协议路由环路问题的解决

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

距离矢量路由选择协议距离矢量路由选择协议甲方:_________________(以下简称“甲方”)乙方:_________________(以下简称“乙方”)双方均为网路服务供应商(ISP),并同意本协议的所有条款和条件。
第一条甲方义务1.1 甲方必须提供可靠稳定的路由服务,确保客户网络的连通性和安全性。
1.2 甲方必须遵守中国的相关法律法规,如《中华人民共和国电信条例》、《互联网信息服务管理办法》等。
1.3 甲方必须及时更新路由信息,保证路由信息的准确性,并尽可能避免出现路由环路。
1.4 甲方必须及时处理网络故障,并为客户提供必要的技术支持。
1.5 甲方必须遵守公平竞争原则,不得恶性竞争,损害其他ISP的利益。
第二条乙方义务2.1 乙方必须按约定的价格向甲方支付网络使用费用,并保证及时缴纳。
2.2 乙方必须遵守中国的相关法律法规,如《中华人民共和国电信条例》、《互联网信息服务管理办法》等。
2.3 乙方必须采取必要的安全措施,保护自己的网络安全,不得利用网络从事非法活动,如传播淫秽、暴力、恐怖主义等信息。
2.4 乙方必须及时支付网络使用费用,并保证基本服务质量,如网络连通性、带宽等。
2.5 乙方必须保密甲方提供的技术信息和商业机密,不得泄露给第三方。
第三条权利与义务3.1 双方应当以诚信、公平、合理的原则履行本协议的各项义务。
3.2 甲方有权要求乙方提供详细的网络拓扑结构、路由表等信息,以确保网络的安全和稳定。
3.3 乙方有权要求甲方提供路由信息,以确保网络的连通性和带宽正常。
3.4 本协议签订后,双方有权利、义务和责任的条款不得单方面变更。
3.5 双方在履行本协议过程中如发生争议,应通过友好协商解决,协商不成,可通过法院诉讼方式解决。
第四条法律效力和可执行性本协议的效力、解释、履行和争议解决均适用中国大陆法律。
第五条违约责任5.1 一方违反本协议的任何条款,应承担违约责任,并赔偿另一方因此遭受的损失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ICND v2.0—5-13
Routing Loops 路由环路
去往10.4.0.0的数据包
• Packets for network 10.4.0.0 bounce (loop) between routers B and C.
© 2002, Cisco Systems, Inc. All rights reserved. ICND v2.0—5-14
© 2002, Cisco Systems, Inc. All rights reserved. ICND v2.0—5-8
Inconsistent Routing Entries (Cont.)
• Slow convergence produces inconsistent routing.
• 慢的收敛会引起路由条目的不一致
© 2002, Cisco Systems, Inc. All rights reserved. ICND v2.0—5-5
Selecting the Best Route with Metrics度量值
© 2002, Cisco Systems, Inc. All rights reserved.
ICND v2.0—5-2
2
Objectives
Upon completing this lesson, you will be able to:
• Describe(描述) the features offered(提供的功 能) by distance vector routing protocols and give examples of each • Describe the issues associated(引发的问题) with distance vector routing and identify solutions to those issues (这些问题的解决方案)
© 2002, Cisco Systems, Inc. All rights reserved.
Distance Vector Routing
©© 2002, 2002, Cisco Cisco Systems, Systems, Inc. Inc. All All rights rights reserved. reserved.
累计
© 2002, Cisco Systems, Inc. All rights reserved. ICND v2.0—5-4
周期性地(RIP:30S)
Sources of Information and Discovering Routes 信息来源和路由获取
• Routers discover the best path to destinations from each neighbor.
Split Horizon 水平分割
• It is never useful to send information about a route back in the direction from which the original information came.
© 2002, Cisco Systems, Inc. All rights reserved. ICND v2.0—5-11
Count to Infinity 距离运算到无穷大
• Hop count for network 10.4.0.0 counts to infinity.
© 2002, Cisco Systems, Inc. All rights reserved.
ICND v2.0—5-12
Defining a Maximum 规定一个最大的数
• Define a limit on the number of hops to prevent infinite loops. 定义一个跳数的上限防止无穷大的环路
© 2002, Cisco Systems, Inc. All rights reserved.
© 2002, Cisco Systems, Inc. All rights reserved. ICND v2.0—5-10
Inconsistent Routing Entries (Cont.)
• Router A updates its table to reflect the new but erroneous(不正确的o Systems, Inc. All rights reserved. ICND v2.0—5-7
Inconsistent Routing Entries
距离矢量路由协议会出现 路由条目不一致的情况
路由条目不一致
• Each node maintains the distance from itself to each possible destination network. • 每一个节点自行维护它到每一个可能的目标网络的距离
ICND v2.0—5-6
Maintaining维护 Routing Information
路由器的更新进程更新路由表
路由表更新
拓扑变化引起路由表更新
路由器A在下一个更新周期 发出路由表更新信息
• Updates proceed step-by-step from router to router.
© 2002, Cisco Systems, Inc. All rights reserved. ICND v2.0—5-9
Inconsistent Routing Entries (Cont.)
• Router C concludes(推断) that the best path to network 10.4.0.0 is through router B.
© 2002, Cisco Systems, Inc. All rights reserved.
ICND v2.0—5-3
Distance Vector Routing Protocols
距离:多远 矢量:哪个方向
• Routers pass periodic copies of routing table to neighbor routers and accumulate distance vectors.