网络拥塞的几种处理方法

时间:2022-08-26 04:08:42

网络拥塞的几种处理方法

摘 要

网络拥塞是指到达通信子网中某一部分的分组数据包过多且来不及处理及转发,以至于引起局部网络乃至整个网络性能下降的现象,严重时会导致网络通信中断死锁。网络拥塞的原因较多,主要表现在节点存储空间有限、链路带宽容量限制以及节点处理器性能限制等几个方面,而较为通行的处理方法主要有采用缓冲区分配、分组消灭、流量控制和抑制分组等手段予以解决。

【关键词】网络拥塞 流量控制 网络安全

1 引言

网络节点与网络规模日渐增多、变大,要求路由策略必须能够应付不断增多的数据量和分组数据包。但是,网络存储转发节点的资源在一定条件下,又是有限的。当传输的数据量和分组数据包超出某一个或多个节点或网络链接的负荷能力,而导致该节点或某一段网络失效时,就会导致该处分组的大量堆积,从而导致网络的拥塞。

网络拥塞显然降低了网络运行的效果,并且因拥塞得不到解决而导致的综合效应会使得这种拥塞由一个节点蔓延至其他节点,导致分组数据包的大量且大面积聚集,最终导致网络瘫痪。

2 网络拥塞原因分析

2.1 存储空间限制

网络节点中的处理设备有一定的存储空间,若一个输出端口被几个输入数据流共同使用,输入流的数据包就会在该存储空间内排队等待输出。当端口转发数据的速率低于数据包的到达速率时,会造成存储空间被占满的情形,在这种多条输入流有数据到达,且需要同一输出端口输出转发时,如果处理设备没有足够的内部存储空间来暂时存放源源不断输入的数据,后到达且超出存储空间的数据包将被丢弃。如果存储空间足够大,这显然能够缓解输出端口的压力,理论上也不会造成数据包的丢失,但存储空间增加到多少为宜?这又会带来一个新的问题:当某一个数据包完成转发时,由于其排队等待时间过长,数据发送源端认为该数据包已经被丢弃并要求重发,这不仅降低了网络效率,而且使得网络拥塞情况更加严重。

2.2 带宽容量限制

香农定理定义了某一个信道的最大传输速率。信源的发送速率必须小于或等于信道容量。任何信道带宽最大值为C=W*log2*(1+S/N) (其中C是可得到的链路速度,W是链路的带宽,S是平均信号功率,N是平均噪声功率,信噪比S/N通常用分贝dB表示)。当通过信道的信号速率超过香农定理的信道容量时,传输速率显著下降,误码率显著提高,从而导致信息质量严重下降。因此,当源端带宽远大于链路带宽形成带宽瓶颈时,导致数据包在网络节点排队等待直至出现数据的拥塞。

2.3 处理器性能限制

网络设备例如路由器的吞吐量,是指在不丢包的情况下单位时间内通过的数据包数量。如果吞吐量太小,就会使得数据信道的流量过低而成为网络瓶颈,给整个网络的传输效率带来负面影响。吞吐量是网络设备的硬件性能指标,这些设备的处理器性能直接影响到该设备数据吞吐量的数值。网络设备中的处理器主要执行缓存区排队、更新路由表、进行路由选择等功能,如果其工作效率不能满足高速链路的需求,就会造成网络拥塞。

3 网络拥塞的处理方法

3.1 缓冲区分配(Buffer allocation)

该方法用于虚电路分组交换网中。虚电路是网络节点间建立起来的路径,它在任何数据分组发送前被确定,这个路径一旦确定,在开放系统互连(OSI)模型中,协议会为此路径预留缓冲区。若此路径中,某一个节点的缓冲区域已经被占用,则重新进行路由选择。通过缓冲区的预留与分配机制,网络节点为每个虚电路开设“专属”缓冲区。“专属”缓冲区直至数据分组传输完毕、虚电路拆除才终止,转而成为其他虚电路数据分组的“专属”缓冲区。

从动态角度来看,当虚电路上B节点收到A节点数据分组并转发至下一个节点C后,B节点向A节点反馈信号,告知前一数据分组已经转发且目前B节点缓冲区域空置,可以接受A节点下一数据分组的传输。在多个未处理数据分组存在的情况下,为了完全消除拥塞的可能性,每个节点都要为每个虚电路保留等价于多个分组总量的缓冲区。

