网络中如何选择最佳路由路径
2023-01-29 15:03:53 来源: 阅读:次
路由算法可以根据多个特性来加以区分。首先,算法规划者的特定方针影响了该路由协议的操作;其次,存在着多种路由算法,每种算法对网络和路由器资源的影响都不同;路由算法运用多种metric,影响到路由途径的计算。下面分析了这些路由算法的特性。
路由算法通常具有下列规划方针的一个或多个:
◆优化◆简单、低耗◆健壮、稳定◆快速聚合◆灵活性
优化指路由算法挑选***路由途径的才能,根据metric的值和权值来计算。例如有一种路由算法或许运用跳数和推迟,但或许推迟的权值要大些。当然,路由协议有必要严格界说计算metric的算法。路由算法也可以规划得尽量简单。换句话说,路由协议有必要高效地提供其功能,尽量削减软件和使用的开销。当实现路由算法的软件有必要运行在物理资源有限的计算机上时高效尤其重要。路由算法有必要健壮,即在出现不正常或不行预见事件的情况下有必要仍能正常处理,例如硬件故障、高负载和不正确的实现。因为路由器位于网络的连接点,当它们失效时会产生重大的问题。***的路由算法通常是那些经过了时刻考验,证实在各种网络条件下都很稳定的算法。此外,路由算法有必要能快速聚合,聚合是所有路由器对***路由途径达成一致的进程。当某网络事件使途径断掉或不行用时,路由器经过网络分发路由更新信息,促进***路由途径的重新计算,最终使所有路由器达成一致。聚合很慢的路由算法或许会产生路由环或网路中断。在路由环中,某分组在时刻t1到达路由器1,路由器1已经更新并知道到达意图的***路由途径是以路由器2为下一跳,于是就把该分组转发给路由器2。但是路由器2还没有更新,它认为***的下一跳是路由器1,于是把该分组发回给路由器1,结果分组在两个路由器间来回传递直到路由器2收到路由更新信息或分组超过了生存期。路由算法还应该是灵活的,即它们应该迅速、准确地习惯各种网络环境。例如,假定某网段断掉了,当知道问题后,很多路由算法对通常运用该网段的途径将迅速挑选次佳的途径。路由算法可以规划得可习惯网络带宽、路由器队列大小和网络推迟。
2、算法类型
各路由算法的区别点包含:
◆静态与动态◆单途径与多途径◆平整与分层◆主机智能与路由器智能◆域内与域间◆链接状况与距离向量
(1)静态与动态
静态路由算法很难算得上是算法,只不过是开始路由前由网管建立的表映射。这些映射自身并不改变,除非网管去改动。运用静态路由的算法较简单规划,在网络通信可预测及简单的网络中工作得很好。因为静态路由体系不能对网络改变做出反映,通常被认为不适用于现在的大型、易变的网络。九十年代首要的路由算法都是动态路由算法,经过分析收到的路由更新信息来习惯网络环境的改变。假如信息表示网络发生了变化,路由软件就重新计算路由并发出新的路由更新信息。这些信息渗入网络,促进路由器重新计算并对路由表做相应的改变。动态路由算法可以在适当的地方以静态路由作为补充。例如,***可选路由(router of last resort),作为所有不行路由分组的去路,保证了所有的数据至少有方法处理。
(2)单途径与多途径
一些杂乱的路由协议支持到同一意图的多条途径。与单途径算法不同,这些多途径算法允许数据在多条线路上复用。多途径算法的优点很明显:它们可以提供更好的吞吐量和可靠性。
(3)平整与分层
一些路由协议在平整的空间里运作,其它的则有路由的层次。在平整的路由体系中,每个路由器与其它所有路由器是对等的;在分层次的路由体系中,一些路由器构成了路由主干,数据从非主干路由器流向主干路由器,然后在主干上传输直到它们到达方针所在区域,在这里,它们从的主干路由器经过一个或多个非主干路由器到达终点。路由体系通常规划有逻辑节点组,称为域、自治体系或区间。在分层的体系中,一些路由器可以与其它域中的路由器通信,其它的则只能与域内的路由器通信。在很大的网络中,或许还存在其它等级,骨干级的路由器构成了路由主干。分层路由的首要优点是它模拟了多数公司的结构,从而能很好地支持其通信。多数的网络通信发生在小组中(域)。因为域内路由器只需求知道本域内的其它路由器,它们的路由算法可以简化,根据所运用的路由算法,路由更新的通信量可以相应地削减。
(4)主机智能与路由器智能
一些路由算法假定源结点来决议整个途径,这通常称为源路由。在源路由体系中,路由器只作为存贮转发设备,无意识地把分组发向下一跳。其它路由算法假定主机对途径一无所知,在这些算法中,路由器基于自己的计算决议经过网络的途径。前一种体系中,主机具有决议路由的智能,后者则为路由器具有此才能。主机智能和路由器智能的折衷实际是***路由与额外开销的平衡。主机智能体系通常能挑选更佳的途径,因为它们在发送数据前探索了所有或许的途径,然后基于特定体系对“优化”的界说来挑选***路由途径。然而确认所有途径的行为通常需求很多的探索通信量和很长的时刻。
(5)域内与域间
一些路由算法只在域内工作,其它的则既在域内也在域间工作。这两种算法的本质是不同的。其遵从的理由是优化的域内路由算法没有必要也成为优化的域间路由算法。
(6)链接状况与距离向量
链接状况算法(也叫做短途径优先算法)把路由信息散布到网络的每个节点,不过每个路由器只发送路由表中描述其自己链接状况的部分。距离向量算法(也叫做Bellman-Ford算法)中每个路由器发送路由表的全部或部分,但只发给其邻居。也就是说,链接状况算法到处发送较少的更新信息,而距离向量算法只向相邻的路由器发送较多的更新信息。因为链接状况算法聚合得较快,它们相对于距离算法产生路由环的倾向较小。在另一方面,链接状况算法需求更多的CPU和内存资源,因而链接状况算法的实现和支持较昂贵。虽然有差异,这两种算法类型在多数环境中都可以工作得很好。
3、路由的metric
路由表中含有由交换软件用以挑选***路由途径的信息。但是路由表是怎样建立的呢?它们包含信息的本质是什么?路由算法怎样根据这些信息决议哪条途径更好呢?路由算法运用了许多不同的metric以确认***路由途径。杂乱的路由算法可以基于多个metric挑选路由,并把它们结组成一个复合的metric。常用的metric如下:
◆途径长度◆可靠性◆推迟◆带宽◆负载◆通信价值
途径长度是最常用的路由metric。一些路由协议允许网管给每个网络链接人工赋以价值值,这种情况下,路由长度是所经过各个链接的价值总和。其它路由协议界说了跳数,即分组在从源到意图的路途中有必要经过的网络产品,如路由器的个数。可靠性,在路由算法中指网络链接的可依赖性(通常以位误率描述),有些网络链接或许比其它的失效更多,网路失效后,一些网络链接或许比其它的更易或更快修复。任何可靠性因素都可以在给可靠率赋值时计算在内,通常是由网管给网络链接赋以metric值。路由推迟指分组从源经过网络到达意图所花时刻。很多因素影响到推迟,包含中间的网络链接的带宽、经过的每个路由器的端口队列、所有中间网络链接的拥塞程度以及物理距离。因为推迟是多个重要变量的混合体,它是个比较常用且有效的metric。带宽指链接可用的流转容量。在其它所有条件都相等时,10Mbps的以太网链接比64kbps的专线更可取。虽然带宽是链接可获得的***吞吐量,但是经过具有较大带宽的链接做路由不一定比经过较慢链接路由更好。例如,假如一条快速链路很忙,分组到达意图所花时刻或许要更长。
负载指网络资源,如路由器的繁忙程度。负载可以用很多方面计算,包含CPU运用情况和每秒处理分组数。继续地监视这些参数自身也是很消耗资源的。通信价值是另一种重要的metric,尤其是有一些公司或许关系运作费用甚于性能。即使线路推迟或许较长,他们也宁愿经过自己的线路发送数据而不采用昂贵的公用线路。