基于网络的拥塞控制研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:fq8628
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着网络的发展,网络拥塞成为一个不可避免的问题,拥塞控制成为当前网络研究的热点,为了使网络更加通畅和充分被利用,人们提出了很多拥塞控制机制。该文着重阐述了了两种经典拥塞控制算法:TCP网络拥塞控制和IP网络拥塞控制,分析出它们的优缺点,并介绍了当前在网络拥塞控制方面的最新算法,为网络拥塞控制的研究提供了方向。
  关键词:TCP;IP;网络拥塞控制
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)07-1502-04
  The Research of Congestion Control on Internet
  CHEN Le-rui, KONG Jin-sheng
  (College of Electrical Engineering, Zhengzhou University , Zhengzhou 450000, China)
  Abstract: With the development of Internet, the network congestion become a inevitable problem and the network congestion control research come to hot. To make use of the Internet more smoothly and fully, scholars have proposed many methods. This paper focuses on two classic congestion control algorithms: TCP congestion Control and IP network congestion control, and also analyze their advantages and disadvantages. At last the paper describes the latest algorithms in this field and makes a direction for our research.
  Key words: TCP; IP; network congestion control
  在過去十几年间网络得到突飞猛进的发展,信息的传输和获取也越来越频繁和方便,但是伴随着网络数据流量的增加,产生了一个新的问题:网络拥塞问题。它的存在严重制约网络发展和应用,如何有效预防和控制网络拥塞是目前网络研究的热点问题[1][2]。
  所谓的网络拥塞指的是由于网络端提供的数据跟不上负载的增多而表现出数据包延迟增加、丢弃概率增大的现象,严重时会导致拥塞崩溃。
  图1负载与吞吐量和延迟之间的关系
  从图1中可以看出:在网络负载和吞吐量之间关系上,最重要的是膝点和崖点。膝点之前两者呈现线性关系,当越过膝点之后,随着负载的增加,吞吐量的增量比之前的阶段下降;当负载过了崖点,吞吐量却急剧下降。我们通常将膝点附近称为拥塞避免区;膝点和崖点之间称为拥塞恢复区;崖点之外是拥塞崩溃区。为了充分利用网络,网络的理想工作状态是轻度的拥塞状态,但是这也有可能导致状态崩溃。
  1拥塞发生的原因
  网络拥塞发生的原因可能是多方面的,但是网络资源的匮乏是造成拥塞的根本原因,也就是说用户负载大于网络资源的容量和处理能力。综合各方面网络拥塞产生的直接原因有:
  1)路由器的缓存不足。路由器缓存不足,会导致后到达的数据包被丢弃。所以在一定程度上增加缓存会缓解拥塞,但是缓存空间过大会进一步的加剧拥塞。
  2)带宽容量不足。如果链路没有足够的带宽,数据传输过程中会在网络低速链路就会形成带宽瓶颈,当其满足不了通过它的所有源端带宽要求时,网络就会发生拥塞。
  3)处理器处理速度慢,处理能力弱。如果路由器的CPU在执行排队缓存、更新路由表等操作时,处理速度跟不上高速链路,也会产生拥塞。
  2经典网络拥塞控制实现
  拥塞控制的目标是降低网路延迟和数据的丢包率,提高网络的吞吐量,保证数据传输的稳定性和鲁棒性。从拥塞控制的位置来讲,可以分为:源算法和链路算法。前者是指在主机和网络边缘设备中对数据流进行监测,来控制数据的发送速率,比如TCP算法;后者指的是在网络层(比如路由器和交换机)对数据流量进行控制,比如IP算法。
  2.1 TCP拥塞控制机制[3-4]
  事实上,网络中绝大部分数据流使用的是TCP协议。最初的TCP协议只有基于窗口的流控制而没有拥塞控制机制,它是一种局部控制机制,其参与者仅仅是发送方和接受方,它只考虑了接收端的接受能力,而忽视了网络的传输能力,而拥塞控制机制侧重于整体,是一种全局控制机制,能够有效控制拥塞崩溃现象的发生。1988年,Jacobson针对TCP在网络拥塞控制方面的不足,提出了“慢启动”(Slow Start)和“拥塞避免”(congestion Avoidance)算法。1990年新增了“快速重传”(Fast Retransm)和“快速恢复”(Fast Recovery)算法。
  TCP拥塞控制的四个主要过程[5]:
  慢启动阶段:如果一开始在不知道网络目前状况的情况下就发送大量的数据包,很容易造成网络不通畅和路由器的缓存耗尽,所以一开始只能试探性的逐步发送数据包,当有新的TCP连接时,拥塞窗口就初始化为一个数据包的大小,源端就按照拥塞窗口的大小进行发送数据包,每收到一个确认信号(ACK),拥塞窗口就增加一个数据包发送,如图2所示cwnd的量与回路响应时间呈指数增长。
  拥塞避免阶段:在这个阶段,TCP源端收到3个相同ACK,于是慢启动阈值(ssthresh)被设置为当前拥塞窗口的一半;如果超时,拥塞窗口被置1,如果cwnd>ssthresh,TCP就执行拥塞避免算法,cwnd在每收到一个ACK时只增加1/cwnd个数据包,这样在一个RRT内,cwnd将增加1,所以如图2所示在此阶段cwnd线性增长。
  快速重传:在前两个阶段,cwnd的增长使得负载逐步增大最终导致拥塞,数据包一旦丢失,发送发只能在超时之后才启动数据重发,这样数据的丢回不能真实的被反应,但是由于接收方能返回对相同数据的重复应答所以不用等待定时器超时,就能进行数据重传,大大节约的时间
  快速恢复:这个阶段是基于“管道”模型的“数据包守恒”的原则。即网络中能够传输数据包的总量是固定的,要想发送新的数据包,只有等到旧的数据包离开网络后。如果发送方收到一个重复的ACK,则认为已经有一个数据包离开网络,于是将拥塞窗口加1,如果数据包守恒原则能够得到严格遵守,那么网络中将有很少会发生拥塞。(如图3所示)
  图3快速重传和恢复
  2.2 TCP拥塞控制的改进
  由于网络的不断发展壮大,上述四种算法很难适应这种新的变化,因此我们要对其进行改进。
  2.2.1 TCP Tahoe
  Tahoe是TCP的早期版本,包括慢启动,拥塞避免和快速重传三部分。其中快速重传根据三个重复的确认分组来判断分组丢失的出现,从而减少等待重传超时的过程,大大提高了分组传输效率。
  2.2.2 TCP Reno
  TCP Reno在Tahoe的基础上加了快速重传算法来提高拥塞恢复效率,和后者相比,前者在快速重传后是把拥塞窗口减少原来的一半之后进入拥塞避免阶段,而并不将拥塞窗口减少到1MSS进入慢启动阶段。这是因为与发生超时时间不同,收到多余的ACK表明发送的其他包已经被接收方收到,两个端系统间仍有数据的流动,这个时候网络仍处于轻度拥塞。所以直接将拥塞窗口减少到原来的50%是不合适的。
  2.2.3 TCP New Reno
  TCP New Reno是对TCP Reno的改进,Reno虽然是对Tahoe的改进,但是它也有自身的缺点,当发生端检测到拥塞后,要重传的时全部数据包,而不是传出该传送的数据包。改进后的TCP New Reno利用一个ACK来确定部分发送窗口而不是全部,从而提高了网络性能。
  2.2.4 TCP Vegas
  TCP Sack算法是对Reno的改进,该算法是根据数据传输中的一个参数:往返时延(RTT)的大小改变情况来控制拥塞窗口的。当RTT变大,Vegas就认为网络产生的拥塞,就减少拥塞窗口的发送;反之,则增大拥塞窗口的发送。因此,拥塞控制机制的触发与包的具体时延无关,只和RTT的改变有关。在拥塞避免阶段,拥塞窗口的值由下列式子决定
  ;rtt是回路响应时间;base-rtt是观察到所有rtt的最小值;α和β是两个常数。
  2.3 IP拥塞控制机制
  TCP控制对网络的稳定性起到了关键性作用,但是随着网络的迅速发展,仅仅依靠端到端的拥塞控制是不够的。由于网络的复杂性,并不是所有用户在网络应用中兼容这种端到端的拥塞控制,所以要求网络也必须参与资源的控制工作。因此,需要采用路由器的拥塞控制方法,即IP拥塞控制。现在分析一下当前一些主流的IP拥塞控制算法。
  2.3.1随机早期检测(RED)
  RED算法是在1993年Floyd和Jacobson提出的,这种算法的思想是:通过监控路由器中的数据包队列长度,如果队列长度过长,那么就要按照一定的概率丢弃进入路由器的数据包,这样就可以及时的通知源端减小拥塞窗口的发送,从而减小进入网络的数据量。这就是当前集中研究的AQM策略。路由器要监控的数据包的平均队列长度为:
  Qavg←(1-wq)×Qavg+wq×q
  式中,wq为权值,q是采样测量时的队列长度。数据包按照一定概率P丢弃,P的计算公式为
  ×Pmax;Qmin≤Qe  其中,Qmax为最大阈值,Qmin是最小阈值,Pmax为最大丢弃概率
  该式子表明:如果平均队列在最大阈值和最小阈值之间,则以该概率丢弃,如果平均队列小于最小阈值,则该数据包直接进行排队,如果平均队列大于最大阈值,则该数据被直接丢弃掉。图4显示了平均队列长度和丢弃概率之间关系。
  2.3.2先进先出(FIFO)
  该算法是讲最先到达路由器的数据包被最先传输,但是路由器缓存是有限性决定缓存空间总会被消耗殆尽,此时路由器会丢弃该数据包。由于FIFO会丢弃最后到达路由器的数据包,故也称为“去尾算法”,但是这有一个缺点就是没有考虑被丢弃数据包的重要性
  2.3.3显示拥塞指示算法(ECN)
  在ECN算法中,路由器不是简单的丢弃该报文,而是按照一定的概率给报文设置CE使能位,当路由器发生拥塞时候有CE使能位的报表首先被丢弃。该算法的优势在于不需要重传超时,提高了带宽的使用率。
  2.3.4加权公平排队算法(WFQ)
  WFQ根据不同数据流对带宽所需求的不同,对每个排队队列采取加权方法分配缓存资源,通过对每个流所进行加权值的大小
  2.3.5公平排队算法(FQ)
  该算法中路由器按照“轮询”方式处理每个排在队列中的数据包。它来回扫描空闲线路上的所有队列,并依次发出每对的第一个包。若发现某个流的数据包到达过快时,其队列就会很快占满,那么将丢弃属于这个流的新到的包,这样就避免了数据流多占资源现象发生。
  3 TCP和IP拥塞控制比较
  以上是对TCP和IP拥塞控制中典型算法的分析,通过分析发现这样的算法虽然进行了改进,拥塞程度得到改善,但其自身也都存在各种缺陷,比如说TCP改进算法中的TCP Sack虽然性能优于NewReno但是它要修改接收端的TCP;Vegas不能保证在具有不同RTT的连接之间公平分配带宽。在IP控制上,FIFO算法不能提供强制数据流遵守拥塞控制的机制也不能区分不同的数据流等等这样的不足,这些问题产生的直接原因是这些算法的设计不是从全局考虑的。TCP控制是基于信源的控制策略,它的缺点在于从发现拥塞到采取措施之间存在很大的延迟;而基于IP的拥塞控制是在网络中实现的,可以及时感知拥塞并采取措施,延迟比较小;TCP具有较小RTT的连接和较大的发送窗口在拥塞发生时占有的带宽资源多,所以存在带宽资源的不公平,而IP控制中路由器通过对数据的排队,按照一定概率进行丢弃,实现了带宽的公平,但是IP控制问题在于使路由器变得复杂。
  4目前进行网络拥塞控制的算法
  目前,大多文献都运用控制理论去解决网络拥塞问题,在某种程度上讲能达到一定的效果如:基于PID的网络拥塞控制[6],基于主动队列管理算法[7][8][9],基于模糊理论网络拥塞控制[10]等。
  对于基于经典控制论和现代控制论的方法,比如PID控制,通过建立一个网络模型,根据控制目标,如稳定性、鲁棒性等进行控制器参数的整定,用控制理论方法进行设计,从而有效地控制或避免网络拥塞,提高网络的运行性能;另外,对于已知的模型,采用最优化方法,使数据的运行效率最优化,大幅度的提高了网络资源利用率。
  对基于智能控制理论的方法,例如基于禁忌遗传算法优化算法[11],该算法将禁忌搜索和遗传算法相结合,先用遗传算法进行全局的搜索,使得个体分布在解空间的大部分区域,待收敛到一定程度再用禁忌搜索算法对局部进行搜索,通过全局搜索为禁忌搜索算法构造邻域结构提供较好的初始解,从而延缓或者避免了早熟收敛的发生。对于其他智能控制比如基于T-S模糊控制理论的网络拥塞控制算法研究[10],模糊控制是一种基于规则的控制,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。运用具有并行处理在线学习功能的神经网络控制,可实时测量网络参数以调节其控制率,具有很强的自适应性。
  5研究方向
  在网络高速发展的今天,网络拥塞状况很严重,丢包率很高,由于传统的TCP和IP拥塞控制不能保证QOS,所以难以适应网络的普及和高速发展。在总的资源不变的情况下,为了保证网络的畅通,我们不能片面的从源头或者从网络中间点出发,而是要将两者结合起来采取一定的策略。特别是控制理论这门学科的发展,给网络拥塞新算法的提出奠定了基础,如何运用控制理论的思想特别是将控制理论知识和优化的思想结合在一起,建立模型和目标函数,提出约束条件,然后用仿真软件进行仿真加以证明是当前和今后的一个研究热点。
  参考文献:
  [1]汪小帆,孙金生,王执铨.控制理论在Internet拥塞控制中的应用[J].控制与决策,2002,2(17):129-134
  [2]熊辉,王耀青.控制理论在网络拥塞研究中的应用及若干新思路[J].武汉科技大学学报,2002,1(25):68-72.
  [3] Fall K,Floyd S.Simulation based comparisons of Tahoe,Reno,and SACK TCP[C]//Proc IEEE IN FOCOM 2000,Telaviv,Israel,CA:IEEE Computer Society,2000.
  [4] Stevens W.TCP slow start,congestion avoidance,fast retransmit,and fast recovery algorithms[M].RFC 2001,1997.
  [5]姚丽君,孔金生.网络拥塞控制算法研究综述[J].中小企业管理与科技:上旬刊,2009(1).
  [6]陈金华,孔金生.智能PID拥塞控制算法[J].吉林大学学报,2004(4).
  [7]汪浩,严伟.典型AQM算法的性能评价模型[J].计算机学报,2006(4).
  [8]李新国.基于拥塞控制的AQM算法研究[J].计算机技术发展,2007,6(8):199-202.
  [9]邵永刚.基于主动队列管理的网络拥塞控制算法研究[D].郑州:郑州大学,2010.
  [10]李彬.基于T-S模糊控制理论的网络拥塞控制算法研究[D].南京:南京理工大学,2010
  [11]赵静,孔金生.基于禁忌遗传优化的网络拥塞控制算法[J].计算机工程,2010,36(24):79-80.
