当前位置:首页 期刊杂志

广域网中拥塞控制方法

时间:2024-05-04

端木占军

广域网中拥塞控制方法

端木占军

计算机网络吞吐量将随输入负荷的增大而下降,造成拥塞。本文提出的解决方案,可以有效进行控制,网络不易出现拥塞现象和死锁。

拥塞 死锁 结点缓存 拥塞控制机制

1 引言

计算机网络中的网络资源包括链路容量(即带宽)、交换结点中的缓存和处理机速度。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的范围,网络的性能就要变坏,这种情况就叫做拥塞(congestion)。网络拥塞往往是由许多因素引起的,如带宽、结点缓存的容量、结点处理机的速度,及包的生存时间等。TCP拥塞控制机制包括慢启动(slow start)、拥塞避免、快速重传(fast retransmit)、快速恢复(fast recovery)、选择性应答(SACK)等。通过在终端上对网络的拥塞情况作出适当的调整,可以大大提高网络传输的性能,减少拥塞发生的可能性。

图一 网络中拥塞控制的作用

2 传统的IP通信模式

在一个源IP主机和一个目标IP主机之间(单播)或者一个源IP主机和网络中所有的IP主机之间(广播)进行的。现在要将信息发送给网络中的多个而非所有IP主机,如果采用传统的IP通信技术就有两种方法可以选择:要么采用广播方式,要么由源IP主机分别向网络中的多个目标IP主机单播发送IP包。广播方式不仅会将信息发送给不需要的IP主机而浪费带宽,也可能由于路由回环引起一场严重的广播风暴。单播方式由于IP包的重复发送而白白浪费掉大量带宽,同时也增加了服务器的负载。传统网络设备采用被动队列管理PQM来管理网络中间节点数据包的排队,它采用FIFO的Drop-tail丢包策略,仅在输入溢出时进行丢包,这种方式容易产生锁外、满列、全局同步等问题,可见传统的IP通信技术不能有效地解决单点发送多点接收的问题。

3 本文的解决方法

3.1 概述

3.2 图一横坐标是提供的负载(offered load),代表单位时间内输入给网络的分组数目,因此,提供的负载也称为输入负载或网络负载。纵坐标是吞吐量(throughput),代表单位时间内从网络输出的分组数目。具有理想拥塞控制的网络,在吞吐量饱和之前,网络吞吐量应等于提供的负载,故吞吐量曲线是45°的斜线。但当提供的负载超过某一限度时,由于网络资源受限,吞吐量不再增长而保持为水平线,即吞吐量达到饱和,这就表明提供的负载中有一部分损失掉了(例如,输入到网络的某些分组被某个结点丢弃了)。死锁(deadlock)。图一显示随着提供的负载的增大,网络吞吐量的增长速率逐渐减小。也就是说,在网络吞吐量还未达到饱和时,就已经有一部分的输入分组被丢弃了。当网络的吞吐量明显地小于理想的吞吐量时,网络就进入了轻度拥塞的状态。更值得注意的是,当输入负载达到某一数值时,网络的吞吐量反而随提供的负载的增大而下降,这时网络就进入了拥塞状态。当输入的负载继续增大到某一数值时,网络的吞吐量就下降到零,网络已无法工作。

3.3 使用拥塞控制算法。TCP是目前在互联网中使用最广泛的传输协议。广义的来讲,TCP拥塞控制的概念是每个源端判断当前网络中有多少可用容量,从而知道它可以安全完成传送的分组数。一旦某个源端有这么多分组在传送,它用确认(ACK)信号的到达表明它有一个分组已经离开网络,因而它不需要增加拥塞级别就可以安全地向网络中发送一个新的分组,通过使用确认信息来协调分组的传送,TCP称为自同步(self-clocking)的。

3.4 目前TCP使用丢包作为隐式的拥塞指示信号,即发送方检测到重复的ACK或者重传超时的时候认为发生拥塞,这种机制在用于检测拥塞时开销较大,需要等待较长的周期才能发现拥塞,降低了拥塞控制的效率。为此,显示拥塞通告算法ECN可以减少由于不比要的丢包产生的延时,其主要思想是通过路由器对拥塞的判断,显示的设置拥塞标记,发送端主机通过网络中返回的带拥塞反馈标记的包发现拥塞。

3.5 新的互联网拥塞控制机制XCP。XCP(eXplicit Control Protocol)事实上是对ECN机制的一种扩充,它的主要思想是充分利用网络中间节点对链路带宽的认知,为端到端拥塞控制机制提供比是否发生拥塞更多和更有效的网络带宽提示,从而使控制机制能够更快的适应当前的网络状况。

3.6 TCP中使用的拥塞控制算法已经成为保证目前互联网稳定性的重要因素。

在拥塞控制时付出的代价就是:当输入的负载较小时,有实际拥塞控制的吞吐量反而比无拥塞控制时要小。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!