首页 理论教育 网络安全系统建设-路由算法快速聚合和健壮性

网络安全系统建设-路由算法快速聚合和健壮性

时间:2023-11-07 理论教育 版权反馈
【摘要】:路由算法可以根据多个特性来加以区分。路由算法必须健壮,即在出现不正常或不可预见事件的情况下必须仍能正常处理,如硬件故障、高负载和不正确的实现。此外,路由算法必须能快速聚合,聚合是所有路由器对最佳路径达成一致的过程。路由算法使用了许多不同的跃点数以确定最佳路径。

网络安全系统建设-路由算法快速聚合和健壮性

路由算法可以根据多个特性来加以区分。首先,算法设计者的特定目标影响了该路由协议的操作;其次,存在着多种路由算法,每种算法对网络和路由器资源的影响都不同;最后,路由算法使用多种跃点数,影响到最佳路径的计算。下面介绍这些路由算法的特性。

1.设计目标

路由算法通常具有下列设计目标中的一个或多个:优化、简单、低耗、健壮、稳定、快速聚合、灵活性。

优化是指路由算法选择最佳路径的能力,根据跃点数的值和权值来计算,路由算法可以设计得尽量简单。换句话说,路由协议必须高效地提供其功能,尽量减少软件和应用的开销。路由算法必须健壮,即在出现不正常或不可预见事件的情况下必须仍能正常处理,如硬件故障、高负载和不正确的实现。因为路由器位于网络的连接点,当它们失效时会产生重大的问题。最好的路由算法通常是那些经过了时间考验,证实在各种网络条件下都很稳定的算法。

此外,路由算法必须能快速聚合,聚合是所有路由器对最佳路径达成一致的过程。当某网络事件使路径断掉或不可用时,路由器通过网络分发路由更新信息,促使最佳路径的重新计算,最终使所有路由器达成一致。聚合很慢的路由算法可能会产生路由环或网路中断。

路由算法还应该是灵活的,即它们应该迅速、准确地适应各种网络环境。例如,假定某网段断掉了,路由器就会根据路由算法选择出这个网络中同时还在使用的其他最佳路径来转发数据,以保障数据正常传输。路由算法可以设计得能适应网络带宽、路由器队列大小和网络延迟。

2.算法类型

各路由算法的区别包括:静态与动态、单路径与多路径、平坦与分层、主机智能与路由器智能、域内与域间、链接状态与距离向量。

(1)静态与动态

静态路由算法很难算得上是算法,只不过是开始路由前由网络管理员建立的表映射。这些映射自身并不改变,除非网络管理员去改动。使用静态路由的算法较容易设计,在网络通信可预测及简单的网络中工作得很好。由于静态路由系统不能对网络改变作出反应,通常被认为不适用于现在的大型、易变的网络。20世纪90年代主要的路由算法都是动态路由算法,通过分析收到的路由更新信息来适应网络环境的改变。如果信息表示网络发生了变化,路由软件就重新计算路由并发出新的路由更新信息。这些信息渗入网络,促使路由器重新计算并对路由表进行更新。动态路由算法可以在适当的地方以静态路由作为补充,作为所有不可路由分组的去路,保证了所有的数据都有方法处理。

(2)单路径与多路径

一些复杂的路由协议支持到同一目的的多条路径。与单路径算法不同,这些多路径算法允许数据在多条线路上复用。多路径算法的优点很明显:它们可以提供更好的吞吐量可靠性

(3)平坦与分层

一些路由协议在平坦的空间里运作,其他的则有路由的层次。在平坦的路由系统中,每个路由器与其他所有路由器是对等的;在分层次的路由系统中,一些路由器构成了路由主干,数据从非主干路由器流向主干路由器,然后在主干上传输直到它们到达目标所在区域。在这里,它们从最后的主干路由器通过一个或多个非主干路由器到达终点。路由系统通常设计有逻辑节点组,称为域、自治系统或区间。在分层的系统中,一些路由器可以与其他域中的路由器通信,其他的则只能与域内的路由器通信。