其他文献
目的:研究微量注射泵在小儿手术中的应用及干预措施。方法:选取本院儿科手术患儿800例作为研究对象进行回顾性分析,参与研究的患儿依据手术需要在手术中均应用了微量注射泵进
目前,我国中小企业在国民经济中发挥着举足轻重的作用。随着科技的飞速发展,信息化管理手段,成为增强企业竞争力的必经之路;企业信息化管理水平的高低很重要的一点是看企业会
家庭暴力一直是社会关注的重要问题,因为它不仅仅是一个社会问题,而且也是一个重大的政治和法律问题。同时,家庭暴力不仅仅是单纯的暴力犯罪,它总是和社会的传统文化、家庭的
为了更好的解决校内电子资源远程访问和管理的问题,文章通过SSL VPN原理和关键技术的分析,结合南京财经大学校园网的实际应用方案阐述了SSL VPN在远程访问数据的优势。 In o
一、初中政治学科核心素养的内涵概述 初中政治学科核心素养的目标是培养完善人格,践行社会主义核心价值观,从更好的角度上关注社会、人生,促进思考兴趣与品质的提高,培养公
新疆茶文化与丝绸之路的传播源远流长,形成了新疆各民族独具特色的茶文化。了解探寻新疆茶文化过程中对新疆茶具的渊源又有了新的认识。历代草原民族豪放的生活让新疆茶文化
目的 探讨颈动脉彩色超声多谱勒对血管性帕金森综合征和帕金森病的鉴别诊断价值和临床意义。方法 血管性 帕金森综合征29例,帕金森病30例均行颈动脉彩色超声多谱勒检查,以颈