网络拥塞解决

2024-10-20

网络拥塞解决(通用8篇)

网络拥塞解决 篇1

引言

寻呼是网络联系UE的重要途径, 和其他流程相比较, 寻呼流程在无线网络中表现出频率高、流量大、突发性强等特点, 寻呼性能关系到整个无线网络的性能。所以研究寻呼问题对无线网络性能具有很强的现实意义。

1 寻呼过程及原因

1.1 寻呼发起

CN发起的寻呼:CN发起寻呼过程的目的是使CN能够请求UTRAN联系UE。寻呼过程在IU接口使用无连接的信令过程。CN通过发送寻呼消息触发寻呼过程, UTRAN则将CN寻呼消息通过UU接口上的寻呼过程发送给UE, 使得被寻呼的UE发起与CN的信令连接建立过程。

UTRAN发起的寻呼:当系统消息发生改变时, UTRAN为了通知处在空闲模式、CELL_PCH和URA_PCH状态下的UE进行系统消息更新, 会触发寻呼过程, 以使UE读取更新后的系统信息。

为了触发处于CELL_PCH, URA_PCH状态下的UE进行状态迁移, UTRAN会进行一次寻呼流程, 作为对该寻呼的一种应答形式, UE会相应的发起一次小区更新或URA更新。

1.2 寻呼类型

当用户处于空闲状态、Cell_PCH和URA_PCH状态时, UTRAN通过在寻呼控制信道 (PCCH) 上发送寻呼消息类型1来启动寻呼, 用于被叫业务建立或更新系统消息。

而当用户处于Cell_FACH和Cell_DCH时, UTRAN通过在专用控制信道 (DCCH) 上发送寻呼消息类型2启动寻呼, 用于通知用户接收下行数据或被叫业务建立, 也可用于系统消息更新。 (图1)

2 寻呼指标定义

RNC寻呼负荷计算公式:

Pch Load=Sum (AVE_PCH_THROUGHPUT) / Sum (PCH_THROUGHPUT_DENOM_0) /8000*100%

在日常寻呼负荷指标优化中可以有效参考RNC寻呼负荷指标。

3 寻呼信道拥塞原因

3.1寻呼信道拥塞原因

在3G网络中, 随着数据业务流量快速增长, 单纯的CS业务逐渐降低。由于数据业务的小流量、间断发生特点, 造成了PS域的寻呼量快速增长, 在网络结构或参数设置不合理时极易造成寻呼信道拥塞, 寻呼消息丢弃的现象发生, 从而导致寻呼时延增加, 接通率下降。为了更好地理解寻呼信道拥塞概念, 首先回顾下寻呼的整个过程。

用户侧, 用户通过IMSI计算出自己的寻呼时刻 (SFN) , 然后在属于自己的寻呼时刻侦听寻呼指示信道, 看是否有属于自己的寻呼消息, 判断的原则是根据网络设置的寻呼指示分组, 计算出用户在一个10ms中标识自己的PI位置。当属于自己位置PI的所有bit都被置1, 即有寻呼消息发给自己, UE则在SCCPCH信道获取消息内容。

网络侧, 当RNC收到来自CN的消息后, 发给MAC-C实体, MAC-C实体计算出用户的寻呼时刻, 然后在距离当前CFN最近的寻呼周期位置将寻呼记录保存下来 (按照协议规定, 每一个寻呼时刻MAC-C实体最多支持8个寻呼记录的排队) , 待到每个寻呼时刻, MAC-C实体将对寻呼记录排序, 并发给NODEB, 然后在SC-CPCH信道上发送。虽然在MAC-C实体上, 可支持8条寻呼记录的排队, 但PCH信道传输块大小为240bit, 限制了可被寻呼的用户数, 根据用户标识所占字节的大小, 每一个寻呼时刻按IMSI最多可寻呼3个用户, 按TMSI最多可寻呼5个用户。

寻呼信道拥塞就是指在一个寻呼时刻同时有超过5个以上的用户需要寻呼, 但最多只能寻呼5个用户。未被发送到寻呼记录将在最近的下一个寻呼时刻排队等待发送, 但若下一个寻呼时刻仍不能被发送或者排队时长超过了阀值, 将会丢弃寻呼记录。

3.2 网络寻呼负荷现状

文章主要讨论的是业务量持续增长情况下造成的寻呼信道拥塞解决方案。

3G用户数量持续增长, 3G话务量和数据流量随之快速增加, RNC寻呼负荷、寻呼拥塞率也随之上升, 以RNC3128 (覆盖整个延安宝塔区) 更为显著。 (图2)

话务量10月较1月增幅达72%左右;数据流量10月较1月增幅达80%左右。

从全网RNC寻呼拥塞率来看 (实际忙时) :RNC3128寻呼拥塞率4月份之后持续 快速增长 , 10月份最新统 计已达到31% , RNC3129、RNC3131、RNC3132寻呼拥塞率低于3%。 (图3)

RNC3128 PCH负荷最高达到78%, 远超正常范围。 (图4)

4寻呼信道拥塞解决方案

寻呼信道由于负荷导致拥塞解决或缓解方案很多, 如:调整寻呼周期、合理规划LAC/RAC分配、调整寻呼机制、PICH和PCH等参数设置、网络干扰排查等。文章立足延安联通分公司网络负荷持续增长实际情况, 制定了4种方案。

4.1新建RNC

通过新建RNC缓解RNC3128负荷压力。延安联通分公司现网共有4台RNC, 宝塔区由RNC3128覆盖, 该RNC语音业务和数据流量整体占比达到54%以上。

RNC3128目前下挂1446个小区, 其中RNC规划所带小区2100个, 目前已下挂比例已达到68.86%, 按照建设规划至2014年底仍有40个宏基站开通、101个载频扩容需求, 下挂小区数量占RNC规划所带小区数占比将达到82.23%。 (表1)

4.2割接基站

将RNC3128下挂部分基站割接至周边RNC以缓解负荷压力, 具体割接区域如下 (表2) :

RNC1割接至RNC5基站范围:甘谷驿至常态药业, 龙湾至新官庄, 具体包含:蟠龙、青化砭、甘谷驿、姚店、李渠。

RNC1割接至RNC2基站范围:黄新庄至洞子梁隧道, 万花肖渠以西, 新九燕沟隧道以南、南泥湾。

选择割接站点话务量占RNC3128整体比例10.23%, 数据流量占RNC3128整体比例12.35%。

4.3 RAC 分裂

随着网络负荷逐年递增, 尤其APP软件的普及, 数据业务的小流量、间断发生特点更加突出, RAC分裂方案实施将有效解决寻呼负荷。近期寻呼丢失率指标统计:寻呼丢失率达到31.01%中CS寻呼丢失率为21.44%, PS寻呼丢失率为9.57%。