分层路由的主要优点是它模拟了多数公司的结构,从而能很好地支持其通信。多数的网络通信发生在小组(域)中,因为域内路由器只需要知道本域内的其他路由器。它们的路由算法可以简化,根据所使用的路由算法,路由更新的通信量也可以相应地减少。

(4)主机智能与路由器智能(www.xing528.com)

一些路由算法假定源结点来决定整个路径,这通常称为源路由。在源路由系统中,路由器只作为存储转发设备,无意识地把分组发向下一跳。其他路由算法假定主机对路径一无所知,在这些算法中,路由器基于自己的计算决定通过网络的路径。

主机智能和路由器智能的折中实际是最佳路由与额外开销的平衡。主机智能系统通常能选择更佳的路径,因为它们在发送数据前探索了所有可能的路径,然后基于特定系统对“优化”的定义来选择最佳路径。然而确定所有路径的行为通常需要很多的探索通信量和很长的时间。

(5)域内与域间

一些路由算法只在域内工作,其他的则既在域内也在域间工作。这两种算法的本质是不同的,其遵循的理由是优化的域内路由算法没有必要也成为优化的域间路由算法。

(6)链接状态与距离向量

链接状态算法(也称短路径优先算法)把路由信息散布到网络的每个结点,不过其中每个路由器只发送路由表中描述其自身链接状态的部分。距离向量算法(也称Bellman- Ford算法)中每个路由器发送路由表的全部或部分,但只发给其邻居。也就是说,链接状态算法到处发送较少的更新信息,而距离向量算法只向其相邻的路由器发送较多的更新信息。由于链接状态算法聚合得较快,它相对于距离算法产生路由环的倾向较小。在另一方面,链接状态算法需要更多的CPU和内存资源,因此链接状态算法的实现和支持较昂贵。虽然有差异,但这两种算法类型在多数环境中都可以工作得很好。

3.路由的跃点数

路由表中含有交换软件用以选择最佳路径的信息。但是路由表是怎样建立的呢?它们包含信息的本质是什么?路由算法怎样根据这些信息决定哪条路径更好呢?路由算法使用了许多不同的跃点数以确定最佳路径。复杂的路由算法可以基于多个metric选择路由,并把它们结合成一个复合的跃点数。常用的跃点数如下:路径长度、可靠性、延迟、带宽、负载、通信代价。

路径长度是最常用的路由跃点数。一些路由协议允许网络管理员给每个网络链接人工赋以代价值,这种情况下,路由长度是所经过各个链接的代价总和。其他路由协议定义了跳数,即分组在从源到目的的路途中必须经过的网络产品及数量,如路由器的个数。

可靠性指在路由算法中网络链接的可依赖性(通常以位误率描述),有些网络链接可能比其他的失效更多,网路失效后,一些网络链接可能比其他的更易或更快修复。任何可靠性因素都可以在给可靠率赋值时计算在内,通常是由网络管理员给网络链接赋以跃点数值。

路由延迟指分组从源通过网络到达目的所花的时间。影响延迟的因素很多,包括中间的网络链接的带宽、经过的每个路由器的端口队列、所有中间网络链接的拥塞程度以及物理距离。因为延迟是多个重要变量的混合体,所以它是个比较常用且有效的跃点数。

带宽指链接可用的流通容量。虽然带宽是链接可获得的最大吞吐量,但是通过具有较大带宽的链接路由不一定比经过较慢链接路由更好。例如,如果一条快速链路很忙,分组到达目的所花时间可能要更长。

负载指网络资源,如路由器的繁忙程度。负载可以通过很多方式进行计算,包括CPU使用情况和每秒处理分组数。持续地监视这些参数本身也是很耗费资源的。

通信代价是另一种重要的跃点数,尤其是有一些公司可能关心运作费用甚于性能。即使线路延迟可能较长,他们也宁愿通过自己的线路发送数据而不采用昂贵的公用线路。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