3.2 分组消灭(Packet elimination)

如果某一个节点上出现分组的过分聚集,按照一定的规则丢弃其中一部分,以减少等待传输的分组数量,降低网络负荷。

当缓冲区被占满时,节点会将继续到来的分组数据丢弃。这当然会导致被丢弃的分组数据无法到达目的端。若通信子网传递的是数据分组,丢弃这些分组数据来防止拥塞的发生。但若通信子网提供的是虚电路服务,则必须在某个节点处保存被丢弃分组数据,等待拥塞解决后重新传输。当然,发送节点的协议最终会得知分组数据丢失情况并重新发送。

我们可以通过一些方法来解决丢弃分组所带来的问题,最终目的让被丢失的分组重新发送。一种是让发送被丢弃分组的节点超时,并重新发送分组直至分组被收到;另一种是让发送被丢弃分组的节点在尝试一定次数后放弃发送,并迫使数据源节点超时而重新开始发送。

3.3 流量控制(Flow control)

流量控制协议用来控制要发送的分组的数量。如果节点间发送的数据过多或者数据发送速率过快,致使某一节点来不及处理,则会造成数据在接收端的丢失或是堆积。在两个节点中,节点A通过预定路径向节点B发送数据,假定两个节点之间的信道带宽为10Mbit/s,节点B的数据处理速率为5Mbit/s,当节点A向节点B传送分组数据时,节点A发送的分组数据在节点B处发生拥塞,从而导致到达节点B的数据分组被丢弃或堆积。为了避免这种现象的发生,通常的处理办法是采用流量控制,即控制发送端发送的数据量及数据发送速率,使其不超过接收端的承受能力,这个能力主要是指接收端的缓存和数据处理速度。限制节点A的发送速率(适配下一节点B的处理速率),或者是增大节点B的接收缓存,确保分组数据不丢失。拥塞控制和流量控制都是限制进入网络的通信量的机制,两者是不可分离的。不过,从广义上看,拥塞本质上也属于流量控制的范畴。流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。流量控制可以有效的防止由于网络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定的运行。

3.4 抑制分组(Choke packets)

抑制分组提供了一种更动态的方式来处理拥塞。每个节点对其输出数据的活动进行监控,记录每条链路的使用情况。在网络链路或节点使用率低的时候,这表示出现拥塞的可能性较小。当网络链路或节点的使用率增加时,则表示大量的分组数据经过节点被处理。当任何一段网络链路的使用率超过预定标准是,节点协议就会发出信息,并使链路和节点进入拥塞预警状态。此时,节点以抑制分组来响应任何要求以此超标链路作为输入的进入分组,并直接影响分组数据源节点,当分组数据源节点收到抑制分组时,立即减少其发送分组数据的速率。

本阶段预警解除后,会有两种情况发送,一是节点恢复其传输速率至合理水平,二是如果继续有抑制分组信息到达,节点会继续降低分组传输速率,通过降低输入的数据量和输入速率,数据源节点就能够让其输出链路的使用率继续降低,从而避免拥塞的出现。

4 结束语

网络的高速发展导致在其上流通的数据呈几何级数增长,如果在网络链路和节点间较好的控制好数据传输,避免数据拥塞的出现,提高网络的使用效率和安全系数,并且有利于降低网络无必要的负载,有利于网络资源的利用。因此,对网络拥塞产生的原因、拥塞的处理解决方法的研究具有一定的理论和实际意义。

参考文献

[1][美]Stephen Northcutt著,陈曙辉,李华译.深入剖析网络边界安全[M].北京:机械工业出版,2003.

[2][美]Ronald L.Krutz,Russell Dean Vines著,盛思源,成功译.信息安全基础[M].北京:机械工业出版,2005.

[3]宋丽华,王海涛,曹海兵.基于性能服务的高速网络运输层拥塞控制解决方案[J].理工大学学报(自然科学版),2012(06).

作者简介

罗泽涛(1980-),男,湖北仙桃人。现为广东省技师学院讲师。研究方向为计算机网络、信息安全。

作者单位

广东省技师学院 广东省惠州市 516100

上一篇:盘点光伏大鳄郑建明 下一篇:与时俱进深化改革提升继续教育质量