RNC3128下新增2个RAC (新增RAC41、RAC42) , 由原来的1个RAC调整为3个RAC。 (表3)

4.4 24K Paging channel feature

目前诺基亚通信WCDMA网络支持两种格式的PCH信道负荷。

第一种是RAS06和RU10支持8Kbps的PCH比特率, 80bits大小的传输块, 每TTI传输时延10ms。

第二种是RU20版本以上支持24Kbps的PCH比特率, 240bits大小的传输块, 每TTI传输时延10ms。

RNC3128未开通24K Paging channel功能时寻呼信道只能传输80bits的传输块, 开通该功能后寻呼信道的传输能力将达到240bits, 将有效解决寻呼拥塞过高问题。

5 解决方案实施及效果评估

通过以上4种方案的对比, RAC分裂是最经济、且简单易行。10月31日实施了RNC3128 RAC分裂方案, 通过11月1日、11月2日、11月3日的指标观察, PCH负荷峰值已经由78%降到40%, 达到预期效果。 (图5)

参考文献

[1]Rudolf Tanner.WCDMA原理与开发设计[M].北京:机械出版社, 2007.

[2]张红, 张华生, Adrian Boukalov.WCDMA网络优化与无线资源管理[J].移动通信, 2005.

网络拥塞解决 篇2

关键词:网络拥塞控制方法队列管理

中图分类号:TP393 文献标识码:A 文章编号:1007-9599 (2013) 01-0105-02

随着信息时代的到来,计算机网络开始在社会上普及,迎来了一个飞速发展的时代。广泛应用的计算机网络极大的丰富了人们的生活,正逐渐成为人们日常生活中不可缺少的一部分,并被应用到军事、文化等诸多领域。尤其是最近几年,我国的网民数量呈级数增长,不断激增的数量直接导致了计算机网络规模的急剧碰撞。但是计算机网络的资源容量并没有伴随着网民数量的增加而增加,或者说其速度远远达不到网民增加的速度,这就导致了计算机网络的拥塞问题。一旦发生拥塞,计算机网络的性能就会大幅下降,甚至导致网络崩溃。其造成的数据延时、性能下降、网络数据包丢失等问题,已经成为计算机网络发展的关键性难题,并严重影响着计算机网络服务质量的高低。所以如何高效控制计算机网络拥塞问题,已经成为当下的热点问题。

数据能否准确传输,资源分配是否合理,都影响着计算机网络的服务质量。传统TCP拥塞控制机制只是单向的尽力而为理念,往往在访问激增的时候造成数据丢失、数据传输不准确,资源分配不合理等问题。为了解决这个问题,本文提出了一种改进之后的计算机网络拥塞控制方法。这是一种基于TCP层网络拥塞机制,配制IP层资源队列管理模式的一种新型拥塞控制方法。在解决计算机网络拥塞的同时,也能够保证计算机网络的服务质量,是一种高效计算机网络拥塞控制方法。

1 拥塞控制相关理论概述

为什么会发生网络拥塞呢?主要是因为计算机网络中需要传输处理的数据分组数量,已经接近其处理数据的能力极限,从而导致用户的通信请求被延迟或者丢失,降低了计算机网络的服务质量。基于这个问题我们首先应该看到的是,计算机用户的数量和其传递的数据资源数量,是无法控制的,所以之所以会发生计算机拥塞现象,本质上还是网络无法适应用户超载的要求,一旦用户的请求超过了其处理能力和资源容量,就会产生网络拥塞现象。

详细总结起来,计算机网络拥塞的原因有两个。第一,计算机网络的资源分布极度不均。每一个处于计算机网络中的传输节点,都有着各自的传输能力,而它们的能力是不一样的。也许上一个节点传递过来的数据速率,经由下一个节点传递下去的时候,会因为传输能力的不同而消弱很多,造成计算机网络拥塞。第二,计算机网络中的节点流量分布不均。每一个网络节点都是和其他的节点相连的,当同时有多个数据从多个节点向一个节点传来的时候,就可能因为节点的资源容量有效,而出现网络拥塞现象。

由以上我们可以得出这样一个结论:处理好网络拥塞问题的关键在于协调好网络负载、吞吐量和响应时间之间的关系。避免数据同时传递,可以进行优化设计,使计算机网络始终处在高速运行状态。如此看来,传统的TCP拥塞控制机制就无法满足我们的设想了,因为该机制奉行尽力而为的理念,并不是一定传输。如果在数据传输的时候发生拥塞现象,那么该机制可能就会因为不能替很多数据找到路径而丢弃他们,这就是所谓的数据丢失。

传统拥塞控制机制具有较高的数据丢失率,而且因为丢弃数据包,也会降低网络的吞吐量,而吞吐量和网络的数据传输效率是正比的关系。由此可以看出传统控制方法很难控制数据丢失和传输分配的效率,导致计算机网络服务质量下降。基于此我们提出了以传输控制层网络拥塞机制为基础,配制网络资源队列管理模式的一种新型拥塞控制方法。

2 改进的计算机网络拥塞高效控制机制

传统TCP层拥塞控制机制虽然能够在一定程度上解决计算机网络拥塞问题,但是由于秉承的是“尽力而为”的机制,常常会在网络规模不断扩大的现在出现数据丢失,网络资源难以访问等难题。通过传输控制层网络拥塞机制联系网络资源队列管理模式,改进拥塞控制机制,提高计算机网络的服务质量。前面已经对传输控制层拥塞控制机制进行了简单的理论介绍,下面对网络层的资源队列管理模式进行简单的论述。

2.1 先进先出原则的建立

先进先出原则又叫先到先服务原则,简单的说就是第一个到达的数据进行优先服务。网络数据包一般是经由发送端发出,通过网络进行数据传输,然后到达路由器之后进行数据储存服务,该服务服从先到先服务的原则。但是要注意的是路由器的储存空间毕竟是有限的,如果接受的数据包过多,堆积满缓存空间之后,之后传输过来的数据就会丢失。

2.2 网络资源队列管理策略

构建了先到先服务原则之后,接下来应该对网络资源的队列策略进行规定。一般可以分为公平排队和在其基础上建立起来的加权公平排队。基于先进先出原则,对最先到达并且存储在缓存空间中的数据包展开服务,随后就是利用加权公平排队的调控器循环服务于各项数据包,并一直重复这种服务,直到循环停止。

