APP下载

控流量 防拥塞

2017-11-14包骏

信息化建设 2017年9期
关键词:网络流量缓冲区分组

包骏

随着Internet本身规模的迅速扩大、Internet用户数的剧增,以及网络应用类型的快速增加,网络正经历越来越多的包丢失和其他的性能恶化问题,其中一个比较严重的现象就是网络拥塞。造成网络拥塞的原因很多,主要有存储空间不足、带宽容量不足、处理器处理能力弱、TCP/IP协议拥塞控制机制中的缺陷、用户的恶意攻击等。 在当前的Internet中,既然网络拥塞是无法避免的,就必须采取积极主动的策略控制和避免拥塞,把拥塞发生的可能性降到最低,即使在发生拥塞后也能及时地恢复到正常运行状态;同时拥塞控制也必须保证网络效率。因此,网络拥塞控制是网络系统改善性能、提高服务质量的主要手段。

互联网网络流量的控制

互联网网络流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。流量控制可以有效地防止由于网络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定的运行。

两种流量控制方式

在互联网络中有两种流量控制方式,它们分别是半双工方式和全双工方式。在半双工方式下,流量控制是通过反向压力,即通常说的背压计数实现的,这种计数是通过向发送源发送jamming信号使得信息源降低发送速度。在全双工方式下,流量控制一般遵循IEEE.802.3X标准,是由交换机向信息源发送“pause”帧令其暂停发送。采用流量控制,使传送和接受节点间数据流量得到控制,可以防止数据包丢失。

互联网网络流量监测目的

网络测量的直接目的是获取与网络运行有关的流量数据,而这些流量数据最终将服务于网络工程的各个方面。从总体上说,可以包括流量描述、网络监控和流量控制三个方面。

流量描述的任务之一是识别流量的模式,尤其是峰值流量的模式,以及这些模式的变化。同时,对流量模式的分析应该具有多个时间尺度。其次,分析网络流量在网络上的分布也很重要。流量分布可以使基于一些对象的:流、网络接口、链路、节点、节点对、路径或者目标节点。第三,流量描述还应该根据不同的路由器和网络上不同服务类型数据的表现来预测未来的流量负载。第四,从长远来看,对流量模式的研究可以预测流量的变化趋势,从而对未来协议的设计等工作提供指导。

网络监测是网络测量领域很重要的一部分。对于某些对可靠性要求很高的网络而言,网络监控本身就是网络维护不可分割的一部分。首先,网络监测可以自监测网络目前的运行状态,找出错误的或者可能导致错误的设备或者操作。一般用户在使用网络时,都知道用ping或者traceroute等命令来监测当前网络的运行状况,其实这本身就是一种网络测量行为。其次,由于网络服务的多样化,服务质量的控制越来越重要了。网络监测可以监视网络服务质量和连续性,可以保证服务质量或服务等级得到有效地执行,可以对某个特定的服务提供性能上的监控。第三,随着MPLS等具有网络流量工程功能的路由协议的应用,网络监控可以用来监测流量工程策略的有效性,同时可以在网络性能的参数达到阀值的时候激活相应的策略。第四,ISP为用户提供Internet服務都不是独立的,不同的ISP之间需要按照某种协议互相协作,以便为用户提供最好的服务。因此网络监控还担负起了在边界路由器监控不同服务提供商之间的流量的任务。这一任务包括对网络内部和网络之间流量的交换进行估计,以及服务提供商之间各式各样的流量交换提供服务。

互联网网络流量拥塞控制

拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。这就好比是公路网络中经常所见的交通拥挤,当假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加,即延迟增加,甚至有时在某段公路上车辆因堵塞而无法开动,即发生局部死锁。

发生拥塞的原因

网络的吞吐量与通信子网负荷,即通信子网中正在传输的分组数,有着密切的关系。当通信子网负荷比较小时,网络的吞吐量(分组数/秒)随网络负荷(每个节点中分组的平均数)的增加而线性增加。当网络负荷增加到某一值后,弱网络吞吐量反而下降,则表征网络中出现了拥塞现象。

