当前位置:文档之家› 浅谈通信网络流量控制与拥塞控制技术 (2)

浅谈通信网络流量控制与拥塞控制技术 (2)

浅谈通信网络流量控制与拥塞控制技术张光宇内容摘要:在通信系统中,由于网络可运载的业务量是有限的,随着输入业务量增加会使得网络出现聚集现象和通过量大大下降,并引起时延大大升,从而导致网络无法正常运行,因此要求采用必要的流量和拥塞控制。

本文通过对网络流量控制与拥塞控制技术进行概念解读,并对通信网络中存在拥塞的原因和需要进行流量控制的原因进行阐释。

介绍现有拥塞控制的技术和现有流量控制的技术;最后针对特定的因特网拥塞控制技术和拥塞控制技术作原理论述、分析和实际中的使用情况进行说明。

关键词:通信网络流量控制拥塞控制因特网第一章什么是通信网络流量控制与拥塞控制技术第一节什么是网络拥塞1.1.1网络拥塞现象拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。

这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动(即发生局部死锁)。

网络的吞吐量与通信子网负荷(即通信子网中正在传输的分组数)有着密切的关系。

当通信子网负荷比较小时,网络的吞吐量(分组数/秒)随网络负荷(每个节点中分组的平均数)的增加而线性增加。

当网络负荷增加到某一值后,若网络吞吐量反而下降,则表征网络中出现了拥塞现象。

在一个出现拥塞现象的网络中,到达某个节点的分组将会遇到无缓冲区可用的情况,从而使这些分组不得不由前一节点重传,或者需要由源节点或源端系统重传。

当拥塞比较严重时,通信子网中相当多的传输能力和节点缓冲器都用于这种无谓的重传,从而使通信子网的有效吞吐量下降。

由此引起恶性循环,使通信子网的局部甚至全部处于死锁状态,最终导致网络有效吞吐量接近为零。

简而言之就是对资源需求的总和>可用资源——拥塞出现表示荷载超过了资源的承受能力。

图1-1 拥塞示意图1.1.2造成网络拥塞的原因1、多条流入线路有分组到达,并需要同一输出线路,此时,如果路由器没有足够的内存来存放所有这些分组,那么有的分组就会丢失。

2、路由器的慢带处理器的缘故,以至于难以完成必要的处理工作,如缓冲区排队、更新路由表等。

1.1.3 网络拥塞造成的后果1、直接锁死:直接死锁即由互相占用了对方需要的资源而造成的死锁。

例如两个结点都有大量的分组要发往对方,但两个结点中的缓存在发送之前就已经全部被待发分组占满了。

◆当每个分组到达对方时,由于没有地方存放,只好被丢弃。

发送分组的一方因收不到对方发来的确认信息,只能将发送过的分组依然保存在自己结点的缓存中。

◆这两个结点就这样一直互相僵持着,谁也无法成功地发送出一个分组。

2、重装锁死:◆报文A、B和C经过路由器P、Q和R发往主机H。

◆每一报文由4个分组构成。

每个路由器的缓存只能容纳4个分组。

◆路由器R已为报文A预留了4个分组的缓存。

还未到达,所以目前还不能交付给主机H。

◆由于分组A3暂存于路由器P的缓存中,它无法转发到路由器Q,◆分组A3◆因为路由器Q的缓存已全占满了。

3、对用户及运营商造成的影响极度利用峰值带宽,带宽统计复用的服务模型随之失效,运营商运营成本增高,用户无法正常使用网络,例如voIP、BT、P2P等软件和技术就极度占用正常带宽恶化网络运行环境,最终造成网络拥塞,导致的业务投诉增加,服务品质下降。

图1-2 网络拥塞的影响1.1.4 网络拥塞控制的基本原理(一)根据控制论,拥塞控制方法分为两类1、开环控制:开环控制方法就是在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。

拥塞控制时,不考虑网络当前状态。

图1-3 开环控制可采用流程2、闭环控制:闭环控制是基于反馈机制。

属于闭环控制的有以下几种措施(即工作过程):◆监测网络系统以便检测到拥塞在何时、何处发生。

◆将拥塞发生的信息传送到可采取行动的地方。

◆调整网络系统的运行以解决出现的问题。

(二)衡量网络是否拥塞◆缺乏缓冲区造成的丢包率;◆平均队列长度;◆超时重传的包的数目;◆平均包延迟;◆包延迟变化(Jitter)(三)反馈方法◆向负载发生源发送一个告警包;◆包结构中保留一个位或域用来表示发生拥塞,一旦发生拥塞,路由器将所有的输出包置位,向邻居告警;◆主机或路由器主动地、周期性地发送探报(probe),查询是否发生拥塞。

1.1.5拥塞控制的策略(一)、开环控制。

开环控制是一种不依靠反馈信息来调整业务流,而是在拥塞发生之前来避免拥塞的一类控制策略。

在开环控制中,一旦源端发送的业务流被接收,则该业务流就不会倒是网络过载。

下面是集中开环控制的方法。

1、接纳控制接纳控制是一种预防性开环拥塞控制方法,其最初是针对虚电路分组交换网络提出的,但是在数据报网络中也得到了研究。

在连接上工作的接纳控制叫连接接纳控制(CAC,Connection Admission Control),在数据报网络上工作的接纳控制角突发接纳控制。

当某个资源请求建立连接时,CAC必须确定是接受还是拒绝这个连接。

如果能保证同一路径上的所有源的QoS(最大延时、丢失率、带宽、抖动等参数描述)都得到满足,则接受这个连接;否则就拒绝这个连接。

为了确定QoS是否能够得到满足,CAC必须知道每个源的业务流特征,为了实现这一点,每个源应在连接建立期间用一组称为业务量描述器的参数来说明它的业务流。