能够在一定的时间之内,收到符合要求数量的服务是加权公平排队最大的优点。也就是说在其控制下,保证在一定的时间之内,分配权值的某个类能够得到符合要求数量的服务。包括网络吞吐量等都可以用其来控制。另一个关键的控制是对于平均队列长度和数据丢失率的监控。相关研究表明,对一个传递过来的数据包进行处理的时候,对处于队列中的数据进行长度监控,观测其长度和设定的判别阈值的大小关系。如果队列长度小于设立的最小判定阈值,那么对其直接放进队伍,进行传输服务;如果是处于最小阈值和最大阈值之间,则需要监控计算该数据包的丢失率,随后依据计算得来的丢失率判断是否对该数据进行丢弃处理。如果队列长度大于设立的最大阈值,那么应该直接将数据丢弃,不进行数据传输。这样一来,依靠只能判断,就高效地完成了计算机网络拥塞的控制。

3 计算机网络拥塞高效控制机制的评价

完成了拥塞控制方法的设计之后,需要对设计的机制进行评价。依照评价计算机服务质量的指标:吞吐率、数据包丢失率、时间延迟等,但是因为计算机一旦出现拥塞现象,将会影响整个网络的有效运行,所以应该选取能够反映整个网络性能的量,常用的就是数据丢失率以及网络资源的分配效率。

前者表征了拥塞控制机制保证网络数据信息完整传输的能力,从最基本的数据信息层面上保证了网络的健康。而后者表征建立的高效拥塞控制机制在解决了一些问题之后,优化网络的能力大小。两者都可以通过相关的公式计算出来。

评价应设立一个调节系数,如果重视的是网络的吞吐率,则调节系数要大于1,如果重视的是响应时间的控制,调节系数要小于1。通过相关仿真实验可以看出,新的拥塞控制机制丢包率仅为8%,远远低于传统机制的37%,无论是响应时间还是网络资源的分配效率,都远远优于传统控制机制。

综上所述,改进之后的拥塞控制机制以传输控制层网络拥塞机制为基础,配制网络资源队列管理策略,能够很好的解决网络拥塞问题。根据仿真实验可以看出,改进之后的各项评价指标都优于传统机制,不仅解决了计算机网络拥塞问题,还提高了其服务质量。

参考文献:

[1]周敏,陈前斌,唐伦等.基于RTT相位图的TCP拥塞控制[J].重庆邮电大学学报(自然科学版),2009,21(5): 638-641.

[2]董洪灿,刘涛,芦静蓉等.复杂计算机网络中拥塞控制的研究及若干新思路[J].信息技术,2007,31(7):12-15,19.

[3]杜佳.计算机网络拥塞模型及控制方法的研究[J].硅谷,2010,(16):105.

网络拥塞解决 篇3

近年来,伴随技术的不断进步,视频监控系统在人们日常生活中的应用越来越广泛。当前,视频监控系统正朝着数字化、智能化方向发展,为用户提供一个全面智能的安全防护解决方案尤为必要。各种报警传感器和智能网络摄像机地诞生为视频监控系统的发展提供了基本保障。然而,这些设备大多是通过网络进行数据传输,现有的网络体系结构只能提供尽力而为的传输服务,缺乏服务质量保障,这对网络带宽需求量最大的视频流传输产生了严重影响。如何在网络环境下为大量的视频流传输提供可靠保证,已成为网络视频研究的热点问题。

1视频监控系统网络拥塞控制解决方案

本文提出的针对视频监控系统的网络拥塞解决方案设计如图1所示。视频监控系统主要由服务端和客户端两部分组成。

服务端通过视频信息采集模块,读取来自视频源的信息。读入视频信息后,由视频解码模块负责对视频信息作分析处理,将原始视频数据转换成可以重新编码的视频信息。随后根据网络拥塞控制模块制定的相关编码参数,进行视频编码工作,生成适合于网络传输的视频数据,根据RTP协议格式要求把这些视频数据连续发送给客户端。传输过程中的差错控制、传输速率控制由网络拥塞处理模块来实现。

客户端在接收到数据包信息后,将它们加入到一个缓冲区中,再调用解码库进行解码。解码后获得的视频信息通过视频分析处理模块进行移动侦测、人脸识别等图像分析工作后,再显示给用户观看或者保存起来。

客户端QoS监视模块采集到的网络信息,如包的丢失率、包 延时时间 及环路时 间等,经处理计 算后,根据RTCP协议格式要求传送给服务端,由服务端的网络拥塞处理模块对这些信息进行处理、分析,进而保障服务端视频编码及数据传输的正常进行。实现视频流自适应控制传输,为用户提供一个可靠、稳定、良好的视频观看环境。

2网络拥塞控制模块

发送端的网络拥塞控制模块主要依照TFEC模型来设计,其工作原理如图2所示。TFRC的稳态速率计算公式为:

其中,s代表TCP报文大小,单位是字节;p代表丢失事件率,t0代表数据报文的超时时间,tRTT为数据报文的环路时间,b为一个应答所接收到的报文数数目(b规定为1)。通过式(1)就可以计算出一个传输数据流的稳态发送速率B(p)。

发送端在准备需要发送的视频信息后,将这些视频信息按RTP协议要求打包,添加时间戳、状态值,发送序号等一些网络信息,接收端在 收到这些 视频信息 数据包后,除了解码恢复出图像信息外,还要提取出时间戳等信息,采用反馈控制法计算出包丢失率、环路时间、瓶颈带宽等信息。这些网络状况信息交给接收端的网络状况反馈模块,按照RTCP协议的要求打包传输给发送端。发送端根据这些反馈信息,依照网络拥塞自适应控制模型,计算出当前的网络带宽,制定平滑的网络数据传输速率调整方案,进行视频编码的相关参数调整,力求保证视频服务质量。

2.1视频编码调整

视频编码调整的目的在于降低编码码率或是调整帧速,以适应当前网络带宽。本视频监控系统采用H.263+和MJPEG4两种编码标准。它们比较适合于局域网内的视频传输。

2.2发送速率调整

发送端自适应控制模块根据网络拥塞控制模块提供的网络状况信息,将发送速率逐步地调整到期望速率,力求和实际网络带宽相匹配,保障视频流网络传输的正常进行。该过程是一个渐进过程,数据发送率不能发生大的跳变,否则对接收端的观看效果影响很大。

(1)客户端瓶颈带宽计算。如图3所示,发送端在时间点为tTimestamp时向接收端发送了一个数据包,随后在收到N个含有时间戳tTimestamp的数据包后,使用式(3)来计算瓶颈带宽。

其中,BnBw为网络瓶颈带宽值,Packet[i]为第i个数据包的大小,单位为Byte,tTimestamp为数据包发送时间戳,tRecv_ClientN 为接收到第N个数据包的时间,tRecv_Client1为接收到第一个数据包的时间。

使用式(2)计算出网络的瓶颈带宽BnBw可用作数据发送速 率的上限 值。以BnBw作为一个 上限值,和TFRC算法计算出的带宽值一起帮助制定发送速率,可以有效避免发送速率调整波动过大。

