首页 百科知识 广域网关键技术

广域网关键技术

时间:2022-10-10 百科知识 版权反馈
【摘要】:在广域网中,由于用户数量巨大,而且需要双向的交互,如果采用广播方式会产生广播风暴,导致网络失效。对于采用交换网络的广域网而言,主要的技术问题包括路由选择、分组交换和拥塞控制。偏差路由算法要求网络为每一对源和目的地之间提供多条路径。为了防止源违反合约,网络在连接期间对业务流进行监视,并强制业务流执行合约。当流量违反了一致商定的合约时,对违约的流量,网络可以丢弃或标记。

5.5.2 广域网关键技术

在通信网中,根据信号传输方式的不同可以分为交换网络和广播网络。其中,交换网络根据交换的方式又可以分为电路交换网络和分组交换网络(包括帧中继和ATM);广播网络根据网络结构又可以分为总线型网络、环型网络和星型网络。

在广域网中,由于用户数量巨大,而且需要双向的交互,如果采用广播方式会产生广播风暴,导致网络失效。因此,在广域网中主要采用交换网络。

对于采用交换网络的广域网而言,主要的技术问题包括路由选择、分组交换和拥塞控制。其中,各类分组交换技术在第3章中进行了详细介绍,因此,本章着重介绍路由选择和拥塞控制。

1.路由选择

第4章4.2节介绍了PSTN中路由的选择问题,本节主要介绍数据广域网中的路由选择问题。

路由算法的目的是根据所定义的最佳路径含义选择网络上两个主机之间的最佳路径。常见的路由算法根据响应的特性可以分为静态路由算法(非自适应算法)和动态路由算法(自适应算法)。

(1)静态路由算法

在静态路由算法中,首先根据网络的拓扑结构确定路径;然后,将这些路径填入路由表中,并且在相当长的时间内这些路径保持不变。这种路由算法适用于网络拓扑结构比较稳定而且网络规模比较小的网络。当网络规模较大时,静态路由算法则不能根据网络的故障和负载的变化来作出快速反应。

(2)动态路由算法

在动态路由算法中,每个路由器通过与其相邻节点进行通信,从而不断学习网络的状态。借助于这种方式,网络拓扑结构的变化最终可以传播到整个网络。根据收集到的信息,每个路由器都可以计算出到达目的主机的最佳路径。尽管动态路由算法增加了路由器的复杂性,并且选路时延较大,但在所有的分组交换网络中都使用了某些自适应路由选择技术。

根据控制方式,路由算法可以分为集中路由算法和分布路由算法。

(1)集中路由算法

在集中路由算法中,所有可选择的路由都由一个网络控制中心算出,并且网控中心将这些信息加载到各个路由器中。这种算法只适用于小规模的网络。

(2)分布路由算法

在分布路由算法中,每个路由器进行各自的路由计算,并且通过路由消息的交换来互相配合。这种算法可以适应大规模的网络,但是容易产生一些不一致的路由结果。而这些不同路由器计算的不同路由结果可能会导致路由环路的产生。

目前,广泛使用的路由算法主要包括Bellman-Ford算法、Dijkstra算法、扩散算法、偏差路由算法和源路由算法等。

(1)Bellman-Ford算法

Bellman-Ford算法的原理是,A和B之间最短路径上的节点到A节点和B节点的路径也是最短的。这种算法容易实现,但是这种算法对链路故障的反应很慢,有可能会产生无穷计算的问题。

(2)Dijkstra算法

Dijkstra算法比Bellman-Ford算法更加有效,但是它要求每段链路的费用为正值。它的主要思想是在增加路径费用的计算中不断标记出离源节点最近的节点。这种算法要求所有链路的费用是可以得到的。

(3)扩散算法

在扩散算法中,分组交换机将输入分组转发到交换机的所有端口。因此,只要源和目的地之间有一条路径,分组就可以最终到达目的地。当路由表中的信息不能得到时,或者对网络的健壮性要求很高时,可以采用扩散算法。但是,扩散算法很容易淹没网络,因此必须加以控制。

(4)偏差路由算法

偏差路由算法要求网络为每一对源和目的地之间提供多条路径。每个交换机首先将分组转发到优先端口,若此端口正忙,再将分组转发到其他端口。偏差路由算法可以很好地工作在有规则的网络拓扑中。这种算法的优点是交换机可以不用缓存区,但由于分组可以走其他替代路径,因此不能保证分组的传输顺序。

