欢迎来到通信人在线![用户登录] [免费注册]

关于网络拥塞控制

浏览:4561  来源:通信人在线  日期:2024-04-07

一、引述

网络拥塞(Congestion)是指在通信子网内局部(单个节点或数个节点)或全局性地发生数据流通不畅或阻塞的现象,严重时可能造成死锁(Dead-locked)。可能造成拥塞的原因很多,例如,用户注入通信子网的数据过多、过快;在某一节点上多条输入线路瞬时指向同一条线路的输出数据过多、过快,超出了节点处理能力或线路输出能力;输出队列过长耗尽缓存空间等等。拥塞现象很容易发生连锁反应,例如,单节点发生拥塞时,如果数据较集中地指向同一目标,拥塞可能沿传输路径逆向扩散。另外,如果试图缓解拥塞的措施不当也可能使拥塞情况更加恶化,例如,当发生拥塞的节点为了减少对该节点的压力,将新到达的报文丢弃时,又可能由于“确认超时”(Timeout )而引起大量的数据重传。

尽管好的流量控制和路径选择技术,有利于减小拥塞的发生或在一定程度上减缓拥塞,但流控、选径技术并不能替代拥塞控制,必须在网内设计相应的专门的拥塞控制策略,尽量避免拥塞的发生和在发生拥塞时能够缓解和解除拥塞。

拥塞控制(Congestion Control)技术可以分为开环控制与闭环控制两大类。开环控制的基本思想是通过适当的策略尽量避免拥塞发生,其策略包括:限制输入流量、适时丢弃报文或分组以及为某些网络节点制订拥塞控制决策措施等。闭环控制实质上是反馈控制,它以拥塞状况检测数据为基础,通知或告诫相关节点采取措施阻止拥塞发生或缓解拥塞状况。闭环拥塞控制过程通常由3个步骤构成,详见下表1所述。

1:闭环拥塞控制过程的步骤

二、拥塞预防策略

在网络层拥塞预防策略包括多个方面,下表2-0给出了不同种常用的策略。将在下面分别专门讨论其中的3种策略:限制入网数据流的策略、基于服务质量的策略和资源预留策略。

2-0:网络层拥塞预防的常用策略总述

1、限制入网数据流的策略(Traffic Shaping

大量的突发性数据注入网内往往是造成网络拥塞的重要原因。一种限制过量突发数据入网方法称为平滑数据流的策略,其具体做法是:根据服务质量合同,采用限制各逻辑链路上的入网速率(承诺速率、承诺的突发速率和承诺的额外突发速率)。限制入网数据流的策略属于开环拥塞控制手段,也可以归入预防性策略之中。下面讨论的两种算法也属于限制入网数据流的策略。

1)漏桶算法:“漏桶算法(Leaky Bucket Algorithm)”借用厨房中使用漏桶以漏孔限制水流的思路来限制入网数据。当漏桶盛满水时,水从漏桶上面溢出;“漏桶算法”限定单位时间内允许单台计算机网络注入网络的数据量(相当于“漏孔”大小),当待入网数据过多时,则将多余部分丢弃(类似于水从漏桶上方溢出)。平滑数据流中的具体实现方式至少有如下表2-1-1的两种。

2-1-1:平滑数据流中的具体实现方式

2)变孔径漏桶算法:采用上面介绍的“漏桶算法”过于死板,严格限制单个主机单位时间内允许注入网络的数据,如果某时段无数据或待发数据少于限量值(固定孔径)在下一时段不能利用过去未用的额度。由于任一主机期望注入网络的数据率在时间上的分布规律不同,在某些时刻,无数据发送或需发的数据较少,而在另外一些时刻又可能产生较大量的突发性数据。如果允许将未用尽的发送额度保留一个最大的限额,待有突发性数据时使用(有些像偶然地适当放大“漏孔”),则既能够适应突发性数据的传输,又能够保证整个网络的入网数据仍然大体保持平衡(各主机突发数据产生的时刻不同)。这种算法称为“变孔径漏桶法”(Token Bucket Algorithm),规定一个正常孔径,平时发送量受该孔径限制,当前面的计时周期内未超过正常孔径允许的发送数据时,节余的发送量可用于本周期发送,此时的发送限额,大于正常孔径。这种可变的发送孔径就是本次的发送限额,也即“Token”。

2、基于服务质量的策略

限制入网速率的方法不仅限于主机,这一方法可以推广到网络设备(如路由器),通过网络设备的配合实现在一对端系统主机间进行数据流的平滑控制。IETFRFC 1363建议了一种在平滑控制中用于描述数据流的注入模式和期望的服务质量的方法。这种方法的基本思路是:在(无连接服务的)数据报文序列发送前或在(有连接服务)建立连接前,发送方通过数据流的描述询问通信子网是否可接受;如果可以接受,则继续向前进行这一过程。被询问方的应答可能是:接受、拒绝或者提出自身可接受的数据流描述。这一过程将一直进行到收方、发方与通信子网三方取得一致意见为止。大家可能已经意识到,上述策略尽管没有提到建立连接,但实质上是在一对主机与中间经过的服务器间建立一条能够满足请求方所要求的服务质量的连接。这也再次说明,有连接服务在保证服务质量方面优于无连接服务。表2-2举例说明了数据流描述的可能内容,其中,表中第1列的参数用于描述输入数据流的特征;第2列描述发送方期望通信子网提供的服务质量的相关参数。