(2)数据发送速率制定。由TFRC稳态速率公式(式1)可知,稳态发送速率B(p)是伴随丢失事件率等参数的变化而改变的。但是拥塞控制模型并不是直接将B(p)值用以调整数据的发送速率。事实上,发送速率的调整应当是一个缓慢变化的过程,这样可以避免引起大波动,影响到接收端视频观看的效果。数据发送速率可参照式(3)(6)制定:

其中,B(p)为TFRC稳态速率计算公式中计算得出的网络带宽,Sendrate为数据的发送速率,PreSendrate为前一次的数据发送速率,BnBw为根据客户端反馈计算得出的网络瓶颈带宽。参照TFRC模型,网络视频流的传输既能保证与TCP流的友好,又可以使数据传输速率较为平滑,为网络视频数据流的传输提供了良好保证。

3客户端缓冲

数据从发送端到达接收端的过程中会遇到很多突发情况,虽然RTP协议为RTCP协议提供了一定的服务质量保证,但是包丢失和包失序的情况不可能消除,所以接收端必须有相应的一些策略来对丢失和包失序进行处理。本文设计的视频监控系统解决该问题的做法是在数据被提交给上层处理之前,利用RTP数据包头信息中的序列号对数据包进行重排,为此,在期望的数据包到达接收端之前,接收端将非期望数据包暂时保存于一个缓冲区中,然后不断进行检测,一旦需要的包全部到齐,则按顺序提交给上层处理。对于缓冲区的使用,系统要面对的主要有两个问题:缓冲区容量和缓冲区管理策略。

3.1缓冲区容量

将当前送往上层处理的数据包的序列号记为Sp,当前接收到的数据包的序列号记为Se。在出现失序时,Se>Sp+1;只有在Se=Sp+1时,序列号等于Se的数据包才是上层期望得到的。如果在该序列号等于Se的数据包到达之前,就已经有N个包到达了接收端,那么缓冲区必须能够容纳下这N个包。假定每个数据包的平均长度是L,则要保存下这N个包所需的缓冲区的大小应该是N*L。缓冲区的实际大小记为Bs,很明显,Bs不能够仅仅是等于N*L,因为如果N很大,则N*L将趋近于无穷大(在包丢失的情况下,N实际上等于无穷大)。如何确定下一个适当的Bs值,对于接收端的观看效果影响是很大的。Bs值如果取得太小,则由于不同网路之间的延迟等情况而造成的迟到包不能被保存下来,这会导致大量的数据包在接收端被丢弃掉。若Bs值太大,则计算机需要分配很大的缓冲区,造成资源浪费。况且Bs越大,声音和图像的延迟也会越大,并造成后面的数据包由于得不到及时处理而被丢弃。

3.2缓冲区容量调整算法

本文设计的视频监控系统采用一种反馈方式来动态调整缓冲区容量。该算法经实践检验,能有效地解决视频流在网络传输过程中的包失序现象。算法具体流程描述如下:

(1)首先设定两个参数值,缓冲区最大值Nmax,缓冲区最小值Nmin。

(2)缓冲区大小的初始值设定为n,且要求n= Nmin。

(3)如果连续3次因为缓冲区太小,后继到达的期望数据包被丢失,那么要求缓冲区增加一个单元(这里的单元含义是:根据所有数据分组而计算出来的平均长度),即n=n+l;如果n已经增加达到设定的最大值Nmax,则保持n= Nmax,不再增加。

(4)如果连续3次,期望数据包Se和当前正在处理的数据包之间的间隔(也称为Se的失序程度)都小于当前的缓冲区容量n,那么要求缓冲区容量减少掉一个单元,即n=n-1,;如果n减小到最小值Nmin,保持n=Nmin不再减少。

根据实际测试中的经验,通常Nmin值设定为2或3。Nmax 的值一般不能太大,设置为10左右比较合理,根据服务器的硬件配置可作适当调整。

接收端缓冲区可以被理解成一个拥有上限值和下限值的滑动窗口,按照当前网络状态的变化,该滑动窗口做自适应的放大、缩小。

4接收端图像分析处理

借助于数字视频处理等技术,视频监控系统的发展正朝着智能化方向发展,本文设计 的视频监 控系统借 助于OpenCV库,实现了对视频流的目标跟踪和人脸检测。

接收端启动后,若成功与发送端建立连接,将开启3个主要线程用于视频的接收、显示、图像分析、视频保存。

第一个线程,即数据接收线程。主要负责网络通信,在接收到发送端传来的数据后,这些数据将全部加入到缓冲区,随后按数据包序号有序地传送给图像解码/显示线程,同时还承担网络状况计算和反馈的功能。

第二个线程,即图像解码/显示线程。主要功能是对视频数据进行解码,得到可以用于编辑、显示的视频数据。若用户只要求观看发 送端传来 的原始视 频数据,图像解码/显示线程就可以直接满足其需要,另外一个图像处理线程将处于挂起状态,以节约计算机资源。

第三个线程,即图像处理线程。针对视频流进行图像分析,提供诸如人脸识别、目标跟踪等职能辅助功能,其核心是利用数字图 像分析技 术来对图 像进行分 析、处理,OpenCV是一个很好的开源视觉库,支持VC++,经常重新分装的OpenCV库页能支 持C# 等其它编 程语言。OpenCV自身就提供了丰富的图像处理函数,开发人员也可以根据自己的要求,自行开发新的功能。OpenCV具有通用的视频/图像载入、保存、获取模块,经OpenCV处理后的视频、图像可以按照多种编码格式保存。

5结语

本文关于视频监控系统的研究从搭建一个最简单的视频监控平台开始,最初的开发目标只要求能满足同时接收多路摄像机视频流,并显示给用户观看即可。随着开发的逐步深入,整个系统功能得到了极大扩展,成为一个稳定、可靠、功能较为齐全的视频监控平台。在开发过程也遇到了各种困难,经过大量的尝试和失败后,最终找到了问题的解决办法,如程序中拥有10个线程导致CPU占用率高达90%,而且线程间经常出现不同步现象等。伴随着线程池等技术的应用,程序CPU占用率过高的问题得到了解决,线程池技术 对多线程 的管理也 起到了积 极作用。

参考文献

[1]黎洪松.数字视频技术及其应用[M].北京:清华大学出版社,1997.

[2]袁野.基于嵌入式技术的网络视频监控系统[J].通讯世界,2002(4):62-63.

[3]SIMON ROBINSON,CHRISTIAN NAGEL.C#高级编程[M].第3版.北京:清华大学出版社,2005.

[4]刘富强.数字视频监控系统开发及应用[M].北京:机械工业出版社,2003.

网络拥塞控制算法研究综述 篇4