业务量描述器可以包括:峰值速率、平均速率、最大突发容量等,可以认为是对业务量的简洁而准确的总结。

CAC必须计算它要为每个源保留多少带宽(平均速率与峰值速率之间),即有效带宽。

对于有效带宽的精确计算是一个难点。

2、管制一旦CAC接受连接,则只要源遵循它在连接建立期间提交的业务量描述器中的规定,源的QoS就可以得到满足。

然而如果源的业务流违反了最初的合约,则网络就有可能不能保证性能。

为了防止源违反它的合约,网络应该在连接期间对业务流进行监视。

监视和强制业务流执行合约的过程叫流量管制。

当流量违反了一致商定的合约时,对违约的流量,网络可以丢弃或标记,被标记的流量将被网络传送,但优先级较低,只要下游拥塞,就首先被丢弃。

漏桶算法是管制的一个比较经典的算法。

我们假设管制设备的业务流是正在流入底部有孔的桶的水流。

当桶不空时,水流以恒定的速度从桶中漏出,只要桶未满,流入的水就由桶来调节;当桶满的时候,流入的水会溢出,这些溢出的水就是违约的流量,而未溢出的水为守约流量。

桶的深度可以用来吸收水流的不均匀性,如果要求业务流比较平滑,则可以减小桶的深度,这样瞬时多的水流(短的突发分组)会从桶中溢出,不会影响正常的业务。

漏桶一般可以用来管制峰值速率和可支持的速率。

3、流量整形当某个源试图发送分组时,其可能不知道它的业务流是什么样的业务流。

如果源想要保证业务流能够与漏桶管制设备中规定的参数一致,它就应该首先改变它的业务流。

这种将业务流改变为另一个业务流的过程叫做流量整形。

流量整形可以使流量更平滑。

流量整形的实现方式主要有:○1漏桶流量整形器。

它通过一个以固定间隔周期读出的缓存器来实现。

它是一个可以储存分组的缓存器,可以调节业务流。

输入的分组存在缓存器中,然后对分组进行周期性的读出,这样输出的分组就是平滑的。

缓存器用来存储短时的分组突发,如果缓存器满,再输入的分组就属于非法分组而被丢弃。

例图如下图 1-4 漏桶算法○2令牌桶流量整形器。

由于许多应用都是可变速率的或者是实时业务,这样的分组通过漏桶流量整形器会导致不必要的延时。

令牌桶流量整形器只对违约分组进行调节而对守约的分组将直接通过整形器,不增加它的延时。

例图如下图 1-5 令牌桶算法(二)、闭环控制闭环拥塞控制根据反馈信息来调节信源速率,反馈信息可以是隐含的信息(隐式反馈),或者是明显的信息(显式反馈)。

隐式反馈中,信源可以用超时来判断网络中是否已经出现拥塞;在显式反馈中,将有某种形式的显式消息到达信源,以指示网络的拥塞状态。

下图给出了重要的拥塞控制技术的一般性描述。

图 1-6闭环拥塞控制机制下面是几种闭环控制方法:1、反压这种技术类似于流过管道的流体产生的反压现象。

当管道末端被关闭或者受限时,流体就向源头产生压力,从而阻断或减慢流量。

反压可以在链路或虚电路上实施,当下游节点变得拥挤或者缓存满溢时,就会减慢或者阻止来自上游节点的分组流量。

这种流量的限制会反向传播到信源,使信源根据限制重新调节流量。

反压可以有选择地应用到通信量最大的连接上。

X.25支持这种方式2、阻流分组阻流分组是由拥塞节点产生控制分组,然后将这些控制分组传回源节点以限制通信的流量。

ICMP就是采用这种技术。

阻流分组是一种比较粗糙的拥塞控制技术。

3、隐式拥塞信令当网络发生拥塞的时候,会出现从源站到目的站的个别分组的传输时延增加或者分组丢弃。

如果源站能够检测到这种传输时延的增加和分组的丢失,就认为有间接的证据说明网络已经拥塞,可以减缓流量来消除网络拥塞。

基于隐式信令的拥塞控制是由端系统来完成,不需要网络中间节点的参与。

在数据报分组交换网络中和基于IP的互联网中,由于采用的是无连接的方式,因此隐式拥塞信令是一种有效的方法。

另外,隐式信令也可以用于面向连接的网络。

4、显式拥塞信令显式拥塞信令技术可以使网络容量得到充分的利用,同时,又能够以公平的方式对拥塞进行控制。

在这种方法中,网络会对正在形成的拥塞向源端发出警告,而源端采取相应的措施来减低对网络的负荷。

通常显式拥塞控制用于面向连接的网络中,并以单个连接将拥塞信令分为三类:二进制的、基于信用值的和基于速率的。

○1二进制的:拥塞节点在转发数据分组时对分组中的某一比特位置位。

当源站受到一条逻辑连接上的拥塞二进制指示时,就会降低该连接上的通信量。

○2基于信用值的:该方案类似于在一条逻辑连接上对源站提供显式信用值。

这个信用值表示了允许源站发送的字节数或分组数。

当一个源站用完它的信用值后,必须等待更多的信用值才可以发送数据。

○3基于速率的:该方案类似于在一条逻辑连接上提供一个明确的数据率上限。

源站只能以不超过该上限的速率发送数据。

无论是采取开环方法还是闭环方法,拥塞控制都只能暂时地缓解网络过载(一般在毫秒的量级)。

如果过载持续更长的时间,那么只有对网络进行更新。

图 1-7拥塞控制所起的作用第二节网络流量控制1.2 .1什么是网络流量控制流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。

流量控制可以有效的防止由于网络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定的运行。

流量限制能限制网络上两个节点之间的数据流量,以满足接收端的承受能力,避免过载。

相关主题