什么是距离向量路由选择

传输网/接入网/交换网

6人已加入

描述

什么是距离向量路由选择

距离向量路由选择是一种由路由协议使用的算法类型,用于在互联网络上发现路由。主要的距离向量路由选择算法是Bellman-Ford算法。另一类路由算法是链路状态法。

为了发现最短路径,这个路由选择算法组重复一条给定路由中的中继段数,要求每个路由器发送其完整的更新路由表,但只到其邻居。距离向量路由选择算法有产生环路的趋势,但比链路状态算法简单。使用距离向量路由选择的路由协议包括RIP(路由信息协议)、Cisco的IGRP(因特网网关路由协议)和Apple的RTMP(路由表维护协议)。

链路状态路由选择比距离向量路由选择需要更强的处理能力,但它可以对路由选择过程提供更多的控制和对变化响应更快。路由选择可以基于避开拥塞区、线路的速度、线路的费用或各种优先级别。最常用的链路状态路由选择协议是优先开放最短路径(OSPF),它和OSI的中间系统到中间系统(IS-IS)是类似的。

动态路由选择(与静态的手动输入的路由相反)需要路由算法。动态路由协议帮助自动创建路由表。网络拓扑随时可能更改。链路可能会意外失效,或者可能会添加新链路。动态路由协议必须发现这些更改,自动调整其路由表,并将更改通知其他路由器。基于新信息重建路由表的过程叫做会聚。

距离向量路由选择指的是一种交换路由信息的方法。路由器将路由作为一个包括方向和距离的向量加以发布。方向是指沿指向目标的路径通向下一个路由器的端口,而距离则是一个度量,表示到达目标的跳跃次数,尽管它可能也是一个任意值,它使一个路由优先于其他路由。互联网络路由器交换此矢量信息并用它来建立路由查找表。

距离向量路由选择协议的分组传送路由是根据到接收站的hop数或费用决定的,这些信息由各相邻的路由器提供。技术上通常都遵循Bellman-Ford算法。

一个路由器有几个端口,每个端口都有指定的价值,这些价值是由网络管理员设定的。用使用一条线路实际费用的多少,作为一种衡量手段表明一条线路比另一条好或坏。此外,相邻的那些路由器告诉它们把分组送往目的站要花费的代价。路由器将端口的价值加到相邻路由器的价值上,如下面的例子:

端口1价值10 + 相邻路由器价值17=27。

端口2价值20 + 相邻路由器价值5=25。

端口3价值30 + 相邻路由器价值7=37。

路由器A从其最近的邻居(路由器B)接收一个矢量,指示路由器C是它的邻居。因此,对于路由器A来说,路由器C是在路由器B的方向上的下一跳。路由器使用此信息来沿最佳路径向目的地转发数据分组。

以此类似,假设您在一个城市观光,想参观市博物馆。这个城市在每个十字路口都标出了方向,十分方便。就在您所住旅馆外的十字路口写着“博物馆,向北走5个街区”。因此您向下一个十字路口前进。那里有一个路标写着“博物馆,向东走4个街区”和“博物馆,向北走7个街区”。两个矢量。您可以任选其一,但是其中一个比另一个要远,为它绕行了一个街区。如果短的那条路被堵塞,大概需要走较长的那条路。您采取较短的路径,照标记的方向向博物馆前进。

现在我们想一下这些方向是如何获得的,假设您是一个盲路由器,不知道拓扑的概念。我们也会需要一些“代理”来写下并传送路由信息。在博物馆,代理在所有相距一个街区的十字路口都标出方向,比如“博物馆,向东走1个街区″。然后每个十字路口处的代理按照提示前进到离博物馆更远的十字路口处并写下“博物馆,向东走2个街区”的提示。

由此,可以看出路由信息是怎样由从博物馆向外逐步生成的。网络中的操作如图D-25所示,并在下面进行描述。为清晰起见,请注意只使用IP地址的最后两个字节。

•时间间隔1 每个路由器建立自己的表来描述其本地接口。跳跃计数为0,因为它们是本地连接的。

•时间间隔2 路由器将它们的表发送给邻居(A发送到B,B发送到A和C,C发送到B)。每个路由器根据其从邻居接收的新项来计算一个新的路由表,调整跳跃计数来反映与当前位置之间的距离。

•时间间隔3 路由器再次交换路由表。路由器B有关于网络1.O和网络4.0的信息,并将它继续传递到其他路由器。此时,三个路由器的网络会聚。

当到一个目的地存在多条路径时,会发生一种更为有趣的会聚。例如,您可以将一个路由器附加到网络4再附加到网络1。会聚后,路由表将反映出到两个方向上到任一路由器的跳跃计数。很显然,一个方向的跳跃计数将高于另一个方向;但如果其中一个链路失效,则相反方向将变得有用。

路由器将定期交换路由表,并根据较小跳跃计数原则用任何新路由或它认为较好的路由来更新它们自己的表。

距离向量路由选择易于管理,适合小型公司互联网络使用。但是,它也有一些弊端:整个路由表定期传输,即使不发生更新,也降低网络带宽。另外,完成路由表会聚将花费一段时间:而且当它进行时,还可能发生不属于会聚的其他问题。

正常情况下,如果网络关闭,其路由器将通知其他路由器有链路失效。但如果一个路由器关闭,其他路由器则不会收到这样的消息。解决方案是路由器对从其他路由器接收的信息设置时间限制。如果发送该信息的路由器不在下一个间隔更新它,则该信息将在超时期限后丢弃(通常有数个更新间隔)。这保证了信息是最新的。

如图D-25所示,假定网络4关闭。路由器C准备在下一个更新间隔向路由器B发送更新。同时,路由器B将自己的更新发送给具有网络4项的路由器C。这是一条过时信息,但路由器C并不知道。它想:“哦,我可以通过路由器B到达网络4”并更新其路由表。当有数据分组到达路由器B时,它将数据分组转发到路由器C。但路由器C认为路由器B是到网络4的路径,并将数据分组发送回路由器C。路由器B将其返回路由器C,该循环会无限地继续(称为“无穷计数”),但现在已实施最大跳跃计数,即数据分组在转发了设置的最大次数(通常是15次)后将被丢弃。

若要一开始就防止出现此问题,一种称为分割范围的技术防止路由器将路由项发送到从中获得信息的路由器。此技术的另一种形式(称为反向抑制)实际上将路由项返回到其来源,但将它们标记为无法到达。

图D-25 距离向量路由选择表结构

距离向量路由选择不适合于有几百个路由器的大型网或经常要更新的网。在大型网中,表的更新过程可能过长,以至于最远的路由器的选择表不大可能与其它表同步更新。在这种情况下,链路状态路由选择更可取些。另外,链路状态协议能够为安全起见把机密信息隔离在特殊区域,或避开网上正在进行计算机辅助设计(CAD)、多媒体通讯等拥挤区域。并且,路由选择信息表在必要时进行交换而不是规律性地交换,这样可以减少网络上的信息流量。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分