在一个出现拥塞现象的网络中,达到某个节点的分组将会遇到无缓冲区可用的情况,从而使这些分组不得不由前一个节点重传,或者需要由源节点或源端系统重传。当拥塞比较严重时,通信子网中相当多的传输能力和节点缓冲器都用于这种无谓的重传,从而使通信子网的有效吞吐量下降。由此引起恶性循环,使通信子网的局部甚至全部处于死锁状态,最终导致网络有效吞吐量接近为零。

拥塞控制的方法

缓冲区预分配法。该法用于虚电路分组交换网中。在建立虚电路时,让呼叫请求分组途经的节点为虚电路预先分配一个或多个数据缓冲区。若某个节点缓冲器已被占满,则呼叫请求分组另择路由,或者返回一个“忙”信号给呼叫者。这样,通过途经的各节点为每条虚电路开设的永久性缓冲区(直到虚电路拆除),就总能有空间来接纳并转送经过的分组。此时的分组交换跟电路交换很相似。当节点收到一个分组并将它转发出去之后,该节点向发送节点返回一个确认信息。该确认一方面表示接收节点已正确收到分组,另一方面告诉发送节点,该节点已空出缓冲区以备接收下一个分组。上面是“停一等”协议下的情况,若节点之间的协议允许多个未处理的分组存在,则为了完全消除拥塞的可能性,每个节点要为每条虚电路保留等价于窗口大小数量的缓冲区。这种方法不管有没有通信量,都有可观的资源(线路容量或存储空间)被某个连接占有,因此网络资源的有效利用率不高。这种控制方法主要用于要求高带宽和低延迟的场合,例如传送数字化语音信息的虚电路。

分组丢弃法。该法不必预先保留缓冲区,当缓冲区占满时,将到来的分组丢弃。若通信子网提供的是数据报服务,则用分组丢弃法来防止拥塞发生不会引起大的影响。但若通信子网提供的是虚电路服务,则必须在某处保存被丢弃分组的备份,以便拥塞解决后能重新传送。因此有两种解决被丢弃分组重发的方法,一种是让发送被丢弃分组的节点超时,并重新发送分组直至分组被收到;另一种是让发送被丢弃分组的节点在尝试一定次数后放弃发送,并迫使数据源节点超时而重新开始发送。但是不加分辨地随意丢弃分组也不妥,因为一个包含确认信息的分组可以释放节点的缓冲区,若因节点元空余缓冲区来接收含确认信息的分组,这便使节点缓冲区失去了一次释放的机会。解决这个问题的方法可以为每条输入链路永久地保留一块缓冲区,以用于接纳并检测所有进入的分组,对于捎带确认信息的分组,在利用了所捎带的确认释放缓冲区后,再将该分组丢弃或将该捎带好消息的分组保存在刚空出的缓冲区中。

定额控制法。这种方法在通信子网中设置适当数量的称作“许可证”的特殊信息,一部分许可证在通信子网开始工作前预先以某种策略分配给各个源节点,另一部分则在子网开始工作后在网中四处环游。当源节点要发送来自源端系统的分组时,它必须首先拥有许可证,并且每发送一个分组注销一张许可证。目的节点方则每收到一个分组并将其递交给目的端系统后,便生成一张许可证,这样便可确保子网中分组数不会超过许可证的数量,从而防止了拥塞的发生。endprint

猜你喜欢

网络流量缓冲区分组
基于多元高斯分布的网络流量异常识别方法
基于神经网络的P2P流量识别方法
分组搭配
怎么分组
嫩江重要省界缓冲区水质单因子评价法研究
AVB网络流量整形帧模型端到端延迟计算
分组
关键链技术缓冲区的确定方法研究
网络流量监控对网络安全治理的重要性
地理信息系统绘图缓冲区技术设计与实现