近二十年来, 计算机网络经历了飞速的发展, 使得信息的交流变得方便和快捷, 然而由于网络数据流量的激增, 拥塞问题随之而产生, 且变得越来越严重, 己经成为制约网络发展和应用的一个瓶颈, 如何更好的预防和控制拥塞是近年来网络研究的热点问题之一[1,2]。产生网络拥塞的根本原因在于用户 (或叫端系统) 提供给网络的负载大于网络资源容量和处理能力, 表现为数据包延时增加、丢弃概率增大、上层应用系统性能下降。

1 TCP拥塞控制

据统计, Internet上的95%的数据流使用的是TCP协议, 因此TCP拥塞控制一直是网络拥塞控制研究的重点。

1.1 TCP Tahoe Tahoe是TCP的早期版本, 它包括了最基本的TCP拥塞控制算法, 由“慢启动”、“拥塞避免”和“快速重传”三部分组成。“快速重传”根据3个重复的确认分组来判断分组丢失的出现, 从而减少等待“重传时钟”超时的过程, 提高了分组的传输效率。除此之外, Tahoe对往返时间的计算也作了相应的改进, 以便更准确地设定超时重传的时间。

1.2 TCP Re no Re no在Tahoe的基础上增加了“快速恢复”算法来提高拥塞恢复的效率。当发送端收到一定数量的重复ACK之后, 即进入“快速恢复”阶段。源端在接收到足够多的重复的ACK之后, 用接着到来的重复ACK触发新数据分组的发送。只有在接收到新发分组的ACK后, 源端才退出“快速恢复”阶段。Reno的“快速恢复”优化了单个分组从数据窗口。

1.3 TCP Ne w-Re no Ne w-Re no对Re no算法作了一些小改进, 以消除有多个分组从同一数据窗口丢失时对重传定时器的等待。改进考虑到发送端在“快速恢复”阶段收到的“恢复ACK”是确认部分而不是全部出现在“快速恢复”阶段的分组。New-Reno直到所有在“快速恢复”阶段开始时出现的分组都被确认, 才会退出“快速恢复”。

1.4 TCP SACK Sack算法也是对Re no的改进, 当检测到拥塞后, 不用重传数据包丢失到检测到丢失时发送的全部数据包, 而是对这些数据包进行有选择的确认和重传, 从而避免不必要的重传, 减少时延, 提高网络吞吐量。由于使用选择重传, 所以在一个窗口中数据包多包丢失的情况下, Sack性能优于New-Reno。但是Sack的主要缺点是要修改接收端TCP。

1.5 TCP Ve gas Ve gas对Re no进行了三项改进:首先采用新的重传触发机制, 即只要收到一个重复的ACK就断定超时, 以便及时检测到拥塞;而在慢启动阶段则采用了更加谨慎的方式来增加拥塞窗口cwnd, 以减少不必要的分组丢失;改进“拥塞避免”阶段的窗口调整算法, 通过观察以前的TCP连接中RTT值改变情况来控制cw nd, 当RTT变大时就认为发生拥塞, 开始减小cw nd, 如果RTT变小, 就增加cwnd, 解除拥塞, 理想情况下cwnd就会稳定在一个合适的值上。这样使拥塞机制的触发不再依靠包的具体传输时延, 而只与RTT的改变有关。

2 IP拥塞控制

在互联网这样的复杂系统中, 不能指望所有用户在其应用中兼容端到端的TCP拥塞控制机制, 网络也需要参与资源的控制工作。因此, 需要采用路由器的拥塞控制方法, 即IP拥塞控制。

2.1先进先出 (Firs t In firs t Out, FIFO) FIFO是一种最简单的调度算法, 又被称为“先到先服务”, 即第一个到达路由器的数据包首先被传输, 接着到达的数据分组在路由器中排队, 等待输出, 如果包到达时缓存己满, 那么路由器就不得不丢弃该包。这种方法的优点是实施简单, 但没有考虑被丢弃包的重要程度。由于FIFO总是丢弃到达队尾的包, 所以又称为“去尾” (drop tail) 算法。但“去尾”和FIFO是两个不同的概念。FIFO是一种包调度策略, 决定包传送的顺序;“去尾”是一种丢弃策略, 决定哪些包被丢弃。

2.2随机早期检测 (Random Early De te ction, RED) RED解决的问题主要包括: (1) 早期探测路由器可能发生的拥塞, 并通过随机丢弃或标记分组来通知源端采取措施避免可能发生的拥塞; (2) 公平地处理包括突发性、持久性和间隙性的各种TCP业务流; (3) 避免多个TCP连接由于队列溢出而造成同步进入“慢启动”状态; (4) 维持较小的队列长度, 在高吞吐量和低时延之间做出合理平衡。

2.3显式拥塞指示算法 (Explicit Conge s tion Notification, ECN) 在ECN算法中, 路由器采用RED算法管理缓冲区, 当平均队列长度处于两个阈值之间时, 路由器按照一定概率给报文设置CE使能位, 而不是简单地丢弃该报文。当下端路由器发生拥塞时, 首先选择有CE使能位的报文丢弃。ECN优势在于不需要重传超时, 有效地提高网络带宽的使用效率。

2.4公平排队算法 (Fair que uing, FQ) FQ算法是一种“轮询”调度算法。在FQ算法中, 路由器对每个输出线路有一个排队队列, 路由器按“轮询”方式处理包。当一条线路闲时, 路由器就来回扫描所有队列, 依次将每队第一个包发出。当某个流的数据包到达过快时, 其队列就会很快占满, 属于这个流的新到的包就会被丢弃。采用这种方式, 每个数据流就不可能牺牲其它数据流而多占资源。

2.5加权公平排队算 (We ighte d Fair que uing, WFQ) WFQ是FQ的改进算法。对每个流 (排队) 分配一个权值。这个权值决定了路由器每次发往该队列的比特数量, 从而控制数据流得到的带宽。WFQ中权值可以由路由器自己决定, 也可以由源端通过某种信令通知路由器来决定。总之, WFQ根据不同数据流应用的不同带宽要求, 对每个排队队列采用加权方法分配缓存资源, 从而增加了FQ对不同应用的适应性。

3 TCP与IP拥塞控制比较

显然TCP基于窗口的端到端拥塞控制, 本质上是一种基于信源的控制策略。它有明显的不足: (1) 在感知到拥塞到采取控制行动之间存在着显著的时延; (2) 信源可能不按照网络的指令操作; (3) 某些策略中反馈需要在网络中增加额外的分组。基于IP的拥塞控制策略实施在网络层, 不必依赖信源来均匀地分配资源, 所以不存在以上那些问题。基于IP的拥塞控制策略是公平的, 基于IP控制的主要问题在于增加共享资源 (主要是路由器) 的复杂性。事实上, 很多策略的复杂性是与共享路由器的信源数成正比的, 当网络的链路速率增加时信源数量也随之增加。

4总结

