导航:首页 > 源码编译 > 树型路由算法不足与优化

树型路由算法不足与优化

发布时间:2024-01-16 14:59:10

❶ 路由算法的类型有

路由算法有很多种,如果从路由表对网络拓扑和通信量变化的自适应能力的角度划分,可以分为静态路由算法和动态路由算法两大类,这两大类又可细分为几种小类型,比较典型常见的有以下几种:

一、静态路由算法

1.Dijkstra算法(最短路径算法)

Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN,CLOSE表的方式,这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权回路。

Dijkstra算法执行步骤如下:

步骤一:路由器建立一张网络图,并且确定源节点和目的节点,在这个例子里我们设为V1和V2。然后路由器建立一个矩阵,称为“邻接矩阵”。在这个矩阵中,各矩阵元素表示权值。例如,[i,j]是节点Vi与Vj之间的链路权值。如果节点Vi与Vj之间没有链路直接相连,它们的权值设为“无穷大”。

步骤二:路由器为网路中的每一个节点建立一组状态记录。此记录包括三个字段:

前序字段———表示当前节点之前的节点。

长度字段———表示从源节点到当前节点的权值之和。

标号字段———表示节点的状态。每个节点都处于一个状态模式:“永久”或“暂时”。

步骤三:路由器初始化(所有节点的)状态记录集参数,将它们的长度设为“无穷大”,标号设为“暂时”。

步骤四:路由器设置一个T节点。例如,如果设V1是源T节点,路由器将V1的标号更改为“永久”。当一个标号更改为“永久”后,它将不再改变。一个T节点仅仅是一个代理而已。

步骤五:路由器更新与源T节点直接相连的所有暂时性节点的状态记录集。

步骤六:路由器在所有的暂时性节点中选择距离V1的权值最低的节点。这个节点将是新的T节点。

步骤七:如果这个节点不是V2(目的节点),路由器则返回到步骤5。

步骤八:如果节点是V2,路由器则向前回溯,将它的前序节点从状态记录集中提取出来,如此循环,直到提取到V1为止。这个节点列表便是从V1到V2的最佳路由。

2.扩散法
事先不需要任何网络信息;路由器把收到的每一个分组,向除了该分组到来的线路外的所有输出线路发送。将来会有多个分组的副本到达目的地端,最先到达的,可能是走了“最优”的路径常见的扩散法是选择性扩散算法。

3.LS算法

采用LS算法时,每个路由器必须遵循以下步骤:

步骤一:确认在物理上与之相连的路由器并获得它们的IP地址。当一个路由器开始工作后,它首先向整个网络发送一个“HELLO”分组数据包。每个接收到数据包的路由器都将返回一条消息,其中包含它自身的IP地址。

步骤二:测量相邻路由器的延时(或者其他重要的网络参数,比如平均流量)。为做到这一点,路由器向整个网络发送响应分组数据包。每个接收到数据包的路由器返回一个应答分组数据包。将路程往返时间除以2,路由器便可以计算出延时。(路程往返时间是网络当前延迟的量度,通过一个分组数据包从远程主机返回的时间来测量。)该时间包括了传输和处理两部分的时间——也就是将分组数据包发送到目的地的时间以及接收方处理分组数据包和应答的时间。

步骤三:向网络中的其他路由器广播自己的信息,同时也接收其他路由器的信息。

在这一步中,所有的路由器共享它们的知识并且将自身的信息广播给其他每一个路由器。这样,每一个路由器都能够知道网络的结构以及状态。

步骤四:使用一个合适的算法,确定网络中两个节点之间的最佳路由。

路由算法有哪些类型?路由算法与路由协议的区别

在这一步中,路由器选择通往每一个节点的最佳路由。它们使用一个算法来实现这一点,如Dijkstra最短路径算法。在这个算法中,一个路由器通过收集到的其他路由器的信息,建立一个网络图。这个图描述网络中的路由器的位置以及它们之间的链接关系。每个链接都有一个数字标注,称为权值或成本。这个数字是延时和平均流量的函数,有时它仅仅表示节点间的跃点数。例如,如果一个节点与目的地之间有两条链路,路由器将选择权值最低的链路。

二、动态路由算法

1.距离向量路由算法