(5)源路由算法

源路由算法不要求中间节点保持路由表,但要求源主机承担更繁重的工作。在分组发送之前,源主机必须知道目的主机的完整路由,并将该信息包含在分组头中。根据这个路由信息,分组节点可以将分组转发到下一个节点。

2.拥塞控制

从本质上看,一个数据网络是一个由队列组成的网路。在每一个节点的每一个输入、输出信道上都有一个分组队列。当分组到达的速率超出输出端分组传输的速率时,队列的长度就会越来越长,分组被转发的时间也就越来越长。

如图5-10所示,在没有拥塞控制的网络中,当负荷较低时,随着负荷的增加,网络吞吐量以及网络利用率会随之增加。当负荷增加到A点时,网络吞吐量的增长速率将比输入负荷的增长速率慢,这时网络进入初级拥塞状态。此时,虽然网络时延变长,但是网络还可以处理增长的负荷。当负荷继续增加,最终达到B点时,此后随着负荷的增加,网络的实际吞吐量反而急剧开始下降。

img144

图5-10 拥塞示意图

网络拥塞是广域网中最难解决且十分重要的问题之一。导致拥塞产生的原因可能如下:

①传输带宽不足;

②多个输入对应一个输出;

③节点缓存容量较小;

④节点处理速度不高。

在解决拥塞问题时,不能只针对某个因素进行调整。目前常用的拥塞控制的方式大致可以分为开环控制和闭环控制

(1)开环控制

开环控制是通过良好的网络系统设计来避免拥塞问题的发生,而不需要依靠反馈信息来调整业务流,是在拥塞发生之前避免拥塞的控制策略。在网络运行过程中,何时接受新分组,何时丢弃分组以及丢弃哪些分组都是事先规划好的,并不考虑当前的网络流量状况。一旦源端发送的业务流被接受,则该业务流就不会导致网络过载。

常用的开环控制的方式主要包括连接接纳控制、流量监管、流量整形等。

①连接接纳控制

当某个源节点请求建立连接时,连接接纳控制(Connection Admission Control,CAC)需要决定接受或拒绝这个连接。如果能保证同一路径上所有源的QoS都能得到满足,则接受这个连接;否则拒绝连接请求。

为了确保同一路径上所有源的QoS都能得到保证,连接接纳控制必须知道每个源的业务流特征,因此,每个源应在连接建立期间用一组称为业务量描述器的参数(如峰值速率、平均速率、最大突发容量等)来说明它的业务流。

②流量监管

为了防止源违反合约,网络在连接期间对业务流进行监视,并强制业务流执行合约。当流量违反了一致商定的合约时,对违约的流量,网络可以丢弃或标记。被标记的流量可以在网络中传送,但优先级较低,只要下游出现拥塞,则会被丢弃。

③流量整形

当某个源试图发送分组时,需要首先改变业务流的输出速率,使其符合传输的需要。这种将业务流改变为另一个业务流的过程叫做流量整形(Traffic Shaping)。流量整形常用的方式包括漏桶流量整形和令牌桶流量整形。

漏桶流量整形器借助一个固定间隔周期读出的缓存器实现。输入的分组存储在缓存器中,然后对分组进行周期性的读出。缓存器用来存储短时的分组突发,如果缓存器已满,则再输入的分组就属于非法分组将被丢弃。

与漏桶流量整形器不同,令牌桶流量整形器只对违约分组进行调节,而对于守约的分组将直接通过整形器,不增加时延,从而保证了业务的实时性。

漏桶算法

若水正流入底部有孔的木桶,当桶不空的时候,水流以恒定的速度从桶中流出,只要桶未满,流入的水就由桶来调节;当桶满的时候,流入的水会溢出。

(2)闭环控制

闭环控制需要根据反馈信息来调节信源速率。反馈信息可以是隐含的信息(隐式反馈),或者是明显的信息(显式反馈)。在隐式反馈中,当网络发生拥塞时,会出现个别分组的传输时延增加或者分组丢弃,如果源站能够检测到传输时延的增加或分组丢失的情况,则间接说明了网络出现拥塞,从而源站通过减缓流量以消除网络拥塞。在显式反馈中,当网络拥塞正在形成时,将有某种形式的显式消息到达源站,向源站发出警告,源站采取相应的措施降低对网络的负荷。

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

我要反馈