从以上的TCP和IP拥塞控制中典型算法的分析介绍中不难看出, 这些算法虽然在以往算法的基础上进行了改进, 系统性能有所改善, 但其自身几乎都存在着这样或那样的问题。其直接原因就是这些算法的设计都是针对局部的某一具体问题进行, 依靠直觉的推断, 根据经验改进算法, 缺乏一套有效的系统的理论分析工具对算法的设计进行指导。控制理论作为一门相当成熟的系统理论, 有相当多的方法可以借鉴到拥塞控制中来。近来, 国内外的很多专家学者都认识到了可以应用控制理论的方法来解决Internet中的拥塞控制问题, 并进行了一些尝试工作[3]。然而, 由于Internet本身是一个复杂的巨系统, 而且其中的各种不同控制策略之间也会互相影响, 使得对网络稳定性和动态性能的分析更加困难, 因而这方面的研究还不成熟, 所以, 如何有效的将控制理论的思想运用于日趋复杂的Internet中, 来指导目前单纯根据经验来改进算法的不足, 将是一个未来研究的热点问题, 也是一个难点问题。

摘要:在本文中, 作者着重阐述了TCP拥塞控制和IP拥塞控制中的典型算法以及目前一些较有影响的拥塞控制算法, 分析了当前拥塞控制算法设计过程中存在的不足, 并给出了一个有意义的研究方向。

关键词:TCP拥塞控制,IP拥塞控制,控制理论

参考文献

[1]汪小帆, 孙金生, 王执铨.控制理论在Internet拥塞控制中的应用.控制与决策.2002, 2 (17) :129-134.

[2]熊辉, 王耀青.控制理论在网络拥塞研究中的应用及若干新思路.武汉科技大学学报 (自然科学版) .2002, 1 (25) :68-72.

网络拥塞控制策略的研究 篇5

1 TCP的拥塞控制

为了更好地在运输层进行拥塞控制, 1999年公布的因特网建议标准定义了以下四种算法, 即慢开始、拥塞避免、快重传和快恢复。

1.1 慢开始和拥塞避免

慢开始算法原理:先设cwnd=1, 发送第一个抱文M0, 接收端收到后发回ACK1。发送端收到ACK1后, 将cwnd从1增大到2, 于是发送端每收到一个ACK, 就使发送端的cwnd加1。

其中:ACK-确认号;

C w nd-拥塞窗口, 是来自发送端的流量控制;

R w nd-接受端窗口, 是来自接收端的流量控制;

TCP采用大小可变的滑动窗口进行流量控制, 即:

实际流量=滑动窗口的上限值=min (r w n d, c w n d) 。

慢开始算法使发送端在开始发送时向网络注入的分组数大大减少, 这对防止网络出现拥塞是个非常有力的措施。

由于慢开始算法的“慢”指的是开始时的分组数发送的少, 但发送分组的增长速率并不慢。为了防止拥塞窗口cwnd的增长引起网络拥塞, 还需要另一个状态变量, 即慢开始门限ssthresh。用法如下:

当cwnd

当cwnd>ssthresh时, 改用拥塞避免算法;

当cwnd=ssthresh时, 既可使用慢开始算法, 也可使用拥塞避免算法。

拥塞避免算法是使发送端的cwnd每经过一个往返时延RTT就增加一个MSS的大小 (而不管在时间RTT内收到了几个ACK) 。这样, 拥塞窗口rwnd按线性规律缓慢增长, 比慢开始算法的增长速率慢得多。

“乘法减小”—只要出现一次超时, 就将ssthresh设置为当前拥塞窗口值乘以5.0。

“加法增大”—执行拥塞避免算法后, 当收到所有发出报文的确认就将cwnd增加一个MSS大小。

1.2 快重传和快恢复

快重传:发送端一连收到三个重复的ACK即断定分组丢失, 而不等到计时器超时才重传丢失的报文。

快恢复: (1) 当发送端连续收到三个重复的ACK时, 就按“乘法减小”重置ssthresh。 (2) 与慢开始不同之处是cwnd不是设置为1, 而是设为ssthresh+3*MSS。 (3) 若收到重复的ACK为n个 (n>3) , 则cwnd设为ssthr esh+n*MSS。 (4) 若滑动窗口值还允许发送报文段, 就执行拥塞避免算法。 (5) 若收到了确认新的报文段的ACK, 就将cwnd缩小到sst hres h。

2 IP的拥塞控制

TCP拥塞控制并没有和网络层采取的策略联系起来, 网络层的策略对TCP拥塞控制影响最大的就是路由器的数据报丢弃策略。目前, 常用的IP拥塞控制算法是随机早期检测 (RED) 方法。基本思想是按一定的概率丢弃路由器的数据包。

首先计算平均队列长度:

式中:avg_q为平均队列长度, w为权值, q为采样测量时实际队列长度。

计算丢弃包的概论:

min_th和max_th是二个和队列长度相关的阈值, count是上次丢弃分组后收到的分组个数, 当有包到达路由器时, RED计算出平均队列长avg_q, 若avg_qmax_th时, 所有包都被丢弃。

RED算法的有效性和可靠性取决于选择合适的配置参数, 而且丢包率又是平均队列长度avg_q的静态映射, 因此, 容易引起网络的不稳定, 当业务的突发度较强或流量抖动较大时, 并不能获得满意的吞吐性能。

3 智能拥塞控制算法

AQM作为端到端拥塞控制机制的一个改进, 通过有目的地丢弃路由器间的分组, 可维持较小的排队延迟和较高的吞吐量。主动队列管理算法的研究主要集中在2个方向: (1) 依赖于启发式的直觉思维, 针对局部个别问题的启发式算法设计方法, 典型的如Floyd等提出的随机早期检测RED算法以及RED的派生算法, 除此之外新的启发式AQM算法也不断涌现, 诸如BLUE, REM, GREEN, GKVQ等。 (2) 以随机过程、控制理论等系统理论作为算法分析和设计的依据。最具代表性的如Hollot等利用经典控制理论作为分析和设计的依据, 用频域分析的方法提出的比例积分 (PI) 控制算法, 以及Ren等为了克服PI控制器响应速度慢这一问题, 加入了微分环节, 提出具有快速响应的PID控制器。总结AQM中各种策略与算法的研究不难发现, 启发式的设计方法不免带有盲目性和片面性, 造成最终形成的算法不免存在各种意想不到的缺陷。

基于神经网络补偿器算法是一种通过“拥塞通知” (ECN) 标志TCP的AQM路由器自调节控制法, 该算法TCP和IP层的拥塞控制, 是一种智能控制算法。当队列长度高于上限时, 路由器中ECN置为1, 这样TCP源将缩小发送窗口大小以减小速率。相反, 当队列长度低于下限时, 路由器中的ECN置为0, TCP源扩大窗口大小以增大速率。结果是, 路由器中的队列长度将维持在区间[qmin, qmax]之间。当路由器的队列长度界于区间[qmin, qmax]时, 则关闭ECN标记, 自调节控制器计算丢弃并且丢弃或标志在路由器中的分组, 以使TCP源调节其发送速率, 从而是路由器的队列趋于期望值。