2-2:数据流描述的可能内容举例

面向连接的OSI网络服务从保证服务质量的角度,定义了服务质量协商过程,即在连接建立之初,端系统的网络服务用户与网络服务提供者(通信子网)之间共同商定某连接在其存在过程中提供的网络服务质量。应当指出,尽管基于服务质量的策略客观上起到了一定平滑数据流的作用,但无论再好的预防策略都很难保证不会发生拥塞,因此,网络中还必须具备在发生拥塞后缓解或消除拥塞的措施。

3、资源预留策略

资源预留策略的出发点实质上是保证服务质量,尽管在客观上起到一定减少发生拥塞的可能性的作用。最有代表性的资源预留协议是Internet中的RSVPResource Reservation Protocol)(RFC 2205)。RSVP试图在无连接的IP协议之上,在发送方和接收方之间,为特定的单向数据流提供传输服务质量保证。由于IP协议中各报文传输的路径可变,而服务质量的保证必须由一对收、发方之间的所有中间节点(路由器)来保证,因此,对此特定的数据流实质上需要在收发方和途经的各路由器之间建立一条“连接”。一旦通过RSVP协商后,各路由器就必须为保证该信息流的传输预留相应的资源。资源的预留,在一定程度上起到减缓拥塞的作用。

有关RSVP的具体内容请参见RFC 2205。为了能根据拥塞情况采取解救措施,首先需要能感知拥塞即将或已经发生,然后将拥塞信息传递给能够缓解拥塞的节点,以便采取相应的措施。这种拥塞控制方式属于闭环控制,下面我们将讨论闭环拥塞控制技术。

三、闭环拥塞控制技术

1、概述

闭环拥塞控制技术的出发点是当发生拥塞时,限制入网数据流以缓解网络的压力。对于面向连接的网络服务,除可以限制主机注入网内的分组数外(例如:直接减缓发送或减小窗口大小),还可采用限制新连接的建立或限制新连接通过拥塞区的方式进一步限制新数据流的引入。闭环拥塞控制手段启用的前提是发生了拥塞,因此,要应用这类技术必须首先发现拥塞。为此,各网络节点必须对相关的线路利用率进行周期性的监测,通过线路利用率的历史和近况求得线路利用率。计算公式如下式所示,式中的符号的含义及参数的取值详见下表3-1

u(新)=α u(旧)+1-αf

3-1:符号的含义及参数的取值范围

每个网络节点可以将u等于某值(例如0.9)时定义为输出线路拥塞的阈值,一旦某输出线路的利用率达到该值,该线路即进入“警告”状态。当新的分组或报文到达该节点时,如果其相应的输出线路处于“警告”状态,则该节点将向该分组的源主机发送一“限流”分组(Choke Packet)或报文。当源主机收到此限流分组或报文后,将按规定将其发向特定目的地的分组或报文减小一定比例,从而起到缓解该节点及相关节点的拥塞状况的作用。

2、相关方法

上述方式的应用依赖于主机收到警告分组后自觉减少发送的数据,但如果主机不遵守这一约定,拥塞仍得不到缓解。为此,有人提出了另一种方法称为“公平排队”(Fair Queuing)法。其基本思想是在网络节点中的输出线路上,为每一源主机设置一队列,网络节点对该线路的输出队列公平对待,轮流输出一分组,因此,发送分组较多的源主机并不能获得更多的发送机会(可以制约收到限流分组而不减少发送数据的主机)。

公平排队法以分组为基础计算队列长度,对于像ATM这样定长信元的分组的确较公平,但对多数协议,由于分组长度是变化的,因此并不一定能实现对各信息源数据传输的公平性。有人建议的一种替代办法是:对各队列中的队首分组进行字节计数,按从短到长的发送顺序排列在输出线路上。

以上两种方法都强调对各信息源的公平性,但是,如果不同的信息流需要不同的服务质量,特别是不同的数据传输速率,则这种“公平性”就不太合理(不同的用户可能租用不同速率的传输服务,缴纳不同等级的费用)。因此,有人提出了加权公平排队算法,对不同的信息源给予不同的权值,方法之一是以同一信息源主机建立的虚电路(连接)数为基础赋予权值。

上述几种方法都是基于“端到端”限流的方法,对于远距离传输,限流分组到达源端主机时间较长,缓解拥塞的效果可能不够明显。为此,可以采取逐级限流的方法,即限流分组直接反向发给上一节点或沿反向路径中的所有节点,上一节点或反向路径上的所有节点都立即减流,迅速缓解对拥塞节点的压力。

拥塞控制的最后一招,也是最有效的手段是丢弃分组。如果上述手段仍无法缓解或消除拥塞,网络节点可以将部分分组丢弃,这种方法被称为“泄流法”(Load Shedding)。由于网中的分组丢弃后造成的影响因应用不同而不同,如文件传输数据流的丢弃需要造成重传,而图像、话音部分数据丢失可能影响不大等等,因此,应当采用选择性地丢弃策略。在某些网络中,如ATM网,对数据丢弃定义了优先权,这样网络较容易实现合理地丢弃分组策略。

欲进一步了解为我国IP网络服务质量要求的请进入

附录
百度云服务器
© 2004-2024 通信人在线 版权所有 备案号:粤ICP备06113876号 网站技术:做网站