距离向量路由算法,也叫做最大流量算法,其被距离向量协议作为一个算法,如RIP、BGP、ISO IDRP、NOVELL IPX。使用这个算法的路由器必须掌握这个距离表(它是一个一维排列-“一个向量”),它告诉在网络中每个节点的最远和最近距离。在距离表中的这个信息是根据临近接点信息的改变而时时更新的。表中数据的量和在网络中的所有的接点(除了它自己本身)是等同的。这个表中的列代表直接和它相连的邻居,行代表在网络中的所有目的地。每个数据包括传送数据包到每个在网上的目的地的路径和距离/或时间在那个路径上来传输(我们叫这个为“成本”)。这个在那个算法中的度量公式是跳跃的次数,等待时间,流出数据包的数量,等等。在距离向量路由算法中,相邻路由器之间周期性地相互交换各自的路由表备份。当网络拓扑结构发生变化时,路由器之间也将及时地相互通知有关变更信息。其优点是算法简单容易实现。缺点是慢收敛问题,路由器的路径变化需要像波浪一样从相邻路由器传播出去,过程缓慢。

每一个相邻路由器发送过来的路由表都要经过以下步骤:

步骤一:对地址为X的路由器发过来的路由表,先修改此路由表中的所有项目:把”下一跳”字段中的地址改为X,并把所有”距离”字段都加1。

步骤二:对修改后的路由表中的每一个项目,进行以下步骤:

(1)将X的路由表(修改过的),与S的路由表的目的网络进行对比。若在X中出现,在S中没出现,则将X路由表中的这一条项目添加到S的路由表中。

(2)对于目的网络在S和X路由表中都有的项目进行下面步骤:

1)在S的路由表中,若下一跳地址是x,则直接用X路由表中这条项目替换S路由表中的项目。

2)在S的路由表中,若下一跳地址不是x,若X路由表项目中的距离d小于S路由表中的距离,则进行更新。

步骤三:若3分钟还没有收到相邻路由器的更新表,则把此相邻路由器记为不可到达路由器,即把距离设置为16。

2.链路状态最短路由优先算法SPF

1)发现邻居结点,并学习它们的网络地址;

2)测量到各邻居节点的延迟或者开销;

3)创建链路状态分组;

4)使用扩散法发布链路状态分组;

5)计算到每个其它路由器的最短路径。

❷ 路由技术的算法分类

路由选择算法就是路由选择的方法或策略。
按照路由选择算法能否随网络的拓扑结构或者通信量自适应地进行调整变化进行分类,路由选择算法可以分为静态路由选择算法和动态路由选择算法。 静态路由选择算法就是非自适应路由选择算法,这是一种不测量、不利用网络状态信息,仅仅按照某种固定规律进行决策得简单得路由选择算法。静态路由选择算法得特点是简单和开销小,但是不能适应网络状态的变化。静态路由选择算法主要包括扩散法和固定路由表法。静态路由是依靠手工输入的信息来配置路由表的方法。
静态路由具有以下几个优点:减小了路由器的日常开销。在小型互联网上很容易配置。可以控制路由选择的更新。但是,静态路由在网络变化频繁出现的环境中并不会很好的工作。在大型的和经常变动的互联网,配置静态路由是不现实。 动态路由选择算法就是自适应路由选择算法,是依靠当前网络的状态信息进行决策,从而使路由选择结果在一定程度上适应网络拓扑结构和通信量的变化。
动态路由选择算法的特点是能较好的适应网络状态的变化,但是实现起来较为复杂,开销也比较大。动态路由选择算法一般采用路由表法,主要包括分布式路由选择算法和集中式路由选择算法。分布式路由选择算法是每一个节点通过定期得与相邻节点交换路由选择得状态信息来修改各自的路由表,这样使整个网络的路由选择经常处于一种动态变化的状况。集中式路由选择算法是网络中设置一个节点,专门收集各个节点定期发送得状态信息,然后由该节点根据网络状态信息,动态的计算出每一个节点的路由表,再将新的路由表发送给各个节点。

❸ 路由器的选择路由算法

拜托下次不要发错地方了...

路由算法

——路由算法在路由协议中起着至关重要的作用,采用何种算法往往决定了最终的寻径结果,因此选择路由算法一定要仔细。通常需要综合考虑以下几个设计目标:

——(1)最优化:指路由算法选择最佳路径的能力。
——(2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能。
——(3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操作失误时,都能正确运行。由于路由器分布在网络联接点上,所以在它们出故障时会产生严重后果。最好的路由器算法通常能经受时间的考验,并在各种网络环境下被证实是可靠的。
——(4)快速收敛:收敛是在最佳路径的判断上所有路由器达到一致的过程。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径循环或网络中断。 ——(5)灵活性:路由算法可以快速、准确地适应各种网络环境。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径。

——路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。前面几种的特点与字面意思基本一致,下面着重介绍链路状态和距离向量算法。

——链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。距离向量算法(也称为Bellman-Ford算法)则要求每个路由器发送其路由表全部或部分信息,但仅发送到邻近结点上。从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。 ——由于链路状态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些。除了这些区别,两种算法在大多数环境下都能很好地运行。

——最后需要指出的是,路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、再填入路由表中,作为寻径的标准。通常所使用的度量有:路径长度、可靠性、时延、带宽、负载、通信成本等。

❹ 有谁能讲下路由有几种算法各有什么优缺点

所有路由算法几乎都可以分类到下面两种算法中。
距离向量算法:
距离向量算法使用Bellman-Ford算法。对于每一条网络上节点间的路径,算法指定一个“成本”给它们。节点会选择一条总成本(经过路径的所有成本总和)最低的路径,用来把资料从节点甲送到节点乙。

此算法非常的简单。当某节点初次启动时,将只知道它的邻居节点(直接连接到该节点的节点)与到该节点的成本。(这些资讯、目的地列表、每个目的地的总成本,以及到某个目的地所必须经过的“下一个节点”,构成路由表,或称距离表。)每个节点定时地将目前所知,到各个目的地的成本的资讯,送给每个邻居节点。邻居节点则检查这些资讯,并跟目前所知的资讯做比较;如果到某个目的地的成本比目前所知的低,则将收到的资讯加入自己的路由表。经过一段时间后,网络上得所有节点将会了解到所有目的地的最佳“下一个节点”与最低的总成本。

当某个节点断线时,每个将它当作某条路径的“下一个节点”的节点会将该路由资讯舍弃,再建立新的路由表资讯。接着,他们将这些资讯告诉所有相邻的节点,再找出到所有可抵达的目的地之新路径。

连线状态算法:
在连线状态算法中,每个节点拥有网络的图谱(一个图)。每个节点将自己可以连接到的其他节点资讯传送到网络上所有的节点,而其他节点接着各自将这个资讯加入到图谱中。每个路由器即可根据这个图谱来决定从自己到其它节点的最佳路径。

完成这个动作的算法——Dijkstra算法——建立另一种资料结构——树。节点产生的树将自己视为根节点,且最后这棵树将会包含了网络中所有其他的节点。一开始,此树只有根节点(节点自己)。接着在树中已有的节点的邻居节点且不存在树中的节点集合中,选取一个成本最低的节点加入此树,直到所有节点都存入树中为止。

这棵树即用来建立路由表、提供最佳的“下一个节点”等,让节点能跟网络中其它节点通讯。

路由算法的比较:
在小型网络中,距离向量路由协定十分简单且有效率,且只需要些微的管理。然而,它们的规模性不好,且 收敛性质也十分差,因此促进了较复杂但规模性较好的连线状态路由协定的开发,以使用在较大型的网络。距离向量路由协定也有无限计数问题(count-to-infinity problem)。

连线状态路由协定的主要优点是在限制的时间内,对于连线改变(例如断线)的反应较快。而且连线状态路由协定在网络上所传送的封包也比距离向量路由协定的封包小。距离向量路由协定必须传送一个节点的整个路由表,但连线状态路由协定的封包只需要传输该节点的邻居节点资讯即可。因此,这些封包小到不会占用可观的网络资源。连线状态路由协定的主要缺点则是比距离向量路由协定需要较多的储存空间与较强的计算能力。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。上面是摘自维基网络的。。网络知道的有个静态路由算法的介绍:链接:http://..com/question/14107327.html?si=2。。。希望对你有用

阅读全文

与树型路由算法不足与优化相关的资料

热点内容
汉语词典pdf下载 浏览:351
android公网ip 浏览:611
要塞1地图放哪个文件夹 浏览:848
凡科建站怎么弄服务器 浏览:939
苹果手机怎么设置app播放 浏览:202
下载网站源码用什么浏览器 浏览:241
六线谱pdf 浏览:156
linuxmysqlsock 浏览:239
人教版数学pdf下载 浏览:460
文档安全加密系统 浏览:491
数控铣床编程简单数字 浏览:788
编程电缆如何重启 浏览:121
myqq命令行发消息 浏览:365
日产逍客怎么使用app升窗 浏览:503
安卓系统怎么快速删除微信内容 浏览:653
csharppython 浏览:409
程序员脖子按摩仪 浏览:563
小米桌面文件夹乱码怎么回事 浏览:858
点歌台app怎么连接 浏览:318
大学电脑编程学什么好 浏览:348