CN108322401A - 网络传输拥塞的控制方法及装置 - Google Patents

网络传输拥塞的控制方法及装置 Download PDF

Info

Publication number
CN108322401A
CN108322401A CN201710037306.8A CN201710037306A CN108322401A CN 108322401 A CN108322401 A CN 108322401A CN 201710037306 A CN201710037306 A CN 201710037306A CN 108322401 A CN108322401 A CN 108322401A
Authority
CN
China
Prior art keywords
network
delay
window
state parameters
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710037306.8A
Other languages
English (en)
Other versions
CN108322401B (zh
Inventor
孙云峰
陈建清
吴建国
李永隆
苏学敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201710037306.8A priority Critical patent/CN108322401B/zh
Publication of CN108322401A publication Critical patent/CN108322401A/zh
Application granted granted Critical
Publication of CN108322401B publication Critical patent/CN108322401B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络传输拥塞的控制方法及装置。其中,该方法包括:获取网络状态参数,其中,所述网络状态参数表示网络的延时;基于所述网络状态参数确定网络带宽探测方式;基于所述网络带宽探测方式选择拥塞控制算法,计算拥塞窗口的参数;按照所述拥塞窗口的参数,向对端发送数据包。本发明解决了无线网络的传输速度慢的技术问题。

Description

网络传输拥塞的控制方法及装置
技术领域
本发明涉及无线通信领域,具体而言,涉及一种网络传输拥塞的控制方法及装置。
背景技术
随着移动互联网的普及和应用,用户越来越多的通过移动设备访问互联网站资源以获取网络信息和休闲娱乐,可选地,用户访问互联网的方式不局限于办公室和家庭,还可以选择无线方式上网;然而由于移动设备到网络服务器之间的环境复杂、无线通信环境反复变化、访问流带宽受限、以及网络环境不确定等因素,用户在网站访问的过程中有时速度慢,很容易造成网络应用服务器的用户抱怨和用户流失。另外,用户访问网络服务器资源在传输层由于无线网络的不稳定性,丢包重传率相对较高,链路带宽不对称等因素也造成了速度偏慢的问题,而且现有的拥塞控制算法要么基于丢包,要么基于延时判断网络是否拥塞及信息单一都会不同程度地影响到该问题。
具体地,用户访问企业网站的网络服务器在传输层方案存在的弊端如下:现有应用服务器托管在IDC机房,大都采用操作***默认配置,默认配置的应用服务器无法针对无线环境的拥塞控制进行优化;默认配置的应用服务器在无线环境传输控制的算法性能实际测试效果并不好。
针对上述无线网络传输速度慢的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网络传输拥塞的控制方法及装置,以至少解决无线网络的传输速度慢的技术问题。
根据本发明实施例的一个方面,提供了一种网络传输拥塞的控制方法,包括:获取网络状态参数,其中,所述网络状态参数表示网络的延时;基于所述网络状态参数确定网络带宽探测方式;基于所述网络带宽探测方式选择拥塞控制算法,计算拥塞窗口的参数;按照所述拥塞窗口的参数,向对端发送数据包。
进一步地,获取网络状态参数包括:通过第一公式确定平均延时,其中,所述第一公式为:avgRTT=((scale-1)*avgRTT+rtt)/scale,其中,avgRTT表示平均延时,scale表示第一延时参数,rtt表示当前延时;基于所述当前延时确定传输延时;基于所述平均延时与所述传输延时确定排队延时。
进一步地,基于所述网络状态参数确定网络带宽探测方式包括:检测所述网络状态参数的状态是否为有效状态;若检测出所述网络状态参数的状态为有效状态,则采用基于网络延时的方式探测网络带宽;若检测出所述网络状态参数的状态不为有效状态、且检测出所述网络处于正常工作状态,则采用丢包探测的方式探测网络带宽,得到拥塞窗口的窗口参数,其中,所述探测方式包括所述丢包探测的方式;若检测出所述网络状态参数的状态不为有效状态、且检测出所述网络处于异常工作状态,则获取预设的拥塞窗口的窗口参数。
进一步地,采用丢包探测的方式探测网络带宽包括:获取配置的N条连接的信息,其中,N为自然数;通过第二公式确定所述网络带宽的拥塞窗口的窗口参数,其中,所述第二公式为:ωi(t1)=ω+N*ωi(t0),其中,所述ωi(t1)表示当前的所述拥塞窗口的窗口参数,ω表示基于所述N条连接的信息确定的拥塞窗口信息,ωi(t0)表示上一次采用丢包探测的方式进行网络带宽得到的拥塞窗口的窗口参数。
进一步地,采用基于网络延时的方式探测网络带宽包括:通过第三公式确定所述拥塞窗口的窗口参数,其中,所述第三公式为: 其中,所述ωi(t1)表示当前的拥塞窗口的窗口参数,ωi(t0)表示上一次基于网络延时的方式进行网络带宽得到的拥塞窗口的窗口参数,γ是收敛系数,αi表示网络中排队数据包的预估数量;D表示所述网络状态参数中的排队延时,d表示所述网络状态参数中的传输延时。
进一步地,在通过第三公式确定所述拥塞窗口的窗口参数之前,所述方法还包括:检测所述当前延时是否小于等于历史延时,其中,所述历史延时表示上次接收到数据包的延时;若所述当前延时小于等于所述历史延时,则从第一取值区间中选取所述收敛系数的值;若所述当前延时大于所述历史延时,则从第二取值区间中选取所述收敛系数的值,其中,所述第一取值区间中的最小值大于所述第二取值区间中的最大值。
进一步地,在检测所述网络状态参数的状态是否为有效状态之前,所述方法还包括:检测网络是否处于正常工作状态,其中,检测是否接收到重复发送的确认指令,若检测到所述重复发送的确认指令,则检测出所述网络处于异常工作状态;检测是否接收到超时重传指令,若检测到所述超时重传指令,则检测出所述网络处于异常工作状态。
根据本发明实施例的另一方面,还提供了一种网络传输拥塞控制装置,包括:获取单元,用于获取网络状态参数,其中,所述网络状态参数表示网络的延时;确定单元,用于基于所述网络状态参数确定网络带宽探测方式;选择单元,用于基于所述网络带宽探测方式选择拥塞控制算法;计算单元,用于计算拥塞窗口的参数;发送单元,用于按照所述拥塞窗口的参数,向对端发送数据包。
进一步地,所述获取单元包括:确定模块,用于通过第一公式确定平均延时,其中,所述第一公式为:avgRTT=((scale-1)*avgRTT+rtt)/scale,其中,avgRTT表示平均延时,scale表示第一延时参数,rtt表示当前延时;第一确定模块,用于基于所述当前延时确定传输延时;第二确定模块,用于基于所述平均延时与所述传输延时确定排队延时。
进一步地,所述确定单元包括:第一检测模块,用于检测所述网络状态参数的状态是否为有效状态;第一探测模块,若检测出所述网络状态参数的状态为有效状态,用于采用基于网络延时的方式探测网络带宽;第二探测模块,若检测出所述网络状态参数的状态不为有效状态、且检测出所述网络处于正常工作状态,用于采用丢包探测的方式探测网络带宽,其中,所述探测方式包括所述丢包探测的方式;获取模块,若检测出所述网络状态参数的状态不为有效状态、且检测出所述网络处于异常工作状态,用于获取预设的拥塞窗口的窗口参数。
进一步地,所述第二探测模块包括:获取子模块,用于获取配置的N条连接的信息,其中,N为自然数;第一确定子模块,用于通过第二公式确定所述网络带宽的拥塞窗口的窗口参数,其中,所述第二公式为:ωi(t1)=ω+N*ωi(t0),其中,所述ωi(t1)表示当前的所述拥塞窗口的窗口参数,ω表示基于所述N条连接的信息确定的拥塞窗口信息,ωi(t0)表示上一次采用丢包探测的方式进行网络带宽得到的拥塞窗口的窗口参数。
进一步地,所述第一探测模块包括:第二确定子模块,用于通过第三公式确定所述拥塞窗口的窗口参数,其中,所述第三公式为: 其中,所述ωi(t1)表示当前的拥塞窗口的窗口参数,ωi(t0)表示上一次基于网络延时的方式进行网络带宽得到的拥塞窗口的窗口参数,γ是收敛系数,αi表示网络中排队数据包的预估数量;D表示所述网络状态参数中的排队延时,d表示所述网络状态参数中的传输延时。
进一步地,所述装置还包括:第一检测单元,用于在通过第三公式确定所述拥塞窗口的窗口参数之前,检测所述当前延时是否小于等于历史延时,其中,所述历史延时表示上次接收到数据包的延时;第一选取单元,若所述当前延时小于等于所述历史延时,用于从第一取值区间中选取所述收敛系数的值;第二选取单元,若所述当前延时大于所述历史延时,用于从第二取值区间中选取所述收敛系数的值,其中,所述第一取值区间中的最小值大于所述第二取值区间中的最大值。
进一步地,所述装置还包括:第二检测单元,用于在检测所述网络状态参数的状态是否为有效状态之前,检测网络是否处于正常工作状态,其中,第二检测模块,用于检测是否接收到重复发送的确认指令,若检测到所述重复发送的确认指令,则检测出所述网络处于异常工作状态;第三检测模块,用于检测是否接收到超时重传指令,若检测到所述超时重传指令,则检测出所述网络处于异常工作状态。
通过上述实施例,在获取网络状态参数之后,基于网络状态参数确定网络带宽探测方式,然后基于网络带宽探测方式选择拥塞控制算法,计算拥塞窗口的参数,再按照拥塞窗口的参数,向对端发送数据包。在上述实施例中,在需传输数据包时,可以基于表示网络的延时的网络状态参数确定探测方式,并利用确定的探测方式确定拥塞窗口的参数,以进行数据传输,基于网络状态参数可以准确地确定拥塞窗口的窗口参数,按照该窗口参数传输数据包可以实现数据的快速传输,解决了现有技术中无线网络传输速度慢的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种网络传输拥塞的控制方法的***结构示意图;
图2是根据本发明实施例的一种可选的网络传输拥塞的控制方法的流程图;
图3是根据本发明实施例的拥塞控制算法正常工作流程图;
图4是根据本发明实施例的拥塞控制算法丢包工作流程图;
图5是根据本发明实施例的一种可选的网络传输拥塞控制装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种网络传输拥塞的控制方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示包括:终端13、通信链路15、运营商设备17以及应用服务器19。用户通过终端经过运营商设备(如基站和网关设备)访问应用服务器。其中,终端和运营商设备经由通信链路连接,运营商设备与应用服务器也是经由通信链路连接。终端可以为个人计算机和移动终端,如手机和平板电脑,本申请对终端的具体表现形式不做限定。
图2是根据本发明实施例的网络传输拥塞的控制方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,获取网络状态参数,其中,网络状态参数表示网络的延时;
步骤S204,基于网络状态参数确定网络带宽探测方式;
步骤S206,基于网络带宽探测方式选择拥塞控制算法,计算拥塞窗口的参数;
步骤S208,按照拥塞窗口的参数,向对端发送数据包。
通过上述实施例,在获取网络状态参数之后,基于网络状态参数确定网络带宽探测方式,然后基于网络带宽探测方式选择拥塞控制算法,计算拥塞窗口的参数,再根据拥塞窗口的参数向对端发送数据包。在上述实施例中,在需传输数据包时,可以基于表示网络的延时的网络状态参数确定探测方式,并利用确定的探测方式确定拥塞窗口的参数,以进行数据传输,基于网络状态参数可以准确地确定拥塞窗口的窗口参数,按照该窗口参数传输数据包可以实现数据的快速传输,解决了现有技术中无线网络传输速度慢的问题。
在步骤S202提供的技术方案中,延时可以包括:运营商设备从接收到数据到开始向目的端口发送数据包之间的时间间隔,也可以包括服务器本应接收到数据包的时间与实际接收到数据包之间的时间间隔。可选地,可以利用网络状态参数来表示网络的延时,该延时可以包括延时时长和网络是否发生延时的状态。
在步骤S204提供的技术方案中,网络带宽是指在单位时间内能传输的数据量,可选地,该单位时间可以为1秒钟。
在步骤S206提供的技术方案中,拥塞窗口指得是源端(如服务器)在拥塞控制情况下一次最多能发送的数据包的数量,发送端(如服务器)根据网络的拥塞程度所预设的一个大小值,而这个值就是拥塞窗口的窗口参数,该拥塞窗口的窗口参数可以表示一次发送的数据包的数量。
在确定拥塞窗口的窗口参数之后,按照确定的一次最多能发送的数据包的数量,向客户端发送数据包。
在上述实施例中,在需传输数据的情况下,确定表示网络延时的网络状态参数,利用该网络状态参数进行网络带宽探测,以确定一次最多可以发送的数据包的数量,按照该确定的一次最多能发送的数据包的数量,向客户端发送数据包,在上述方案中,可以基于网络延时合理估计拥塞窗口的大小,从而可以尽可能快速地传输数据包。
其中,上述的网络状态参数包括:平均延时avgRTT,传输延时baseRTT以及排队延时queueRTT,可选地,平均延时avgRTT、传输延时baseRTT以及排队延时queueRTT的初始值均为0。
可选地,获取网络状态参数包括:通过第一公式确定平均延时,其中,第一公式为:avgRTT=((scale-1)*avgRTT+rtt)/scae,其中,avgRTT表示平均延时,scale表示第一延时参数,rtt表示当前延时;基于当前延时确定传输延时;基于平均延时与传输延时确定排队延时。
可选地,排队延时为网络的传输延时和网络的平均延时的差值。
在一个可选的实施例中,平均延时avgRTT的统计计算方法为:avgRTT=((scale-1)*avgRTT+rtt)/scale,其中,第一延时参数scale是根据网络中已经发送还没有被确认的数据包(即第一类型数据包)进行估计而得到的,可选地,scale取值为min(256,scale),也即,该第一延时参数的最小取值为256,rtt表示当前延时。
在另一个可选的实施例中,传输延时baseRTT的估算方法为观察得到的最小rtt(即当前延时),即,传输延时baseRTT=min(avgRTT,rtt)。
在有一个可选的实施例中,通过计算平均延时和传输延时的差值得到排队延时queueRTT,也即,排队延时queueRTT=avgRTT–baseRTT。
在执行步骤S202之前,方法还包括:检测网络的工作状态,并记录该确定的工作状态,该工作状态可以包括正常工作状态和异常工作状态,其中,异常工作状态包括丢包和发生拥塞的状态。图3是根据本发明实施例的拥塞控制算法正常工作的流程图,图4是根据本发明实施例的拥塞控制算法丢包工作流程图。
可选地,检测网络是否处于正常工作状态包括下述至少之一:检测是否接收到重复发送的确认指令ack,若检测到重复发送的确认指令ack,则检测出网络处于异常工作状态;检测是否接收到超时重传指令,若检测到超时重传指令,则检测出网络处于异常工作状态。
可选地,按照与网络状态参数的状态对应的探测方式,探测网络带宽包括:检测网络状态参数的状态是否为有效状态;若检测出网络状态参数的状态为有效状态,则基于网络状态参数确定拥塞窗口的窗口参数,其中,探测方式包括网络延时的方式;若检测出网络状态参数的状态不为有效状态、且检测出网络处于正常工作状态,则采用丢包探测的方式探测网络带宽,得到拥塞窗口的窗口参数,其中,探测方式包括丢包探测的方式;若检测出网络状态参数的状态不为有效状态、且检测出网络处于异常工作状态,则获取预设的拥塞窗口的窗口参数。
下面结合图3和图4对本申请可选的实施例进行详细描述。
如图3所示,在一个可选的实施例中可以包括如下步骤:
步骤S301,接收到请求或确认指令ack。
若检测到传输请求或确认指令ack,则确定网络的工作状态为正常工作状态。
步骤S302,检测网络状态参数预估是否有效。
若检测出网络状态参数预估有效,则执行步骤S303,若检测出网络状态参数预估无效,则执行步骤S304。
可选地,在网络状态参数包括传输延时和平均延时的情况下,检测网络状态参数的状态是否为有效状态包括:若检测出传输延时和平均延时不为零,则确定检测出网络状态参数的状态为有效状态;若检测出传输延时和平均延时均为零,则确定检测出网络状态参数的状态不为有效状态。
其中,当接收到确认指令ack时,对平均延时avgRTT,传输延时baseRTT以及排队延时queueRTT进行预估。若网络状态参数的值都为0,则网络状态参数估计没有生效;若平均延时avgRTT以及传输延时baseRT不为0,则确定采集到的网络状态参数有效。
在网络状态参数有效时,采用基于网络延时的方式探测网络带宽;网络状态参数估计没有生效时,采用丢包探测的方式探测网络带宽,得到拥塞窗口的窗口参数。
步骤S303,发送窗口更新定时器触发。
其中,窗口更新定时器用于记录拥塞窗口的更新时长,并在上次拥塞窗口的更新时刻与当前时刻之间的时间间隔达到预定时间间隔的情况下触发拥塞窗口的更新。
步骤S305,配置N条链接。
步骤S306,计算目标发送窗口大小,并设置发送窗口。
其中,目标发送窗口大小即为上述的拥塞窗口(即发送窗口)的窗口参数。
可选地,在窗口更新定时触发器触发的情况下,可以通过上述步骤S305和S306实现基于网络状态参数确定拥塞窗口的窗口参数。
进一步地,该采用基于网络延时的方式探测网络带宽包括:通过第三公式确定拥塞窗口的窗口参数,其中,第三公式为: 其中,ωi(t1)表示当前的拥塞窗口的窗口参数,ωi(t0)表示上一次基于网络延时的方式进行网络带宽得到的拥塞窗口的窗口参数,γ是收敛系数,αi表示网络中排队数据包的预估数量;D表示网络状态参数中的排队延时,d表示网络状态参数中的传输延时。
可选地,在网络状态参数预估有效时,需要判断窗口更新定时器是否触发,在窗口更新定时器触发的情况下,采用基于网络延时的方式计算网络带宽,依据FastTCP的方式估算窗口大小,也即是通过公式: 对窗口进行预估。这里γ是收敛系数,可选地,在FastTcp中可以取固定常数0.5,ωi(t0)是上一次RTT采样时的拥塞控制窗口,ωi(t1)是对拥塞控制窗口的估计,αi是对网络中排队数据包的估计,D是排队延时queueRTT,也就是平均延时和传输延时的差值queueRTT=avgRTT–baseRTT,d是传输延时baseRTT,传输延时baseRTT的估算方法为观察的最小rtt,baseRTT=min(avgRTT,rtt)。
进一步地,在通过第三公式确定拥塞窗口的窗口参数之前,方法还包括:检测当前延时是否小于等于历史延时,其中,历史延时表示上次接收到数据包的延时;若当前延时小于等于历史延时,则从第一取值区间中选取收敛系数的值;若当前延时大于历史延时,则从第二取值区间中选取收敛系数的值,其中,第一取值区间中的最小值大于第二取值区间中的最大值。
可选地,若窗口更新定时器触发,如果当前RTT(当前延时)<=SRTT(历史延时),SRTT为上次收包计算得到RTT,则认为网络负载降低,应增加窗口,γ取值为[0.6,0.8],默认为0.75;反之,则认为网络负载增加,应减少拥塞窗口,γ设置为[0.3,0.5]之间,默认为0.4;那么γ的取值就为[0.4,0.75],计算并更新目标窗口大小。
步骤S304,基于丢包探测带宽。
步骤S307,计算并设置发送窗口大小。
通过步骤S305和步骤S307实现采用丢包探测的方式探测网络带宽,可选地,采用丢包探测的方式探测网络带宽包括:获取配置的N条连接的信息,其中,N为自然数,即N为非负整数;通过第二公式确定网络带宽的拥塞窗口的窗口参数,其中,第二公式为:ωi(t0)=ω+N*ωi(t0),其中,ωi(t1)表示当前的拥塞窗口的窗口参数,ω表示基于N条连接的信息确定的拥塞窗口信息,ωi(t0)表示上一次采用丢包探测的方式进行网络带宽得到的拥塞窗口的窗口参数。
可选地,若丢包方式探测网络带宽,模拟N条FastTCP和一条Hybla,计算拥塞窗口的大小;ωi(t0)=ω+N*ωi(t0),这里ω是hybla算法计算得到的拥塞窗口的大小,ωi(t0)是上一次FastTcp估算的窗口大小,N为自然数,即非负整数,N=2。它这样改进的主要目的是希望RTT连接的情况能够获得与有线网络一样快的传输速率。其基本算法思想:长RTT会导致速率的较慢增长,所以引进了一个归一化的RTT值。Hybla的优点是消除了长RTT对TCP拥塞控制机制的影响,使得TCP在长RTT条件下提供较高传输速率。
其中,FastTCP被认为是目前全球最先进的电信级TCP/IP协议单边部署加速技术,它对广域网和无线网络上的TCP流量有显著的效果,特别是在高延时,高丢包的TCP网络环境中效果更加明显,在高丢包率的TCP网络环境中能够:减少应用的响应时间,提高TCP吞吐量和有效流量的速度以及提高无线网络和广域网带宽的利用率。Hybla主要是针对长延时的TCP的改进,同时也有效解决了TCP在不同延时链路上的公平性问题。它由一系列过程组成,包括增强了的慢启动和拥塞避免阶段,强制采用的SACK策略和信道带宽估计算法,并且使用了时间戳和新的打包技术。
可选地,应用服务器接收重复确认指令ack或者RTO超时检测到丢包,表示网络处于异常工作状态。
其中,RTO为TCP超时重传机制(Retransmission Timeout),是TCP操作计时器的一种。为了防止数据报丢失,当TCP发送一个报文时,就启动重传计时器,有两种情况:1.若在计时器超时之前收到了特定报文的确认,则撤消这个计时器;2.特定数据报文在计时器超时前没有收到确认,则重传该数据报,并把计时器复位RTO的数值基于平滑的往返时间及其偏差。
步骤S308,更新网络状态参数。
可选地,更新网络状态参数,重新计算平均延时avgRTT,传输延时baseRTT,排队延时queueRTT,以便于在下次确定拥塞窗口的窗口大小时可以直接获取该网络状态参数。
步骤S309,根据发送窗口发送数据包。
可选地,按照发送窗口设置大小发包,继续等待确认指令ack或新的请求。
如图4所示的可选实施例可以包括如下步骤:
步骤S401,检测到丢包或发生拥塞。
可选地,检测到丢包或发生拥塞,可以确定网络处于异常工作状态。
步骤S402,检测网络状态参数预估是否有效。
若检测出网络状态参数预估有效,则执行步骤S403,若检测出网络状态参数预估无效,则执行步骤S406。
该步骤的实现方式与图3所示的步骤S302的具体实现方式一致,在此不再赘述。
步骤S403,记录当前网络状态参数。
步骤S404,检测丢包是否恢复完成。
若是,则执行步骤S405;若否,则继续执行步骤S404。
步骤S405,依据当前网络状态参数预估设置发送窗口。
可选地,该步骤的实现方式与上述实施例中步骤S305和步骤S306的实现方式一致,在此不再赘述。
可选地,基于网络带宽探测方式选择拥塞控制算法,计算拥塞窗口的参数包括:在网络恢复正常工作状态的情况下,计算拥塞窗口的参数。
具体地,若丢包恢复完成,则发送窗口大小依据当前网络带宽估计(即根据网络状态参数)设置。
步骤S406,设置发送窗口为发送窗口的初始值。
步骤S407,根据发送窗口发送数据包。
可选地,该步骤的实现方式与上述实施例中步骤S309的实现方式一致,在此不再赘述。
通过获取网络状态参数,其中,网络状态参数表示网络的延时,然后按照与网络状态参数的状态对应的探测方式,探测网络带宽,然后选择与探测方式对应的拥塞控制算法以计算拥塞窗口的窗口参数,其中,网络状态参数的状态用于表示网络状态参数是否有效,其次再按照拥塞窗口的窗口参数,向对端发送数据包。在上述实施例中,基于hybla拥塞控制上模拟实现多条TCP连接,尽可能的充分利用带宽,拥塞控制算法在丢包发生后,根据对网络的带宽估计迅速恢复丢包前的状态。同时使用了基于丢包和延时两种传输拥塞控制方法,在基于实验分析的基础上,优先选择hybla算法和TCP_FAST算法,但不限于这两种算法的组合,进而解决了无线网络传输速度慢的技术问题。
下面给出本发明具体实施例优化结果,对本申请一个可选的实施例进行详细说明:
例如,针对线上5.13,5.14,5.15三天的信令数据,提取了lan1的106网元数据和lan2的203网元数据进行对比,测试数据显示我们的算法有较大的提升,表1给出了移动互联网内容信息、优化后、优化前以及优化后的对应关系。
表1
在本发明实施例中,通过获取网络状态参数,其中,网络状态参数表示网络的延时,然后按照与网络状态参数的状态对应的探测方式,探测网络带宽,然后选择与探测方式对应的拥塞控制算法以计算拥塞窗口的窗口参数,其中,网络状态参数的状态用于表示网络状态参数是否有效,其次再按照拥塞窗口的窗口参数,向对端发送数据包。实现了拥塞控制算法易于移植各类nix操作***,这些***可以为,可以集成在cdn服务节点,web服务器,或通过模块加载的方式实现功能,也实现了拥塞控制算法的进行网络带宽和参数估计,在基于FastTCP拥塞控制算法基于延时判断网络是否拥塞,改善状态方程的参数,实现了拥塞窗口的更准确估计。在基于hybla拥塞控制上模拟实现多条TCP连接,尽可能的充分利用带宽。实现拥塞控制算法在丢包发生后,根据对网络的带宽估计迅速恢复丢包前的状态。同时使用了基于丢包和延时两种传输拥塞控制方法,在基于实验分析的基础上,优先选择hybla算法和TCP_FAST算法,但不限于这两种算法的组合,进而解决了无线网络的传输速度慢的技术问题。
其中,cdn(Content Delivery Network,即内容分发网络)是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大,网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。
根据本发明的另一个实施例,还提供了一种网络传输拥塞控制的装置实施例,如图5所示包括:获取单元51,确定单元53、选择单元55、计算单元57以及发送单元59。
其中,获取单元51,用于获取网络状态参数,其中,网络状态参数表示网络的延时;确定单元53,用于基于网络状态参数确定网络带宽探测方式;选择单元55,用于基于网络带宽探测方式选择拥塞控制算法;计算单元57,用于计算拥塞窗口的参数;发送单元59,用于按照拥塞窗口的参数,向对端发送数据包。
可选地,获取单元包括:确定模块,用于通过第一公式确定平均延时,其中,第一公式为:avgRTT=((scale-1)*avgRTT+rtt)/scale,其中,avgRTT表示平均延时,scale表示第一延时参数,rtt表示当前延时;第一确定模块,用于基于当前延时确定传输延时;第二确定模块,用于基于平均延时与传输延时确定排队延时。
可选地,确定单元包括:第一检测模块,用于检测网络状态参数的状态是否为有效状态;第一探测模块,若检测出网络状态参数的状态为有效状态,用于采用基于网络延时的方式探测网络带宽;第二探测模块,若检测出网络状态参数的状态不为有效状态、且检测出网络处于正常工作状态,用于采用丢包探测的方式探测网络带宽,其中,探测方式包括丢包探测的方式;获取模块,若检测出网络状态参数的状态不为有效状态、且检测出网络处于异常工作状态,用于获取预设的拥塞窗口的窗口参数。
可选地,第二探测模块包括:获取子模块,用于获取配置的N条连接的信息,其中,N为自然数;第一确定子模块,用于通过第二公式确定网络带宽的拥塞窗口的窗口参数,其中,第二公式为:ωi(t1)=ω+N*ωi(t0),其中,ωi(t1)表示当前的拥塞窗口的窗口参数,ω表示基于N条连接的信息确定的拥塞窗口信息,ωi(t0)表示上一次采用丢包探测的方式进行网络带宽得到的拥塞窗口的窗口参数。
可选地,第一探测模块包括:第二确定子模块,用于通过第三公式确定拥塞窗口的窗口参数,其中,第三公式为:其中,ωi(t1)表示当前的拥塞窗口的窗口参数,ωi(t0)表示上一次基于网络延时的方式进行网络带宽得到的拥塞窗口的窗口参数,γ是收敛系数,αi表示网络中排队数据包的预估数量;D表示网络状态参数中的排队延时,d表示网络状态参数中的传输延时。
可选地,装置还包括:第一检测单元,用于在通过第三公式确定拥塞窗口的窗口参数之前,检测当前延时是否小于等于历史延时,其中,历史延时表示上次接收到数据包的延时;第一选取单元,若当前延时小于等于历史延时,用于从第一取值区间中选取收敛系数的值;第二选取单元,若当前延时大于历史延时,用于从第二取值区间中选取收敛系数的值,其中,第一取值区间中的最小值大于第二取值区间中的最大值。
可选地,装置还包括:第二检测单元,用于在检测网络状态参数的状态是否为有效状态之前,检测网络是否处于正常工作状态,其中,第二检测模块,用于检测是否接收到重复发送的确认指令ack,若检测到重复发送的确认指令,则检测出网络处于异常工作状态;第三检测模块,用于检测是否接收到超时重传指令,若检测到超时重传指令,则检测出网络处于异常工作状态。
通过上述实施例,在确定网络状态参数之后,按照与网络状态参数的状态对应的探测方式,探测网络带宽,然后基于探测方式选择拥塞控制算法,用于计算拥塞窗口的参数,按照该确定的拥塞窗口的窗口参数,向终端发送数据包。在上述实施例中,在需传输数据包时,可以基于表示网络的延时状态的网络状态参数确定探测方式,并利用确定的探测方式确定拥塞窗口的参数,以进行数据传输,基于网络状态参数可以准确地确定拥塞窗口的窗口参数,按照该窗口参数传输数据包可以实现数据的快速传输,解决了现有技术中无线网络传输速度慢的问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种网络传输的控制方法,其特征在于,包括:
获取网络状态参数,其中,所述网络状态参数表示网络的延时;
基于所述网络状态参数确定网络带宽探测方式;
基于所述网络带宽探测方式选择拥塞控制算法,计算拥塞窗口的参数;
按照所述拥塞窗口的参数,向对端发送数据包。
2.根据权利要求1所述的方法,其特征在于,获取网络状态参数包括:
通过第一公式确定平均延时,其中,所述第一公式为:
avgRTT=((scale-1)*avgRTT+rtt)/scale,其中,avgRTT表示平均延时,scale表示第一延时参数,rtt表示当前延时;
基于所述当前延时确定传输延时;
基于所述平均延时与所述传输延时确定排队延时。
3.根据权利要求1所述的方法,其特征在于,基于所述网络状态参数确定网络带宽探测方式包括:
检测所述网络状态参数的状态是否为有效状态;
若检测出所述网络状态参数的状态为有效状态,则采用基于网络延时的方式探测网络带宽;
若检测出所述网络状态参数的状态不为有效状态、且检测出所述网络处于正常工作状态,则采用丢包探测的方式探测网络带宽,其中,所述探测方式包括所述丢包探测的方式;
若检测出所述网络状态参数的状态不为有效状态、且检测出所述网络处于异常工作状态,则获取预设的拥塞窗口的窗口参数。
4.根据权利要求3所述的方法,其特征在于,采用丢包探测的方式探测网络带宽包括:
获取配置的N条连接的信息,其中,N为自然数;
通过第二公式确定所述网络带宽的拥塞窗口的窗口参数,其中,所述第二公式为:
ωi(t1)=ω+N*ωi(t0),其中,所述ωi(t1)表示当前的所述拥塞窗口的窗口参数,ω表示基于所述N条连接的信息确定的拥塞窗口信息,ωi(t0)表示上一次采用丢包探测的方式进行网络带宽得到的拥塞窗口的窗口参数。
5.根据权利要求3所述的方法,其特征在于,采用基于网络延时的方式探测网络带宽包括:
通过第三公式确定所述拥塞窗口的窗口参数,其中,所述第三公式为:
其中,所述ωi(t1)表示当前的拥塞窗口的窗口参数,ωi(t0)表示上一次基于网络延时的方式进行网络带宽得到的拥塞窗口的窗口参数,γ是收敛系数,αi表示网络中排队数据包的预估数量;D表示所述网络状态参数中的排队延时,d表示所述网络状态参数中的传输延时。
6.根据权利要求5所述的方法,其特征在于,在通过第三公式确定所述拥塞窗口的窗口参数之前,所述方法还包括:
检测所述当前延时是否小于等于历史延时,其中,所述历史延时表示上次接收到数据包的延时;
若所述当前延时小于等于所述历史延时,则从第一取值区间中选取所述收敛系数的值;
若所述当前延时大于所述历史延时,则从第二取值区间中选取所述收敛系数的值,其中,所述第一取值区间中的最小值大于所述第二取值区间中的最大值。
7.根据权利要求3所述的方法,其特征在于,在检测所述网络状态参数的状态是否为有效状态之前,所述方法还包括:检测网络是否处于正常工作状态,其中,
检测是否接收到重复发送的确认指令,若检测到所述重复发送的确认指令,则检测出所述网络处于异常工作状态;
检测是否接收到超时重传指令,若检测到所述超时重传指令,则检测出所述网络处于异常工作状态。
8.一种网络传输的控制装置,其特征在于,包括:
获取单元,用于获取网络状态参数,其中,所述网络状态参数表示网络的延时;
确定单元,用于基于所述网络状态参数确定网络带宽探测方式;
选择单元,用于基于所述网络带宽探测方式选择拥塞控制算法;
计算单元,用于计算拥塞窗口的参数;
发送单元,用于按照所述拥塞窗口的参数,向对端发送数据包。
9.根据权利要求8所述的装置,其特征在于,所述获取单元包括:
确定模块,用于通过第一公式确定平均延时,其中,所述第一公式为:
avgRTT=((scale-1)*avgRTT+rtt)/scale,其中,avgRTT表示平均延时,scale表示第一延时参数,rtt表示当前延时;
第一确定模块,用于基于所述当前延时确定传输延时;
第二确定模块,用于基于所述平均延时与所述传输延时确定排队延时。
10.根据权利要求8所述的装置,其特征在于,所述确定单元包括:
第一检测模块,用于检测所述网络状态参数的状态是否为有效状态;
第一探测模块,若检测出所述网络状态参数的状态为有效状态,用于采用基于网络延时的方式探测网络带宽;
第二探测模块,若检测出所述网络状态参数的状态不为有效状态、且检测出所述网络处于正常工作状态,用于采用丢包探测的方式探测网络带宽,其中,所述探测方式包括所述丢包探测的方式;
获取模块,若检测出所述网络状态参数的状态不为有效状态、且检测出所述网络处于异常工作状态,用于获取预设的拥塞窗口的窗口参数。
CN201710037306.8A 2017-01-17 2017-01-17 网络传输拥塞的控制方法及装置 Expired - Fee Related CN108322401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710037306.8A CN108322401B (zh) 2017-01-17 2017-01-17 网络传输拥塞的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710037306.8A CN108322401B (zh) 2017-01-17 2017-01-17 网络传输拥塞的控制方法及装置

Publications (2)

Publication Number Publication Date
CN108322401A true CN108322401A (zh) 2018-07-24
CN108322401B CN108322401B (zh) 2022-01-25

Family

ID=62892024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710037306.8A Expired - Fee Related CN108322401B (zh) 2017-01-17 2017-01-17 网络传输拥塞的控制方法及装置

Country Status (1)

Country Link
CN (1) CN108322401B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061925A (zh) * 2019-04-22 2019-07-26 深圳市瑞云科技有限公司 一种基于云服务器的影像避免拥塞及加速传输方法
CN110856214A (zh) * 2019-10-29 2020-02-28 广东省电信规划设计院有限公司 一种tcp拥塞控制方法及装置
CN111212126A (zh) * 2019-12-27 2020-05-29 百度在线网络技术(北京)有限公司 一种区块链网络的数据传输方法、装置、设备和介质
CN111371692A (zh) * 2020-03-13 2020-07-03 中科驭数(北京)科技有限公司 基于tcp协议的窗口控制方法、装置和电子设备
CN111404823A (zh) * 2020-03-05 2020-07-10 广东睿江云计算股份有限公司 一种tcp动态选择拥塞算法的方法及其***
WO2021013260A1 (zh) * 2019-07-25 2021-01-28 中兴通讯股份有限公司 一种网络传输控制方法及装置
CN113556213A (zh) * 2020-04-23 2021-10-26 华为技术有限公司 超时重传时间rto确定方法及相关装置
CN114389975A (zh) * 2022-02-08 2022-04-22 北京字节跳动网络技术有限公司 网络带宽预估方法、装置、***、电子设备及存储介质
CN115086235A (zh) * 2022-05-31 2022-09-20 北京达佳互联信息技术有限公司 网络拥塞检测方法、装置、电子设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090073975A1 (en) * 2007-09-19 2009-03-19 Nec Corporation Communication method and communication device
CN101917342A (zh) * 2010-08-25 2010-12-15 天津理工大学 一种面向普适服务的自适应网络拥塞控制方法
CN105227484A (zh) * 2015-10-16 2016-01-06 中国人民解放军国防科学技术大学 一种面向卫星网络的数据传输控制方法
CN106059950A (zh) * 2016-05-25 2016-10-26 四川大学 一种基于scps‑tp的自适应网络拥塞控制方法
CN106131208A (zh) * 2016-08-09 2016-11-16 中南大学 一种数据中心网络中http高并发数据传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090073975A1 (en) * 2007-09-19 2009-03-19 Nec Corporation Communication method and communication device
CN101917342A (zh) * 2010-08-25 2010-12-15 天津理工大学 一种面向普适服务的自适应网络拥塞控制方法
CN105227484A (zh) * 2015-10-16 2016-01-06 中国人民解放军国防科学技术大学 一种面向卫星网络的数据传输控制方法
CN106059950A (zh) * 2016-05-25 2016-10-26 四川大学 一种基于scps‑tp的自适应网络拥塞控制方法
CN106131208A (zh) * 2016-08-09 2016-11-16 中南大学 一种数据中心网络中http高并发数据传输方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061925A (zh) * 2019-04-22 2019-07-26 深圳市瑞云科技有限公司 一种基于云服务器的影像避免拥塞及加速传输方法
WO2021013260A1 (zh) * 2019-07-25 2021-01-28 中兴通讯股份有限公司 一种网络传输控制方法及装置
CN110856214B (zh) * 2019-10-29 2023-01-10 广东省电信规划设计院有限公司 一种tcp拥塞控制方法及装置
CN110856214A (zh) * 2019-10-29 2020-02-28 广东省电信规划设计院有限公司 一种tcp拥塞控制方法及装置
CN111212126A (zh) * 2019-12-27 2020-05-29 百度在线网络技术(北京)有限公司 一种区块链网络的数据传输方法、装置、设备和介质
CN111404823A (zh) * 2020-03-05 2020-07-10 广东睿江云计算股份有限公司 一种tcp动态选择拥塞算法的方法及其***
CN111371692A (zh) * 2020-03-13 2020-07-03 中科驭数(北京)科技有限公司 基于tcp协议的窗口控制方法、装置和电子设备
CN113556213A (zh) * 2020-04-23 2021-10-26 华为技术有限公司 超时重传时间rto确定方法及相关装置
CN113556213B (zh) * 2020-04-23 2022-12-06 华为技术有限公司 超时重传时间rto确定方法及相关装置
CN114389975A (zh) * 2022-02-08 2022-04-22 北京字节跳动网络技术有限公司 网络带宽预估方法、装置、***、电子设备及存储介质
CN114389975B (zh) * 2022-02-08 2024-03-08 北京字节跳动网络技术有限公司 网络带宽预估方法、装置、***、电子设备及存储介质
CN115086235A (zh) * 2022-05-31 2022-09-20 北京达佳互联信息技术有限公司 网络拥塞检测方法、装置、电子设备以及存储介质
CN115086235B (zh) * 2022-05-31 2024-03-26 北京达佳互联信息技术有限公司 网络拥塞检测方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
CN108322401B (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN108322401A (zh) 网络传输拥塞的控制方法及装置
JP7173587B2 (ja) パケット伝送システムおよび方法
US10594596B2 (en) Data transmission
CN105991462B (zh) 传输控制协议tcp数据包的发送方法、发送装置和***
US8661295B1 (en) Monitoring and detecting causes of failures of network paths
CN103986548B (zh) 一种确定丢包原因的方法和终端
CN104836732B (zh) 网络连接的自动选择方法及***
EP3100420A2 (en) Buffer sizing for multi-hop networks
US10355961B2 (en) Network traffic capture analysis
CN101895466A (zh) 一种降低sctp多路径传输数据包乱序影响的方法
CN108809847A (zh) 实现负载均衡的方法、装置和网络***
CN102638407A (zh) 报文转发方法、装置及网络设备
CN108696449A (zh) 一种数据调度方法及装置
CN106612284A (zh) 一种流数据的传输方法和装置
EP2993867A1 (en) Communication system, control apparatus, and communication method
CN106302230B (zh) 一种数据传输方法及装置
CN108429682A (zh) 一种网络传输链路的优化方法及***
JP5775214B2 (ja) 適応性の伝送キュー長を用いたデータパケット損失低減システムおよび方法
JP2015154325A (ja) 装置選択ネットワークシステム、装置選択サーバおよびプログラム
CN110808917B (zh) 多链路聚合数据重传方法及发送设备
CN105939404B (zh) Nat资源的获取方法及装置
JP5128556B2 (ja) トラヒック情報収集装置、トラヒック情報収集方法およびそのプログラム
CN110995593A (zh) 智能信息转发方法、装置、设备及存储介质
Pournaghshband et al. End-to-End Detection of Middlebox Interference
CN105580330B (zh) 一种数据传输的方法、设备和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220125

CF01 Termination of patent right due to non-payment of annual fee