通过修改ECN可使路由器队列长度维持在[qmin, qmax], 从而降低了路由器队列的抖动, 提高了控制系统的瞬变性能。自调节控制器使瞬时队列长度趋向于设定的队长, 进一步增强了稳定性。

4 结语

本文对TCP拥塞控制算法, IP拥塞控制以及结合二者的智能控制算法进行了描述。随着计算机通信网络的理论的不断完善, 计算机网络性能分析和控制理论、神经网络、人工智能、专家系统等技术进一步进行交叉和有机结合将成为拥塞控制的发展趋势和研究的新方向。

摘要:对网络拥塞控制的研究具有重要的理论意义和实际应用价值。人们提出了很多的拥塞控制方法和策略, 慢开始、快重传和快恢复算法等。而这些TCP拥塞控制算法都没有考虑到网络层采取的策略, 于是出现了随机早期丢弃 (RED) IP拥塞控制算法。随着智能控制路论与技术的发展, 也出现了许多智能算法, 取得了不少的进步。

关键词:网络拥塞,拥塞控制

参考文献

[1]谢希仁.计算机网络[M].电子工业出版社.

[2]李之芳.网络拥塞的原因分析及控制策略[J].经营管理者, 2010, 7.

IP网络综合拥塞分析方法 篇6

面对电信业由语音业务向数据业务进行战略性转变, 各运营商纷纷进行IP数据网络的建设。但是现有的IP网络在网络承载和业务运营上还存有不足, 各运营商对现有IP网是否能够承载各种电信级业务仍存有疑虑。主要表现在:

1) 运营商对于IP网络接入层、骨干层链路的通信质量和状况缺乏评估的手段;

2) 运营商对客户尤其是大客户的服务等级缺乏评估、保障和维护手段;

3) 运营商对IP承载网是否满足一些新业务的需求缺乏评估手段。

另外, 监管部门对IP网间互联互通链路的通信质量也缺乏监管手段。

根据IETF的RFC2330的建议, IP网络性能指标如下:

IP连接性:即IP网络的可用性

IP包传输时延:包括单向时延、双向时延

IP包丢失率:包括单向丢包率和双向丢包率

IP包时延变化:即最大时延和最小时延的差值

流量参数:即可用带宽

目前, 现有的IP网络性能测试仪表和IP网络性能测试系统大多实现了双向时延、单/双向丢包率、时延变化的测量。但支持综合拥塞分析的设备很少, 本文主要阐述基于时延、丢包率的网络综合拥塞分析技术。

可行的分析手段。

1 综合拥塞分析

IP网络性能的测量指标主要包括单/双向时延、单/双向丢包率、时延抖动、可用带宽等。从指标上来看比较简单也相互独立, 如果仅仅独立的分析各个指标可能会丢失一些潜在的网络性能信息。因此, 需要对这些指标的综合分析发现一些隐含的网络性能特性。

对时延和丢包率做相关性分析后发现, 通过分析丢包率和时延的关联曲线可以分析瓶颈路由器的丢包情况, 如图1所示。

丢包率和时延之间的关联有重要意义:分析丢包率处于较高水平时时延的值, 据此可以判断是由于何种原因导致丢包:

如果时延值不高, 但是丢包率较高>L0, 说明瓶颈链路缓冲区的大小不足, 造成丢包;

如果丢包>L0时, 时延也较高>R0, 说明的确是网络拥塞, 属于正常情况;

如果时延>4R0并且丢包率>L1, 此时可能是由于网络路由发生切换造成的;

如果仅仅是时延>R0, 此时已经不适合传送话音数据了。

L0、L1、R0的取值主要取决于不同厂家的路由器以及路由器本身的配置情况, 根据一些工程上的实际测试得到一些经验数据是:R0为100~500ms、丢包率L0为1%~5%、L1为10%~30%。

2 结束语

通过本文介绍的几项关键技术, 可以解决IP网络单向时延、可用带宽的精确测量问题, 并为IP网络的拥塞分析提供了一种实际

摘要:本文重点阐释了IP网络性能测试的重要性, 并对IP网络性能测试的主要指标、关键技术进行阐释。

关键词:IP网络性能测试,主要指标,关键技术

参考文献

[1]IETF.RFC2330

[2]专利.申请号200510075342.0

[3]专利.申请号200510130143.5

网络拥塞解决 篇7

关键词:网络拥塞,拥塞控制,技术分析

拥塞, 指的是当通信子网中有太多的分组时, 网络性能降低的一种情况。拥塞的本质是:对资源的需求大于可用资源。拥塞的出现表示荷载超过了资源的承受能力。拥塞是一种持续过载的网络状态, 此时用户对网络资源 (包括链路带宽、存储空间和处理器处理能力等) 的需求超过了固有的容量。就Internet的体系结构而言, 拥塞的发生是其固有的属性。因为在事先没有任何协商和请求许可机制的资源共享网络中, 几个IP分组同时到达路由器, 并期望经同一个输出端口转发的可能性是存在的, 显然, 不是所有分组可以同时接受处理, 必须有一个服务顺序, 中间节点上的缓存为等候服务的分组提供一定保护。然而, 如果此状况具有一定的持续性, 当缓存空间被耗尽时, 路由器只有丢弃分组。在这种持续过载的状态下, 网络性能会急剧下降。

1 出现拥塞的原因

拥塞产生的原因有很多, 其主要原因是通信量往往是突发的。还有就是多个输入对应一个输出;慢速处理器;低带宽线路。引起网络拥塞的原因还是由网络各部分的速率、带宽、容量、分组数量等不匹配所造成的。拥塞产生与以下因素有关:1) 网络带宽不足;2) 存储空间不够;3) 处理器处理能力弱。但单一的增加带宽, 扩大存储空间和提高处理能力, 并不能解决拥塞问题相反可能会出现更严重的拥塞, 所以在网络中要进行必要的拥塞控制。根据拥塞控制在网络层中的位置, 将拥塞控制分为两类, 一类是基于源端的TCP拥塞控制;另一类是基于网络IP拥塞控制 (主要在路由器中) 。随着如图像, 语音等多媒体流的大量涌现, 基于源端的TCP拥塞控制已显得力不从心, 那么网络本身也有必要参与到拥塞控制中来。因此, 近年来将基于源端的TCP拥塞控制和基于网络的拥塞避免机制结合起来成为解决拥塞的主要途径之一。

