首页> 中国专利> 一种应用于互联网的网络拥塞控制系统及方法

一种应用于互联网的网络拥塞控制系统及方法

摘要

本发明公开一种应用于互联网的网络拥塞控制系统及方法。系统包括发送流控装置,中间路由拥塞反馈装置,路由缓存装置,接收应答装置;系统使用的方法由中间路由的反馈策略和发送端的发送速率调节策略组成,在网络中由发送端,中间路由和接收端的传输层协议以及下层的网络协议和通讯硬件实现。中间路由根据给出的反馈算法通过数据的输入速率计算反馈量,将反馈量转化为标记概率,标记所经过的数据包。数据包的标记经接收端复制到应答包ACK上转发给发送端。发送端再根据给出的调节算法由反馈量调节发送速率大小,通过定时器触发平滑数据流。数据流稳定后发送端的发送速率矢量将会最大化所引入的公平性指标,实现数据流之间的全局公平性。

著录项

  • 公开/公告号CN101166140A

    专利类型发明专利

  • 公开/公告日2008-04-23

    原文格式PDF

  • 申请/专利权人 中国科学院自动化研究所;

    申请/专利号CN200610113821.1

  • 发明设计人 刘伟荣;易建强;赵冬斌;

    申请日2006-10-18

  • 分类号H04L12/56(20060101);H04L29/06(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人周国城

  • 地址 100080 北京市海淀区中关村东路95号

  • 入库时间 2023-12-17 19:58:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-09

    未缴年费专利权终止 IPC(主分类):H04L12/56 授权公告日:20100210 终止日期:20171018 申请日:20061018

    专利权的终止

  • 2010-02-10

    授权

    授权

  • 2008-06-18

    实质审查的生效

    实质审查的生效

  • 2008-04-23

    公开

    公开

说明书

技术领域

本发明属于信息技术领域,涉及互联网协议发展和拥塞控制技术。

背景技术

目前,在互联网上现实的网络拥塞控制大多采用基于窗口的拥塞控制技术,如应用广泛的网络传输层协议TCP(Transmission ControlProtocol传输控制协议)及其若干变种如scalable TCP(可扩展TCP),High Speed TCP(高速TCP)等。这种控制方式使用拥塞窗口来调节端节点发送的流量,根据丢包率来调整拥塞窗口的大小。该方式的特性在于将包的中间传输过程看成是一个“黑箱”,主要利用端信息来进行拥塞控制。

该种拥塞控制机制曾对互联网的平稳运行和拥塞避免起过很大的作用。但随着互联网规模的扩大和新网络特性的出现,这种拥塞控制方法出现了一些问题。一个比较重要的方面是当网络规模扩大和网络应用增加时,类TCP协议的公平性会变差,路径比较长或延时比较大的TCP流会受到短时TCP流的挤压而无法平等地竞争网络带宽;另一个重要的方面在于随着无线网络对互联网的扩展,将数据包在网络的中间传递过程看做“黑箱”的方式将会降低端节点的数据发送效率。因为在传统的类TCP算法中,端节点无法有效地区分无线链路丢包和拥塞丢包,从而引发不必要的拥塞操作。

发明内容

现有技术端节点无法有效地区分无线链路丢包和拥塞丢包,从而引发不必要的拥塞操作,为了解决现有技术的问题,本发明基于流的拥塞控制方法,产生的数据流比基于窗口的数据流有更好的平稳性,为此,本发明提供一种平滑的具有全局公平性的、应用于互联网的网络拥塞控制系统及方法。

为了实现本发明的目的,本发明的一方面,提供一种平滑的具有全局公平性的、应用于互联网的网络拥塞控制系统,包括:

发送流控装置,该装置处理来自于接收应答装置转发来的网络拥塞反馈信息,统计并估计网络的拥塞情况,根据网络拥塞情况确定发送数据包的发送速率,并通过定时单元产生平滑数据流;

与发送流控装置连接的中间路由拥塞反馈装置,用于统计各个发送流控装置数据包发送速率的总平均速率、得到量化的网络拥塞程度,根据拥塞程度计算反馈量、再由反馈量给出标记概率、标记包,并转发;

与中间路由拥塞反馈装置连接的路由缓存装置,用于接收发送流控装置发来的数据包,按照FIFO先入先出的顺序缓存在自身的存储器中,这些数据包将接收中间路由拥塞反馈装置的标记,并提供给中间路由拥塞反馈装置转发到网络中;

与路由缓存装置连接的接收应答装置,用于接收在路由缓存装置中标记过的标记包,并将此标记包中的标记以应答包ACK的形式传回给发送流控装置,以提供给发送流控装置作为调节发送速率的依据。

为了实现本发明的目的,本发明的另一方面,提供一种平滑的具有全局公平性的、应用于互联网的网络拥塞控制方法,包括如下步骤:

中间路由的反馈策略和发送端的发送速率调节策略,中间路由根据输入速率计算反馈量,将反馈量转化为标记概率,标记所经过的数据包,该标记由接收端通过应答包转发给发送端,发送端再根据反馈量调节发送速率大小,通过定时器触发平滑数据流,数据流稳定后,发送端的发送速率矢量将会最大化所引入的公平性指标,实现数据流之间的全局公平性。该方法在网络中由发送端,中间路由和接收端的传输层协议以及下层的网络协议和通讯硬件实现。

本发明的有益效果是,本发明描述了一种区别于窗口控制的流量控制方法,这种方法通过对端接点和中间路由的传输协议进行改进,能够在互联网上提供平滑且具有全局公平性的数据流。通过引入最优函数和构造寻优方向,该拥塞控制策略可实现全局公平性,且该全局公平性的实现具有渐进稳定性;基于流的控制策略可以得到更平稳的数据流;采用包标记方式进行反馈,网络开销小,并可以在已有的TCP/IP包头格式下实现该拥塞控制方法,有一定的兼容性。

附图说明

图1是本发明应用于互联网的网络拥塞控制系统示意图。

图2是本发明中中间路由拥塞反馈装置主要组成框图。

图3是本发明中发送流控装置主要组成框图。

图4本发明中间路由的标记反馈流程图。

图5是本发明接收端的反馈流程图。

图6是本发明发送端的速率调节流程图。

具体实施方式

下面将结合附图对本发明加以详细说明,应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。

为了提高互联网传输数据的公平性并让网络端节点了解网络的状态,本发明的思路是让中间路由通过统计流量得到网络的拥塞状态并显式地反馈给端节点;同时,使端节点根据反馈信息合理地调节自身的数据发送量。路由反馈信息和端节点速率调节一方面须避免网络产生拥塞,另一方面须在诸数据流中实现公平性。因此本发明分为两个部分:中间路由对端节点的反馈策略;端节点根据反馈信息对发送速率的调节策略。

为得到能够实现全局公平性的路由反馈策略和发送速率调节策略,本发明引入了一个衡量公平性大小的最优指标F(v),其中v是各个端节点的发送速率矢量。使此指标最大的发送速率矢量满足全局公平性指标。该指标的优化须以网络带宽作为约束条件,因此全局公平性的实现可转化为求解约束最优问题。

max  F(v)

s.t. Rv≤C

其中C为网络链路带宽矢量,R为路由矩阵,其定义为:

v为各个发送端的发送速率矢量。在本发明中使用对数函数的累加项F(v)=Σi=1Nlog(vi)作为最优指标,N为网络节点个数。该最优指标对应全局比例公平性。

为优化该指标,首先构造该最优问题的Lagrange函数L(v,p)=F(v)-pT(Rv-C),其中p为Lagrange因子。再使用类似牛顿法的寻优策略得到寻优方向。在本发明中,使用的寻优方向为:

v·i=(1vi-Σjpj)

p·=(Σivi-C)/viΣiviC(C-Σivi)/CΣivi<C

其中决定了端节点的调节策略,决定了路由的反馈策略。在反馈策略中,反馈量可能为负,这样可以提高反馈策略和调节策略的收敛速度。为了能将反馈量p以最小的网络开销传给端节点,我们将反馈量p转化为包标记概率。根据该概率标记传输数据包的IP(Internet Protocol网际协议)报头的ECN(Explicit Congestion Notification显式拥塞提醒)域。在接收端将此标记以应答包ACK(Acknowledgement确认)的形式传回给发送端。发送端节点再根据收到的包的标记计算反馈量,以此作为调节发送速率的依据。

综上所述,本发明所采用的技术方案是:当有数据发送任务时,发送端一开始以比较小的发送速率向接收端发包。中间路由统计本地输入速率,根据本地输入速率和输出带宽计算反馈量,再将反馈量转化为标记概率,其中正的反馈信息和负反馈信息分别处理。计算完标记概率后依此概率标记IP报头ECN域的0位或1位。正反馈信息标记0位,负的反馈信息标记1位。接收端收到数据包后,将接收到数据包的ECN域复制到ACK包中去,再发回给发送端。发送端分别统计ACK包ECN域的0位和1位并分别计算其标记概率。若标记ECN域1位的概率不为0则忽略标记0位的概率。再由概率计算反馈量,最后得到发送速率的调节量。

如图1本发明应用于互联网的网络拥塞控制系统的工作过程示意图所示,包括:发送流控装置1、发送的数据包2、中间路由拥塞反馈装置3、路由缓存装置4、已标记的包5、接收应答装置6、应答包ACK7。

发送流控装置1先以比较小的速率发送数据包2。数据包2经过中间路由拥塞反馈装置3时,中间路由拥塞反馈装置3测量接收速率,计算反馈量并转化为标记概率,依概率对包进行标记,再转发已标记包5。接收应答装置6复制已标记包5中的ECN域到应答包ACK的ECN域中,并发给发送流控装置1。发送流控装置1统计标记概率,计算反馈量,再根据反馈量调节输出速率。

路由缓存装置4是在起路由或交换作用的网络节点中所开辟的一块连续存储区域,可由易失或非易失存储介质组成,可以是电子材料也可以是磁性材料,甚是可以是光擦写材料。如微机中使用的SDRAM(同步动态随机存储器)或DDR(双数据同步动态随机存储器)内存条,或在微机硬盘上开辟的虚拟存储单元。也可以是用于嵌入式系统的可擦写电子存储媒介如各种FLASH(闪速存储器)电子盘。其基本的要求是能在操作系统(如WINDOWS,LINUX,OS/2,TINYOS等)的支持下快速读写数据。并支持操作系统对存储区域的各种管理模式。一般要求64M以上的空间,以支持可以暂存一定时间间隔之内的数据包以供中间路由拥塞反馈装置3统计信息并标记;

接收应答装置6是在需要使用或得到的网络节点上能够响应,识别,处理外界通信请求并能够向外发送数据的硬件和驱动硬件工作的软件集合。硬件如微机上所用的常用通讯接口网卡,调制解调器,串口或并口等。也包括用于嵌入式系统的各种通讯芯片如CC1000等通讯模块。软件包括支持网络通讯的各种针对特定物理设备的物理层通信协议,介质访问层通信协议(如CSMA/CD)和数据链路层协议(如HDLC),并且该接收应答装置支持标准的TCP/IP协议。该专利对应用层的网络协议不做具体要求。该网络节点最好具有支持TCP/IP协议的操作系统,如WINDOWS,LINUX等或由这些操作系统派生出的各种嵌入式操作系统。

如图2本发明中中间路由拥塞反馈装置主要组成框图所示:

中间路由拥塞反馈装置3是在网络的多跳环境下用于将包转发到合适的路径上而使数据包到达目标接收应答装置6的网络中间节点。一般需要微机操作系统或嵌入式操作系统的支持。在本专利中需要实现显式给出网络拥塞状态的功能。除了必须的(如在接收应答装置6中所陈述)通讯硬件模块,操作系统和软件协议外,中间路由拥塞反馈装置3包括:

时钟单元31,用于设置一定的时间间隔,平均速率计算单元32将在此时间间隔内统计包标记信息,时间间隔的产生可由机器硬件时钟(微机时钟,单片机板上时钟,处理器内部的片内时钟等)也可由软件中断获得;

与时钟单元31连接的平均速率计算单元32,在时钟单元31产生的时间间隔内统计接收的数据量并计算各发送流控装置1的总平均速率,其统计功能和计算功能由运行于微机或单片机上的程序实现;

与平均速率计算单元32连接的反馈量计算单元33,根据平均速率计算单元31所计算的平均速率和路由输出链路带宽,用于计算量化网络拥塞程度的反馈量,其计算功能由运行于微机或单片机上的程序实现;

与反馈量计算单元33连接的标记概率计算单元34,用于将反映网络拥塞程度的反馈量转化为包标记概率,其计算功能由运行于微机或单片机上的程序实现;

与标记概率计算单元34连接的标记单元35,用于对包进行标记,标记的位置和标记的值依赖于当前产生的随机数和包标记概率比较的结果。其中随机数的产生以当前的机器时间作为随机数种子,产生的随机数在0-1之间,其产生机制来源于所使用软件开发工具(如C/C++,JAVA等)提供的随机数生成函数。对包的标记要需要通过路由缓存装置调用操作系统中相应的读写函数改写包的标志位。一系列标记可以反映反馈量计算单元32所计算的反馈量大小;最后标记单元将已标记包从路由缓存装置4中取出转发到正确的路由出口。

如图3本发明中发送流控装置主要组成框图所示:

发送流控装置1是在对其它节点提供数据的网络节点上能够响应其它节点的数据要求而向外发送数据并可在发送过程中通过反馈信息控制流量的硬件和驱动硬件工作的软件集合。在本专利中需要统计网络反馈信息并调节数据发送速率,除了必须的(如在接收应答装置6中所陈述)通讯硬件模块,操作系统和软件协议外,发送流控装置1包括:

时钟单元11,用于设置一定的时间间隔,概率获取单元12将在此时间间隔内统计包标记信息,时间间隔的产生可由机器硬件时钟(微机时钟,单片机板上时钟,处理器内部的片内时钟等)也可由软件中断获得;

与时钟单元11连接的概率获取单元12,用于区别应答包的标记并计算由时钟单元11设置时间间隔内不同标记出现的概率,并提取出能够反映网络拥塞程度的最终应答包标记概率,其统计功能和计算功能由运行于微机或单片机上的程序实现;

与概率获取单元12连接的发送速率计算单元13,用于将概率获取单元13所获得的最终应答包标记概率转换为曾由中间路由拥塞反馈装置3所计算的反馈量,再由此反馈量下一个时间间隔的发送速率,其计算功能由运行于微机或单片机上的程序实现;

与发送速率计算单元13连接的定时单元14,用于得到一个平滑的数据流,该单元包含一定时器,由定时器启动数据包发送单元15进行数据包的发送,定时器的触发间隔由计算单元14所得到发送速率决定,触发模式设置为反复触发,直至数据发送任务完成。定时功能在微机上可由各种软件开发工具(如VC++,Visual.net,Lab Windows)所提供定时控件完成,在单片机上可由芯片内的硬件资源如ATMEL128内所提供的定时/计数器0实现;

与定时单元14连接的数据包发送单元15,启动数据包的发送,初始第一次将以较低的发送速率发送如2包/秒发送,在其后的过程中将由定时单元15触发,其数据包的实际发送需要IP层网络协议和各种低层的网络协议如数据链路层,介质共享层和物理层的参与,驱动具体的通讯硬件接口如网卡,调制接调器等完成数据发送。

如图4本发明中间路由的标记反馈流程图所示:在图中,中间路由的标记反馈策略由以下步骤组成:

步骤S1:设置时间间隔τ,在时间间隔τ内统计接收的数据量s,计算平均速率y=s/τ。

步骤S2:计算反馈增量Δp,根据平均速率y与路由输出链路带宽c关系:若y≥c,则令反馈增量Δp=(y-c)/y,否则令反馈增量为Δp=(y-c)/c;

步骤S3:计算反馈量p=p+Δp。

步骤S4:计算标记概率q,若反馈量p≥0,则令q=1-φ-p,否则,令q=1-φ1-|p|,其中φ为常数,设置为500;

步骤S5:对包进行标记,以均匀分布的方式生成一个(0,1)之间的随机数w,如果反馈量p≥0,且随机数w≥q,则标记ECN域的0位;如果反馈量p<0,且随机数w≥q,则标记ECN域的1位;

步骤S6:将已标记包转发给下一条路由或发给接收端。

如图5本发明接收端的反馈流程图所示:在图5中,接收端直接将接收包的ECN域复制到应答包ACK的ECN域中并发回发送端。

如图6本发明发送端的速率调节流程图所示:在图中,发送端的速率调节策略由以下步骤组成:

步骤S11:以较低的速率向接收节点发送数据包;

步骤S12:设置时间间隔θ,在时间间隔θ内统计接收的ACK数量A;

步骤S13分别统计在ECN域的0位和1位设置了标记的包数量A1和A2,并分别计算其在这段时间间隔内出现的概率p1=A1/A和p2=A2/A;

步骤S14:如果概率p2>0,则忽略概率p1,令概率p0=p2,否则令概率p0=p1;

步骤S15:计算反馈量q0,若p2>0,则令q0=logφ(1-p0)-1,否则令q0=-logφ(1-p0),其中φ为常数,应与路由端取值相同,可设置为500。

步骤S16:计算发送速率增量Δv=(1/v-q0);

步骤S17:计算下一个时间间隔的发送速率v=v+Δv;

步骤S18:为得到一个平滑的数据流,启动一定时器,由定时器启动数据包的发送;

步骤S19:设置定时器的触发间隔和触发模式,触发间隔设置为len/v,其中len为单个数据包的长度。触发模式为反复触发;

步骤S20:重复以上步骤直到发送完所有数据包。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号