路由选择协议的算法

如题所述

第1个回答  2016-05-27

一个路由器设备可能有两个或多个可以发送数据分组的端口。它必须有一张转发表(forwarding table)为每一个端口标明一个特定地址。早期路由器不和其它路由器交换网络上有关路由器的信息,因此,一个路由器通常沿着每条路径发送数据分组,分组充满网络,并且发送的一些分组在网络上无休止地循环。
为了避免这些问题,路由器可以依赖人工编程把选择的路径输进设备。这被称为静态路由选择。动态路由选择是一个更好的方式,它依靠路由器收集网络信息和建立自己的路由表。路由器相互交换路由表,并且归并这些路由信息建立更新的路由表。从其它路由器上获得的信息,提供到网络上目的站点的路由中继(hop)数或与路径相关的费用。同时,每个路由选择设备上的路由表,应该包含大体上一致的路由选择信息。
在使用远程通信链路的广域网中,规整化路由选择是基本的,但是必须在远程通讯链路迅速改变(例如,线路断)时,很快地调整到新的路径拓扑。一个典型的Internet可能由2个、10个甚至50个路由器组成,这些路由器可以通过拨号异步链路或专用高速数字线路(如T1)互相连接。对于一个在网络上传送的数据分组,它们到达路由器时由路由器查看目的地址,并沿着最佳或非常合适的路由将分组发送到接收站。这样一条路由取决于所用的路由选择算法类型。
路由选择协议基本上有两类:距离向量和链路状态,将在下面用两段文字介绍这两类协议。 距离向量路由选择协议的分组传送路由是根据到接收站的hop数或费用决定的,这些信息由各相邻的路由器提供。技术上通常都遵循Bellman-Ford算法。
一个路由器(如图R-10)有几个端口,每个端口都有指定的价值,这些价值是由网络管理员设定的。用使用一条线路实际费用的多少,作为一种衡量手段表明一条线路比另一条好或坏。此外,相邻的那些路由器告诉它们把分组送往目的站要花费的代价。路由器将端口的价值加到相邻路由器的价值上,如下面的例子:
端口1价值10 + 相邻路由器价值17=27。
端口2价值20 + 相邻路由器价值5=25。
端口3价值30 + 相邻路由器价值7=37。
在这种情况下,路由器将通过端口2传送分组,因为它表明到接收站的代价最少。假如有必要,用邻接端口2的路由器再计算到下一个路由器的路径价值。
路由信息,如下一个hop的地址等都存在表中,并且路由器大约每隔30秒互相交换表。初始时,每一个网络只知道直接相连的路由器。当一个路由器得到一张表,它将表项与自己的表进行比较。根据这些信息,它用新增路由或删除路由来修改表。表中信息包含:
网络号;
端口号;
价值度量;
下一个hop的地址。 价值度量是路由器向前传送分组到网中下一个路由器时选择路径所用的量值。通用距离向量路由选择协议有:
路由选择信息协议(RIP)是一个首先在Xerox网络系统(XNS)中实现,而后又在Novell的NetWare中实现的距离向量路由选择协议。
内部网关路由选择协议(IGRP)是由Cisco开发的距离向量路由选择协议。
路由选择表维护协议(RTMP)是一个在两个AppleTalk区中选取最佳路径的Apple协议,大约每10秒广播一次。
距离向量路由选择不适合于有几百个路由器的大型网或经常要更新的网。在大型网中,表的更新过程可能过长,以至于最远的路由器的选择表不大可能与其它表同步更新。在这种情况下,链路状态路由选择更可取些。另外,链路状态协议能够为安全起见把机密信息隔离在特殊区域,或避开网上正在进行计算机辅助设计(CAD)、多媒体通讯等拥挤区域。并且,路由选择信息表在必要时进行交换而不是规律性地交换,这样可以减少网络上的信息流量。 链路状态路由选择比距离向量路由选择需要更强的处理能力,但它可以对路由选择过程提供更多的控制和对变化响应更快。路由选择可以基于避开拥塞区、线路的速度、线路的费用或各种优先级别。Dijkstra算法用于计算路由,根据如下:
分组到达目的站经过的路由器数量,这叫做路由中继(hop),并且hop数越少越好。
局域网间传输线路的速度。有些路由使用低速异步连接,而另一些路由使用高速数字链路。
信息拥塞将造成延迟。如果一台工作站传送一个大文件,路由器可以通过不同的路径发送分组以避免交通阻塞。 路由的费用,网络管理员定义的一个度量,通常是根据传输介质确定的。最便宜的路径可能不是最快的,但对某些类型的传输却更为可取。
最常用的链路状态路由选择协议是优先开放最短路径(OSPF),它和OSI的中间系统到中间系统(IS-IS)是类似的。OSPF的原型是Proten开发的,是从OSIIS-IS的一个早期版本中派生出来的。OSPF在Internet和TCP/IP网上IP通信的路由选择中使用。IS-IS既可在IP通信中使用,也可在OSI通信中使用。 Internet路由选择(TCP/IP)和OSI路由选择使用了一个自治系统(AS)或管理区域(AD)的概念,可以简单地理解成区域(domains)。一个区域是一些使用相同路由选择协议的主机和路由器的集合,如图R-11中所示,它们使用相同的路由选择协议和由单一机构管理。换句话说,一个区域可以是一所大学或其它机构管理的一个互联网。例如Internet是一个由教育部门、政府机关和各个公司管理的自治系统链接起来的互联网络。
每个机构都有自己的内部网络,通过外部网关与Internet网连接(注:Internet网以前把路由器称作网关,外部网关协议。OSI协议也使用了自治系统的概念,但在一个区域内的路由选择称为域内路由选择,区域之间的路由选择称为域间路由选择。

相似回答
大家正在搜