拥塞常常使问题趋于恶化。如果一个路由器没有足够的缓冲区, 它就会丢失一些新到的分组, 但当分组被丢弃时, 发送这一分组的相邻路由起就会重新发这一分组, 可能还要重发多次。发送端在未收到确认之前必须保留所发分组的副本以便重发。可见在接收端发生的拥塞会引发发送端缓冲区的拥塞。从用户需求的角度来说, 网络必须为所有用户的请求提供服务, 然而用户的需求在传输起始时间、需求速率、持续时间上变化很大, 在很多情况下还是突发的。从网络提供资源的角度来说, 任何网络物理资源都有固定的上限能力。因此, 用有限的资源去适应波动很大的用户需求, 一定会出现网络资源不能满足用户的需求的时候, 此时就必须使用拥塞控制来管理用户流量对瓶颈资源的共享。网络中的拥塞来源于网络资源和网络流量分布的不均衡性。拥塞不会随着网络处理能力的提高而消除。拥塞控制算法的分布性、网络的复杂性和对拥塞控制算法的性能要求又使拥塞控制算法的设计具有很高的难度。

其解决的办法有:针对某个因素的解决方案, 只能对提高网络性能起到一点点好处, 甚至可能仅仅是转移了影响性能的瓶颈;需要全面考虑各个因素。显然的两种克服方法:增加资源和降低负荷。管理 (尽可能避免) 拥塞的方法:主机能以一个恒定的速率发送信息;通信量整形 (强迫分组以某种更有预见性的速率传送) 。网络拥塞 (Congestion) 指的是在包交换网络中由于传送的包数目太多, 而存贮转发节点的资源有限而造成网络传输性能下降的情况。拥塞的一种极端情况是死锁 (Deadlock) , 退出死锁往往需要网络复位操作。

2 拥塞控制方法

2.1 缓冲区预分配法

该法用于虚电路分组交换网中。在建立虚电路时, 让呼叫请求分组途经的节点为虚电路预先分配一个或多个数据缓冲区。若某个节点缓冲器已被占满, 则呼叫请求分组另择路由, 或者返回一个“忙”信号给呼叫者。这样, 通过途经的各节点为每条虚电路开设的永久性缓冲区 (直到虚电路拆除) , 就总能有空间来接纳并转送经过的分组。此时的分组交换跟电路交换很相似。当节点收到一个分组并将它转发出去之后, 该节点向发送节点返回一个确认信息。这种控制方法主要用于要求高带宽和低延迟的场合, 例如传送数字化语音信息的虚电路。

2.2 分组丢弃法

该法不必预先保留缓冲区, 当缓冲区占满时, 将到来的分组丢弃。若通信子网提供的是数据报服务, 则用分组丢弃法来防止拥塞发生不会引起大的影响。但若通信子网提供的是虚电路服务, 则必须在某处保存被丢弃分组的备份, 以便拥塞解决后能重新传送。有两种解决被丢弃分组重发的方法, 一种是让发送被丢弃分组的节点超时, 并重新发送分组直至分组被收到;另一种是让发送被丢弃分组的节点在尝试一定次数后放弃发送, 并迫使数据源节点超时而重新开始发送。

2.3 定额控制法

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

由于计算机网络是一个很复杂的系统, 因此, 可以从控制理论的角度来看拥塞控制问题。这样, 从大的方面看, 可以分为开环控制和闭环控制两种方法。开环控制方法就是在设计网络时事先将有关发生拥塞的因素考虑周到, 力求网络在工作时不产生拥塞。一旦整个系统运行起来, 就不再中途进行改正了。闭环控制是基于反馈环路的概念。

3 拥塞控制的意义

解决拥塞问题也有利于流量问题的解决。因为某些拥塞控制算法是向发送端发送控制报文, 并告诉发送端网络已出现拥塞, 必须放慢发送速率, 这点又和流量控制是很相似的。解决拥塞控制需要付出一定的代价。首先需要获得网络内部流量分布的信息, 在实施拥塞控制时, 还需要在结点之间交换信息和各种命令以便选择控制策略和实施控制。这样就产生了额外开销。拥塞控制有时需要将一些资源 (如缓冲器、带宽等) 分配给个别用户 (或一类用户) 单独使用, 这样就使得网络资源不能更好地实现共享。显然, 在设计拥塞控制策略时, 必须全面衡量得失。

下图是网络负载与吞吐量对拥塞的影响。图中的横坐标是网络负载, 代表单位时间内输入给网络的分组数目 (也称为输入负载) 。纵坐标是吞吐量, 代表单位时间内从网络输出的分组数目。具有理想拥塞控制的网络, 在吞吐量饱和之前, 网络吞吐量应等于网络负载, 故吞吐量曲线是45°斜线。但当网络负载超过某一限度时, 由于网络资源受限, 吞吐量不再增长而保持为水平线, 即吞吐量达到饱和。这就表明网络负载中有一部分损失掉了 (例如, 输入到网络的某些分组被某个结点丢弃了) 。虽然如此, 在这种理想的拥塞控制作用下, 网络的吞吐量仍然维持在其所能达到的最大值。

但是, 实际网络的情况不是这样。从上图可以看出, 随着网络负载的增大, 网络吞吐量的增长速率逐渐减小。当网络的吞吐量明显地小于理想的吞吐量时, 网络就进入了轻度拥塞的状态。更值得注意的是, 当网络的负载达到某一数值时, 网络的吞吐量反而随着负载的增大而下降, 这时网络就进入了拥塞状态。当网络负载继续增大到某一数值时, 网络的吞吐量就下降到零, 这时网络已无法工作, 出现所谓的死锁 (DeadLock) 。

加上合适的拥塞控制后, 网络就不易出现拥塞现象和死锁。即当网络负载较小时, 有拥塞控制的吞吐量反而比无拥塞控制时要小。在分组交换网络中, 网络性能恶化有时是由于网络资源白白地被浪费所造成的。最常被浪费的网络资源是通信信道容量和结点的存储空间。随着互联网的飞速发展, 其鲁棒性也越来越依赖于网络的拥塞控制, 单一的TCP拥塞控制机制尽管在网络的正常运行中发挥重要的作用, 但随着业务的膨胀和新应用的增加, 它已经不能胜任所有的拥塞控制任务, 必须采用多种策略, 从网络的各个部位、多角度全方位对拥塞加以控制, 才能保证网络正常、稳定地运行。

参考文献

[1]张璟, 等.计算机网络.西安:西安电子科技大学出版社, 2007.

[2]顾尚杰, 等.计算机通信基础.北京:电子工业出版社, 2004.

网络拥塞的几种处理方法 篇8

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

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

2 网络拥塞原因分析

2.1 存储空间限制

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

2.2 带宽容量限制

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

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.

上一篇:DCS测试下一篇:功率传输特性