CN110856214B - 一种tcp拥塞控制方法及装置 - Google Patents

一种tcp拥塞控制方法及装置 Download PDF

Info

Publication number
CN110856214B
CN110856214B CN201911034669.1A CN201911034669A CN110856214B CN 110856214 B CN110856214 B CN 110856214B CN 201911034669 A CN201911034669 A CN 201911034669A CN 110856214 B CN110856214 B CN 110856214B
Authority
CN
China
Prior art keywords
user terminal
tcp
service flow
base station
service
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.)
Active
Application number
CN201911034669.1A
Other languages
English (en)
Other versions
CN110856214A (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.)
Guangdong Planning and Designing Institute of Telecommunications Co Ltd
Original Assignee
Guangdong Planning and Designing Institute of Telecommunications 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 Guangdong Planning and Designing Institute of Telecommunications Co Ltd filed Critical Guangdong Planning and Designing Institute of Telecommunications Co Ltd
Priority to CN201911034669.1A priority Critical patent/CN110856214B/zh
Publication of CN110856214A publication Critical patent/CN110856214A/zh
Application granted granted Critical
Publication of CN110856214B publication Critical patent/CN110856214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control

Abstract

本发明公开了一种TCP拥塞控制方法及装置,该方法包括:基站周期性地计算当前周期内用户终端的平均队列时延,并计算用户终端所包含的所有业务流中每个业务流对应的TCP参数,得到TCP参数集合;基站将TCP数据发送至用户终端,该TCP数据包括平均队列时延以及TCP参数集合;用户终端接收基站发送的TCP数据,并根据TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口。可见,实施本发明通过基站反馈的TCP数据来调整其拥塞窗口,降低通信数据丢失所造成长队列的可能性,从而有效地降低了用户终端的队列延时,以及有助于提高数据发送速率,从而有助于改善网络拥塞以及提升网络利用率的效果。

Description

一种TCP拥塞控制方法及装置
技术领域
本发明涉及通信网络技术领域,尤其涉及一种TCP拥塞控制方法及装置。
背景技术
自从TCP/IP(TransmissionControlProtocol/InternetProtocol)协议栈在上世纪90年代提出以来,互联网在该协议栈的基础上得到了巨大的发展。为了降低TCP/IP在通信过程中出现窗口拥塞的情况,需要经常调整TCP拥塞窗口。
目前TCP拥塞窗口的调整方法一般为基于传统TCP拥塞控制方法(例如:Reno、Cubic等)在数据通信的过程中丢失通信数据包(简称丢包),该传统TCP拥塞控制方法旨在提高网络的吞吐量,却忽略了在丢包的过程中所产生的长队列,这导致给用户终端带来了巨大的队列时延,降低了用户终端的数据通信效率。
发明内容
本发明所要解决的技术问题在于,提供一种TCP拥塞控制方法及装置,能够通过基站反馈的信息来判断在无线链路的拥塞程度,从而调整其拥塞窗口,降低通信数据丢失所造成长队列的可能性,从而有效地降低了用户终端的队列延时。
为了解决上述技术问题,本发明实施例第一方面公开了一种TCP拥塞控制方法,所述方法包括:
基站周期性地计算当前周期内用户终端的平均队列时延,所述当前周期为一个以预设时间段长度形成的周期;
所述基站计算所述用户终端所包含的所有业务流中每个所述业务流对应的TCP参数,得到TCP参数集合,每个所述业务流都有对应的拥塞窗口;
所述基站将TCP数据发送至所述用户终端,所述TCP数据包括所述平均队列时延以及所述TCP参数集合;
所述用户终端接收所述基站发送的所述TCP数据,并根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口。
作为一种可选的实施方式,在本发明实施例第一方面中,所述基站计算所述用户终端所包含的所有业务流中每个所述业务流对应的TCP参数,得到TCP参数集合,包括:
所述基站记录所述用户终端所包含的所有业务流中每个所述业务流的大小,并根据预先确定出的流量大小划分规则将所有所述业务流划分为第一业务流组和第二业务流组,所述第一业务流组所包含的所有业务流中每个所述业务流的流量大小均大于所述第二业务流组所包含的所有业务流中每个所述业务流的流量大小;
所述基站确定当前网络拥塞状态,并根据所述当前网络拥塞状态分别计算所述第一业务流组中每个所述业务流以及所述第二业务流组中每个所述业务流对应的TCP参数,得到TCP参数集合。
作为一种可选的实施方式,在本发明实施例第一方面中,所述用户终端根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口之前,所述方法还包括:
所述基站判断所述当前周期对应的上一周期所述用户终端是否产生队列;
当判断出所述用户终端未产生所述队列时,所述基站向所述用户终端发送第一调节通知,所述第一调节通知用于通知所述用户终端增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口;
所述用户终端接收所述基站发送的所述第一调节通知;
其中,所述用户终端根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口,包括:
所述用户终端根据所述第一调节通知以及所述TCP数据增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口。
作为一种可选的实施方式,在本发明实施例第一方面中,当判断出所述用户终端产生所述队列时,所述基站向所述用户终端发送第二调节通知,所述第二调节通知用于通知所述用户终端减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口;
所述用户终端接收所述基站发送的所述第二调节通知;
其中,所述用户终端根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口,包括:
所述用户终端根据所述第二调节通知以及所述TCP数据减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口。
作为一种可选的实施方式,在本发明实施例第一方面中,所述用户终端确定目标传输时延,并跟踪每个周期内的平均传输时延,以及判断所述平均传输时延是否小于所述目标传输时延;
以及,所述用户终端根据所述第一调节通知以及所述TCP数据增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口,包括:
当判断出所述平均传输时延小于所述目标传输时延时,所述用户终端根据所述第一调节通知、所述TCP数据以及预先确定出的拥塞窗口调节公式增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口,所述拥塞窗口调节公式为:
Figure GDA0003908933540000031
其中,所述acked_bytes是所述用户终端在所述当前周期内接收到所述基站发送的ACK报文的字节大小,所述cwnd是每个所述业务流对应的拥塞窗口。
作为一种可选的实施方式,在本发明实施例第一方面中,在判断出所述用户终端造成所述队列之后,所述方法还包括:
所述用户终端确定每个所述业务流对应的拥塞窗口的拥塞程度,并根据预先确定出的量化公式量化所述拥塞程度,所述量化公式为:
Figure GDA0003908933540000032
其中,所述d值越小,表示所述用户终端的链路具有更多空余带宽,所述d值越大,表示所述用户终端的链路越拥塞;
所述p用于表示所述平均队列时延对所述用户终端的时延影响程度,且所述p的计算公式为:
Figure GDA0003908933540000041
其中,所述Dqueue_avg为所述平均队列时延,所述Dtarget为所述目标传输时延,所述Davg为所述平均传输时延。
作为一种可选的实施方式,在本发明实施例第一方面中,所述用户终端根据所述第二调节通知减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口,包括:
所述用户终端基于预先确定出的带宽调整公式以及所述第二调节通知减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口,所述带宽调整公式为:
Figure GDA0003908933540000042
其中,所述β为CUBIC的乘性减因子。
作为一种可选的实施方式,在本发明实施例第一方面中,所述基站将TCP数据发送至所述用户终端,包括:
所述基站将TCP数据负载在ACK报文上,并将所述ACK报文发送给所述用户终端;或者,
所述基站将TCP数据发送至所述用户终端。
本发明实施例第二方面公开了一种TCP拥塞控制装置,所述装置包括基站以及用户终端,所述基站包括计算模块以及发送模块,所述用户终端包括接收模块以及调节模块,其中:
所述计算模块,用于周期性地计算当前周期内用户终端的平均队列时延,所述当前周期为一个以预设时间段长度形成的周期;
所述计算模块,还用于计算所述用户终端所包含的所有业务流中每个所述业务流对应的TCP参数,得到TCP参数集合,每个所述业务流都有对应的拥塞窗口;
所述发送模块,用于将TCP数据发送至所述用户终端,所述TCP数据包括所述平均队列时延以及所述TCP参数集合;
所述接收模块,用于接收所述基站发送的所述TCP数据;
所述调节模块,用于根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口。
作为一种可选的实施方式,在本发明实施例第二方面中,所述计算模块计算所述用户终端所包含的所有业务流中每个所述业务流对应的TCP参数,得到TCP参数集合的方式具体为:
记录所述用户终端所包含的所有业务流中每个所述业务流的大小,并根据预先确定出的流量大小划分规则将所有所述业务流划分为第一业务流组和第二业务流组,所述第一业务流组所包含的所有业务流中每个所述业务流的流量大小均大于所述第二业务流组所包含的所有业务流中每个所述业务流的流量大小;
确定当前网络拥塞状态,并根据所述当前网络拥塞状态分别计算所述第一业务流组中每个所述业务流以及所述第二业务流组中每个所述业务流对应的TCP参数,得到TCP参数集合。
作为一种可选的实施方式,在本发明实施例第二方面中,所述基站还包括第一判断模块,其中:
所述第一判断模块,用于在所述调节模块根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口之前,判断所述当前周期对应的上一周期所述用户终端是否产生队列;
所述发送模块,还用于当所述第一判断模块判断出所述用户终端未产生所述队列时,向所述用户终端发送第一调节通知,所述第一调节通知用于通知所述用户终端增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口;
所述接收模块,还用于接收所述基站发送的所述第一调节通知;
其中,所述调节模块根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口的方式具体为:
根据所述第一调节通知以及所述TCP数据增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口。
作为一种可选的实施方式,在本发明实施例第二方面中,所述发送模块,还用于当所述第一判断模块判断出所述用户终端产生所述队列时,向所述用户终端发送第二调节通知,所述第二调节通知用于通知所述用户终端减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口;
所述接收模块,还用于接收所述基站发送的所述第二调节通知;
其中,所述调节模块根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口的方式具体为:
根据所述第二调节通知以及所述TCP数据减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口。
作为一种可选的实施方式,在本发明实施例第二方面中,所述用户终端还包括第一确定模块、跟踪模块以及第二判断模块,其中:
所述第一确定模块,用于确定目标传输时延;
所述跟踪模块,用于跟踪每个周期内的平均传输时延;
所述第二判断模块,用于判断所述平均传输时延是否小于所述目标传输时延;
以及,所述调节模块根据所述第一调节通知以及所述TCP数据增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口的方式具体为:
当所述第二判断模块判断出所述平均传输时延小于所述目标传输时延时,根据所述第一调节通知、所述TCP数据以及预先确定出的拥塞窗口调节公式增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口,所述拥塞窗口调节公式为:
Figure GDA0003908933540000061
其中,所述acked_bytes是所述用户终端在所述当前周期内接收到所述基站发送的ACK报文的字节大小,所述cwnd是每个所述业务流对应的拥塞窗口。
作为一种可选的实施方式,在本发明实施例第二方面中,所述用户终端还包括第二确定模块以及量化模块,其中:
所述第二确定模块,用于在所述第二判断模块判断出所述用户终端造成所述队列之后,确定每个所述业务流对应的拥塞窗口的拥塞程度;
所述量化模块,用于根据预先确定出的量化公式量化所述拥塞程度,所述量化公式为:
Figure GDA0003908933540000071
其中,所述d值越小,表示所述用户终端的链路具有更多空余带宽,所述d值越大,表示所述用户终端的链路越拥塞;
所述p用于表示所述平均队列时延对所述用户终端的时延影响程度,且所述p的计算公式为:
Figure GDA0003908933540000072
其中,所述Dqueue_avg为所述平均队列时延,所述Dtarget为所述目标传输时延,所述Davg为所述平均传输时延。
作为一种可选的实施方式,在本发明实施例第二方面中,所述调节模块根据所述第二调节通知减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口的方式具体为:
基于预先确定出的带宽调整公式以及所述第二调节通知减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口,所述带宽调整公式为:
Figure GDA0003908933540000073
其中,所述β为CUBIC的乘性减因子。
作为一种可选的实施方式,在本发明实施例第二方面中,所述发送模块将TCP数据发送至所述用户终端的方式具体为:
将TCP数据负载在ACK报文上,并将所述ACK报文发送给所述用户终端;或者,
将TCP数据发送至所述用户终端。
本发明第三方面公开了另一种TCP拥塞控制装置,该装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的TCP拥塞控制方法。
本发明第四方面公开了一种计算机可存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的TCP拥塞控制方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,公开了一种TCP拥塞控制方法及装置,该方法包括基站周期性地计算当前周期内用户终端的平均队列时延,该当前周期为一个以预设时间段长度形成的周期;基站计算用户终端所包含的所有业务流中每个业务流对应的TCP参数,得到TCP参数集合,每个业务流都有对应的拥塞窗口;基站将TCP数据发送至用户终端,该TCP数据包括平均队列时延以及TCP参数集合;用户终端接收基站发送的TCP数据,并根据TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口。可见,实施本发明实施例通过基站计算用户终端的平均队列时延以及用户终端所包含的每个业务流的TCP参数,并将包含平均队列时延以及TCP参数的TCP数据发给用户终端,用户终端接收该TCP数据,并根据该TCP数据来调整其拥塞窗口,降低通信数据丢失所造成长队列的可能性,从而有效地降低了用户终端的队列延时,以及有助于提高数据发送速率,从而有助于改善网络拥塞以及提升网络利用率的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种TCP拥塞控制方法的流程示意图;
图2是本发明实施例公开的一种TCP拥塞控制装置的结构示意图;
图3是本发明实施例公开的另一种TCP拥塞控制装置的结构示意图;
图4是本发明实施例公开的又一种TCP拥塞控制装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种TCP拥塞控制方法及装置,能够通过基站计算用户终端的平均队列时延以及用户终端所包含的每个业务流的TCP参数,并将包含平均队列时延以及TCP参数的TCP数据发给用户终端,用户终端接收该TCP数据,并根据该TCP数据来调整其拥塞窗口,降低通信数据丢失所造成长队列的可能性,从而有效地降低了用户终端的队列延时,以及有助于提高数据发送速率,从而有助于改善网络拥塞以及提升网络利用率的效果。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种TCP拥塞控制方法的流程示意图。其中,图1所描述的TCP拥塞控制方法可以应用于基站以及用户终端中,本发明实施例不做限定。如图1所示,该TCP拥塞控制方法可以包括以下操作:
101、基站周期性地计算当前周期内用户终端的平均队列时延,该当前周期为一个以预设时间段长度形成的周期。
本发明实施例中,该预设时间段长度可以为任意一个时间长度的时间段,例如:100ms。
本发明实施例中,作为一种可选的实施方式,基站周期性地计算当前周期内用户终端的平均队列时延,可以包括:
基站检测当前周期内用户终端的队列延时和接入该基站的其他所有用户终端的队列时延,并基于用户终端的队列延时以及其他所有用户终端的队列时延计算用户终端的平均队列时延。
可见,该可选的实施方式通过检测当前接入基站的所有用户终端的队列时延,实现用户终端的是平均队列时延的计算。
102、基站计算用户终端所包含的所有业务流中每个业务流对应的TCP参数,得到TCP参数集合,每个业务流都有对应的拥塞窗口。
本本发明实施例中,该业务流可以包括视频业务流、文件传输业务流、语音业务流、上网业务流以及后台运行业务流等业务流中的至少一种,本发明实施例不做限定。
本发明实施例中,该TCP参数(也称:TCP拥塞控制参数或者TCP拥塞参数)可以包括拥塞窗口(cwnd)。
本发明实施例中,作为一种可选的实施方式,基站计算用户终端所包含的所有业务流中每个业务流对应的TCP参数,得到TCP参数集合,可以包括:
基站记录用户终端所包含的所有业务流中每个业务流的大小,并根据预先确定出的流量大小划分规则将所有业务流划分为第一业务流组和第二业务流组,第一业务流组所包含的所有业务流中每个业务流的流量大小均大于第二业务流组所包含的所有业务流中每个业务流的流量大小;
基站确定当前网络拥塞状态,并根据当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
该可选的实施方式中,该流量大小划分规则可以包括大于预设流量大小(例如:500KB)的划分规则,则大于预设流量大小的业务流划分为第一业务流组,小于预设流量大小的业务流划分为第二业务流组。
本发明实施例中,当前网络拥塞状态可以表示为用户终端的上述平均队列时延。
本发明实施方式中,第一业务流组也称为背景流组或者大流组,第二业务流组也称为老鼠流流组或者小流组,本发明实施例不做限定。
该可选的实施方式中,作为一种可选的实施方式,基站根据当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合,可以包括:
基站基于预先确定出的拥塞控制算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
该可选的实施方式中,该拥塞控制算法可以包括Vegas、FastTCP以及BBR中的至少一种,该可选的实施方式中不做限定。
具体的,基站基于预先确定出的拥塞控制算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合之前,基站还可以获取当前周期内用户终端的第一往返时延(往返时延,Round-TripTime,RTT)以及上一周期的第二往返时延,并判断第一往返时延是否大于第二往返时延;
其中,基站基于预先确定出的拥塞控制算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合,可以包括:
当判断出第一往返时延大于第二往返时延时,基站基于Vegas算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
这样当用户终端的当前周期内的往返时延大于上一周期的往返时延时,通过Vegas算法计算每个业务流的TCP参数,能够提高业务流的TCP参数,进而有利于后续的该业务流的拥塞窗口的调整准确性。
进一步的,当判断出第一往返时延小于等于第二往返时延时,基站基于Vegas算法、FastTCP算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
这样当判断出第一往返时延小于等于第二往返时延时,基站基于Vegas算法以及FastTCP算法计算业务流的TCP参数,能够提高业务流的TCP参数的计算准确性。
该可选的实施方式中,进一步的,在基站获取当前周期内用户终端的第一往返时延(往返时延,Round-Trip Time,RTT)之后,基站还可以判断第一往返时延是否大于等于预设往返时延,当判断出第一往返时延不大于等于预设往返时延(例如:1000ms)时,触发执行上述的判断第一往返时延是否大于第二往返时延操作;
当判断出第一往返时延大于第二往返时延时,基站基于BBR算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
这样在获取到用户终端的当前周期内的往返时延之后,进一步判断该往返时延是否大于等于预设往返时延,当判断结果为是时,基于BBR算法计算每个业务流的TCP参数,能够提高业务流的TCP参数的计算准确性。
可见,该可选的实施方式通过获取拥塞控制算法,实现每个业务流的TCP参数的计算,并且根据不同的情况采取不同的拥塞控制算法,能够提高每个业务流的TCP参数的计算灵活性、准确性以及可靠性,从而提高拥塞窗口的调整准确性,进而提高数据的传输速率。
可见,该可选的实施方式通过将用户终端的所有业务流按照流量大小进行划分,得到两组流量大小不同的业务流组,并计算每组业务流组中的每个业务流的TCP参数,提高业务流的TCP参数的计算速率。
103、基站将TCP数据发送至用户终端,该TCP数据包括平均队列时延以及TCP参数集合。
本发明实施例中,作为一种可选的实施方式,基站将TCP数据发送至用户终端,可以包括:
基站将TCP数据负载在ACK报文上,并将该ACK报文发送给用户终端;或者,
基站将TCP数据发送至用户终端。
可见,该可选的实施方式通过将TCP数据负载在ACK报文上发送给用户终端或者直接将TCP数据发送给用户终端,能够丰富TCP数据的发送方式,提高TCP数据发送的灵活性。当通过将TCP数据加载在ACK报文上,发送给用户终端时,能够减少直接将TCP数据发送至用户终端而产生其他报文的传输数量,有利于有效降低网络的拥塞情况,进而提高数据的传输效率。
104、用户终端接收基站发送的TCP数据,并根据该TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口。
在一个可选的实施例中,在执行步骤104之前,该TCP拥塞控制方法还可以包括以下步骤:
基站判断当前周期对应的上一周期用户终端是否产生队列;
当判断出用户终端未产生队列时,基站向用户终端发送第一调节通知,该第一调节通知用于通知用户终端增大用户终端所包含的所有业务流组中每个业务流对应的拥塞窗口;
用户终端接收基站发送的第一调节通知。
其中,用户终端根据TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口,可以包括:
用户终端根据第一调节通知以及TCP数据增大用户终端所包含的所有业务流组中每个业务流对应的拥塞窗口。
该可选的实施例中,当上一周期用户终端的业务流的传输时长大于预设传输时长(例如:3s)时,则表示上一周期用户终端产生队列。
可见,该可选的实施例通过判断用户终端在当前周期对应的上个周期是否产生队列,当未产生队列时,通知用户终端增大其每个业务流对应的拥塞窗口,从而实现提高每个业务流的传输效率。
在另一个可选的实施例中,该TCP拥塞控制方法还可以包括以下步骤:
用户终端确定目标传输时延,并跟踪每个周期内的平均传输时延,以及判断平均传输时延是否小于目标传输时延;
以及,用户终端根据第一调节通知以及TCP数据增大用户终端所包含的所有业务流组中每个业务流对应的拥塞窗口,可以包括:
当判断出平均传输时延小于目标传输时延时,用户终端根据第一调节通知、TCP数据以及预先确定出的拥塞窗口调节公式增大用户终端所包含的所有业务流组中每个业务流对应的拥塞窗口,该拥塞窗口调节公式为:
Figure GDA0003908933540000141
其中,acked_bytes是用户终端在当前周期内接收到基站发送的ACK报文的字节大小,cwnd是每个业务流对应的拥塞窗口。
该可选的实施例中,用户终端通过socket的option算法来确定目标传输时延。
该可选的实施例中,用户终端跟踪每个周期内的平均传输时延具体为:用户终端基于上述第一往返时延以及当前网络时延计算平均传输时延作为当前周期的平均传输时延。
可见,该可选的实施例通过跟踪用户终端每个周期内的平均传输时延,并将该平均传输时延与目标传输时延比较,当平均传输时延小于目标传输时延时,通过拥塞窗口调节公式增大用户终端的每个业务流的拥塞窗口,以实现网络在没有拥塞时,提高网络链路的利用率。
在又一个可选的实施例中,该TCP拥塞控制方法还可以包括以下步骤:
当判断出用户终端产生队列时,基站向用户终端发送第二调节通知,该第二调节通知用于通知用户终端减小第一业务流组所包含的所有业务流中每个业务流对应的拥塞窗口;
用户终端接收基站发送的第二调节通知;
其中,用户终端根据TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口,可以包括:
用户终端根据第二调节通知以及TCP数据减小第一业务流组所包含的所有业务流中每个业务流对应的拥塞窗口。
可见,该可选的实施例在基站判断出用户产生队列时,向用户终端发送减少流量较大的业务流对应的拥塞窗口,以使得用户终端的每个业务流都能够实现数据的传输,从而提高用户的使用体验。
在又一个可选的实施例中,该TCP拥塞控制方法还可以包括以下步骤:
在判断出用户终端造成队列之后,用户终端确定每个业务流对应的拥塞窗口的拥塞程度,并根据预先确定出的量化公式量化拥塞程度,该量化公式为:
Figure GDA0003908933540000151
其中,d值越小,表示用户终端的链路具有更多空余带宽,d值越大,表示用户终端的链路越拥塞;
p用于表示平均队列时延对用户终端的时延影响程度,且该p的计算公式为:
Figure GDA0003908933540000152
其中,Dqueue_avg为平均队列时延,Dtarget为目标传输时延,该Davg为平均传输时延。
在该可选的实施例中,作为一种可选的实施方式,用户终端根据第二调节通知减小第一业务流组所包含的所有业务流中每个业务流对应的拥塞窗口,可以包括:
用户终端基于预先确定出的带宽调整公式以及第二调节通知减小第一业务流组所包含的所有业务流中每业务流对应的拥塞窗口,该带宽调整公式为:
Figure GDA0003908933540000153
其中,β为CUBIC的乘性减因子。
可见,该可选的实施方式通过根据业务流的拥塞窗口的拥塞程度的量化结果,获取用于调整业务流的带宽调整公式,并通过该带宽调整公式,实现拥塞窗口的调节。
可见,该可选的实施例在判断出用户终端造成队列之后,进一步确定每个业务流对应的拥塞窗口的拥塞程度,并量化该拥塞程度,能够将每个业务流的拥塞窗口数字化,从而能够更直观地知晓每个业务流的拥塞情况,进而便于提高后续的拥塞窗口的调节操作的准确度以及效率。
可见,图1所描述的TCP拥塞控制方法能够通过基站计算用户终端的平均队列时延以及用户终端所包含的每个业务流的TCP参数,并将包含平均队列时延以及TCP参数的TCP数据发给用户终端,用户终端接收该TCP数据,并根据该TCP数据来调整其拥塞窗口,降低通信数据丢失所造成长队列的可能性,从而有效地降低了用户终端的队列延时,以及有助于提高数据发送速率,从而有助于改善网络拥塞以及提升网络利用率的效果。此外,还能够提高每个业务流的TCP参数的计算灵活性、准确性以及可靠性,从而提高拥塞窗口的调整准确性,降低队列造成的影响,进而提高数据的传输速率;还能够通过将用户终端的所有业务流按照流量大小进行划分,得到两组流量大小不同的业务流组,并计算每组业务流组中的每个业务流的TCP参数,提高业务流的TCP参数的计算速率;还能够丰富TCP数据的发送方式,提高TCP数据发送的灵活性;还能够有效降低网络的拥塞情况,进而提高数据的传输效率;还能够将每个业务流的拥塞窗口数字化,从而能够更直观地知晓每个业务流的拥塞情况,进而便于提高后续的拥塞窗口的调节操作的准确度以及效率。
实施例二
请参阅图2,图2是本发明实施例公开的一种TCP拥塞控制装置的结构示意图。其中,图2所描述的TCP拥塞控制装置可以应用于基站以及用户终端平台中,本发明实施例不做限定。如图2所示,该基站包括计算模块201以及发送模块202,用户终端包括接收模块203以及调节模块204,该TCP拥塞控制装置可以包括:
计算模块201,用于周期性地计算当前周期内用户终端的平均队列时延,该当前周期为一个以预设时间段长度形成的周期。
计算模块201,还用于计算用户终端所包含的所有业务流中每个业务流对应的TCP参数,得到TCP参数集合,每个业务流都有对应的拥塞窗口。
发送模块202,用于将TCP数据发送至用户终端,该TCP数据包括平均队列时延以及TCP参数集合。
接收模块203,用于接收基站发送的TCP数据。
调节模块204,用于根据TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口。
可见,实施图2所描述的TC拥塞控制装置能够通过基站计算用户终端的平均队列时延以及用户终端所包含的每个业务流的TCP参数,并将包含平均队列时延以及TCP参数的TCP数据发给用户终端,用户终端接收该TCP数据,并根据该TCP数据来调整其拥塞窗口,降低通信数据丢失所造成长队列的可能性,从而有效地降低了用户终端的队列延时,以及有助于提高数据发送速率,从而有助于改善网络拥塞以及提升网络利用率的效果。
在一个可选的实施例中,计算模块201计算用户终端所包含的所有业务流中每个业务流对应的TCP参数,得到TCP参数集合的方式具体为:
记录用户终端所包含的所有业务流中每个业务流的大小,并根据预先确定出的流量大小划分规则将所有业务流划分为第一业务流组和第二业务流组,该第一业务流组所包含的所有业务流中每个业务流的流量大小均大于第二业务流组所包含的所有业务流中每个业务流的流量大小;
确定当前网络拥塞状态,并根据该当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
可见,该可选的实施方式能够通过将用户终端的所有业务流按照流量大小进行划分,得到两组流量大小不同的业务流组,并计算每组业务流组中的每个业务流的TCP参数,提高业务流的TCP参数的计算速率。
在另一个可选的实施例中,计算模块201根据当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合的方式具体为:
基于预先确定出的拥塞控制算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
该可选的实施方式中,该拥塞控制算法可以包括Vegas、FastTCP以及BBR中的至少一种,该可选的实施方式中不做限定。
具体的,计算模块201,还用于在基于预先确定出的拥塞控制算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合之前,获取当前周期内用户终端的第一往返时延以及上一周期的第二往返时延,并判断第一往返时延是否大于第二往返时延;
其中,计算模块201基于预先确定出的拥塞控制算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合的方式具体为:
当判断出第一往返时延大于第二往返时延时,基于Vegas算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
这样当用户终端的当前周期内的往返时延大于上一周期的往返时延时,通过Vegas算法计算每个业务流的TCP参数,能够提高业务流的TCP参数,进而有利于后续的该业务流的拥塞窗口的调整准确性。
进一步的,当判断出第一往返时延小于等于第二往返时延时,基于Vegas算法、FastTCP算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
这样当判断出第一往返时延小于等于第二往返时延时,计算模块201基于Vegas算法以及FastTCP算法计算业务流的TCP参数,能够提高业务流的TCP参数的计算准确性。
该可选的实施方式中,进一步的,在获取当前周期内用户终端的第一往返时延(往返时延,Round-Trip Time,RTT)之后,计算模块201,还用于判断第一往返时延是否大于等于预设往返时延,当判断出第一往返时延不大于等于预设往返时延(例如:1000ms)时,触发执行上述的判断第一往返时延是否大于第二往返时延操作;
当判断出第一往返时延大于第二往返时延时,基于BBR算法以及当前网络拥塞状态分别计算第一业务流组中每个业务流以及第二业务流组中每个业务流对应的TCP参数,得到TCP参数集合。
这样在获取到用户终端的当前周期内的往返时延之后,进一步判断该往返时延是否大于等于预设往返时延,当判断结果为是时,基于BBR算法计算每个业务流的TCP参数,能够提高业务流的TCP参数的计算准确性。
可见,实施图2所描述的TCP拥塞控制装置还能够通过获取拥塞控制算法,实现每个业务流的TCP参数的计算,并且根据不同的情况采取不同的拥塞控制算法,能够提高每个业务流的TCP参数的计算灵活性、准确性以及可靠性,从而提高拥塞窗口的调整准确性,进而提高数据的传输速率。
在又一个可选的实施例,上述基站还可以包括第一判断模块205,此时,TCP拥塞控制装置可以如图3所示,图3为公开的另一种TCP拥塞控制装置,其中:
第一判断模块205,用于在调节模块204根据TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口之前,判断当前周期对应的上一周期用户终端是否产生队列。
发送模块202,还用于当第一判断模块205判断出用户终端未产生队列时,向用户终端发送第一调节通知,该第一调节通知用于通知用户终端增大用户终端所包含的所有业务流组中每个业务流对应的拥塞窗口。
接收模块203,还用于接收基站发送的第一调节通知。
其中,调节模块204根据TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口的方式具体为:
根据第一调节通知以及TCP数据增大用户终端所包含的所有业务流组中每个业务流对应的拥塞窗口。
可见,实施图3所描述的TCP拥塞控制装置能够通过判断用户终端在当前周期对应的上个周期是否产生队列,当未产生队列时,通知用户终端增大其每个业务流对应的拥塞窗口,从而实现提高每个业务流的传输效率。
在又一个可选的实施例中,发送模块202,还用于当第一判断模块205判断出用户终端产生队列时,向用户终端发送第二调节通知,该第二调节通知用于通知用户终端减小第一业务流组所包含的所有业务流中每个业务流对应的拥塞窗口。
接收模块203,还用于接收基站发送的第二调节通知。
其中,调节模块204根据TCP数据调节用户终端所包含的所有业务流中每个业务流对应的拥塞窗口的方式具体为:
根据第二调节通知以及TCP数据减小第一业务流组所包含的所有业务流中每个业务流对应的拥塞窗口。
可见,实施图3所描述的TCP拥塞控制装置能够通过在基站判断出用户产生队列时,向用户终端发送减少流量较大的业务流对应的拥塞窗口,以使得用户终端的每个业务流都能够实现数据的传输,从而提高用户的使用体验。
在又一个可选的实施例中,如图3所示,用户终端还可以包括第一确定模块206、跟踪模块207以及第二判断模块208,其中:
第一确定模块206,用于确定目标传输时延。
跟踪模块207,用于跟踪每个周期内的平均传输时延。
第二判断模块208,用于判断平均传输时延是否小于目标传输时延。
以及,调节模块204根据第一调节通知以及TCP数据增大用户终端所包含的所有业务流组中每个业务流对应的拥塞窗口的方式具体为:
当第二判断模块208判断出平均传输时延小于目标传输时延时,根据第一调节通知、TCP数据以及预先确定出的拥塞窗口调节公式增大用户终端所包含的所有业务流组中每个业务流对应的拥塞窗口,该拥塞窗口调节公式为:
Figure GDA0003908933540000201
其中,acked_bytes是用户终端在当前周期内接收到基站发送的ACK报文的字节大小,cwnd是每个业务流对应的拥塞窗口。
该可选的实施例中,用户终端跟踪每个周期内的平均传输时延具体为:用户终端基于上述第一往返时延以及当前网络时延计算平均传输时延作为当前周期的平均传输时延。
可见,实施图3所描述的TCP拥塞控制装置能够通过跟踪用户终端每个周期内的平均传输时延,并将该平均传输时延与目标传输时延比较,当平均传输时延小于目标传输时延时,通过拥塞窗口调节公式增大用户终端的每个业务流的拥塞窗口,以实现网络在没有拥塞时,提高网络链路的利用率。
在又一个可选的实施例中,如图3所示,用户终端还可以包括第二确定模块209以及量化模块210,其中:
第二确定模块209,用于在第二判断模块208判断出用户终端造成队列之后,确定每个业务流对应的拥塞窗口的拥塞程度。
量化模块210,用于根据预先确定出的量化公式量化拥塞程度,该量化公式为:
Figure GDA0003908933540000211
其中,d值越小,表示用户终端的链路具有更多空余带宽,d值越大,表示用户终端的链路越拥塞;
p用于表示平均队列时延对用户终端的时延影响程度,且该p的计算公式为:
Figure GDA0003908933540000212
其中,Dqueue_avg为平均队列时延,Dtarget为目标传输时延,avg为平均传输时延。
可见,实施图3所描述的TCP拥塞控制装置能够通过在判断出用户终端造成队列之后,进一步确定每个业务流对应的拥塞窗口的拥塞程度,并量化该拥塞程度,能够将每个业务流的拥塞窗口数字化,从而能够更直观地知晓每个业务流的拥塞情况,进而便于提高后续的拥塞窗口的调节操作的准确度以及效率。
在又一个可选的实施例中,调节模块204根据第二调节通知减小第一业务流组所包含的所有业务流中每个业务流对应的拥塞窗口的方式具体为:
基于预先确定出的带宽调整公式以及第二调节通知减小第一业务流组所包含的所有业务流中每个业务流对应的拥塞窗口,该带宽调整公式为:
Figure GDA0003908933540000221
其中,β为CUBIC的乘性减因子。
可见,实施图3所描述的TCP拥塞控制装置能够通过根据业务流的拥塞窗口的拥塞程度的量化结果,获取用于调整业务流的带宽调整公式,并通过该带宽调整公式,实现拥塞窗口的调节。
在又一个可选的实施例中,发送模块202将TCP数据发送至用户终端的方式具体为:
将TCP数据负载在ACK报文上,并将该ACK报文发送给用户终端;或者,
将TCP数据发送至用户终端。
可见,实施图3所描述的TCP拥塞控制装置能够通过将TCP数据负载在ACK报文上发送给用户终端或者直接将TCP数据发送给用户终端,能够丰富TCP数据的发送方式,提高TCP数据发送的灵活性。当通过将TCP数据加载在ACK报文上,发送给用户终端时,能够减少直接将TCP数据发送至用户终端而产生其他报文的传输数量,有利于有效降低网络的拥塞情况,进而提高数据的传输效率。
实施例三
请参阅图4,图4是本发明实施例公开的又一种TCP拥塞控制装置。如图4所示,该TCP拥塞控制装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,用于执行实施例一所描述的TCP拥塞控制方法中的步骤。
实施例四
本发明实施例公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一所描述的TCP拥塞控制方法中的步骤。
实施例五
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一所描述的TCP拥塞控制方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种TCP拥塞控制方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本方案各项实施例技术方案的精神和范围。

Claims (10)

1.一种TCP拥塞控制方法,其特征在于,所述方法包括:
基站周期性地计算当前周期内用户终端的平均队列时延,所述当前周期为一个以预设时间段长度形成的周期;
所述基站计算所述用户终端所包含的所有业务流中每个所述业务流对应的TCP参数,得到TCP参数集合,每个所述业务流都有对应的拥塞窗口;
所述基站将TCP数据发送至所述用户终端,所述TCP数据包括所述平均队列时延以及所述TCP参数集合;
所述用户终端接收所述基站发送的所述TCP数据,并根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口;
所述基站周期性地计算当前周期内用户终端的平均队列时延,包括:
基站检测当前周期内用户终端的队列延时和接入所述基站的其他所有用户终端的队列时延,并基于所述用户终端的队列延时以及所述其他所有用户终端的队列时延计算所述用户终端的平均队列时延。
2.根据权利要求1所述的TCP拥塞控制方法,其特征在于,所述基站计算所述用户终端所包含的所有业务流中每个所述业务流对应的TCP参数,得到TCP参数集合,包括:
所述基站记录所述用户终端所包含的所有业务流中每个所述业务流的大小,并根据预先确定出的流量大小划分规则将所有所述业务流划分为第一业务流组和第二业务流组,所述第一业务流组所包含的所有业务流中每个所述业务流的流量大小均大于所述第二业务流组所包含的所有业务流中每个所述业务流的流量大小;
所述基站确定当前网络拥塞状态,并根据所述当前网络拥塞状态分别计算所述第一业务流组中每个所述业务流以及所述第二业务流组中每个所述业务流对应的TCP参数,得到TCP参数集合。
3.根据权利要求2所述的TCP拥塞控制方法,其特征在于,所述用户终端根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口之前,所述方法还包括:
所述基站判断所述当前周期对应的上一周期所述用户终端是否产生队列;
当判断出所述用户终端未产生所述队列时,所述基站向所述用户终端发送第一调节通知,所述第一调节通知用于通知所述用户终端增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口;
所述用户终端接收所述基站发送的所述第一调节通知;
其中,所述用户终端根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口,包括:
所述用户终端根据所述第一调节通知以及所述TCP数据增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口。
4.根据权利要求3所述的TCP拥塞控制方法,其特征在于,所述方法还包括:
当判断出所述用户终端产生所述队列时,所述基站向所述用户终端发送第二调节通知,所述第二调节通知用于通知所述用户终端减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口;
所述用户终端接收所述基站发送的所述第二调节通知;
其中,所述用户终端根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口,包括:
所述用户终端根据所述第二调节通知以及所述TCP数据减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口。
5.根据权利要求4所述的TCP拥塞控制方法,其特征在于,所述方法还包括:
所述用户终端确定目标传输时延,并跟踪每个周期内的平均传输时延,以及判断所述平均传输时延是否小于所述目标传输时延;
以及,所述用户终端根据所述第一调节通知以及所述TCP数据增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口,包括:
当判断出所述平均传输时延小于所述目标传输时延时,所述用户终端根据所述第一调节通知、所述TCP数据以及预先确定出的拥塞窗口调节公式增大所述用户终端所包含的所有业务流组中每个所述业务流对应的拥塞窗口,所述拥塞窗口调节公式为:
Figure 926444DEST_PATH_IMAGE001
其中,所述acked_bytes是所述用户终端在所述当前周期内接收到所述基站发送的ACK报文的字节大小,所述cwnd是每个所述业务流对应的拥塞窗口。
6.根据权利要求5所述的TCP拥塞控制方法,其特征在于,在判断出所述用户终端产生所述队列之后,所述方法还包括:
所述用户终端确定每个所述业务流对应的拥塞窗口的拥塞程度,并根据预先确定出的量化公式量化所述拥塞程度,所述量化公式为:
Figure 123070DEST_PATH_IMAGE002
其中,所述
Figure 142978DEST_PATH_IMAGE003
值越小,表示所述用户终端的链路具有更多空余带宽,所述
Figure 879990DEST_PATH_IMAGE003
值越大,表示 所述用户终端的链路越拥塞;
所述
Figure 606638DEST_PATH_IMAGE004
用于表示所述平均队列时延对所述用户终端的时延影响程度,且所述
Figure 302061DEST_PATH_IMAGE004
的计算公 式为:
Figure 746949DEST_PATH_IMAGE005
其中,所述Dqueue_avg为所述平均队列时延,所述Dtarget为所述目标传输时延,所述Davg为所述平均传输时延。
7.根据权利要求6所述的TCP拥塞控制方法,其特征在于,所述用户终端根据所述第二调节通知减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口,包括:
所述用户终端基于预先确定出的带宽调整公式以及所述第二调节通知减小所述第一业务流组所包含的所有业务流中每个所述业务流对应的拥塞窗口,所述带宽调整公式为:
Figure 287652DEST_PATH_IMAGE006
其中,所述
Figure 134385DEST_PATH_IMAGE007
为CUBIC的乘性减因子。
8.根据权利要求1-7任一项所述的TCP拥塞控制方法,其特征在于,所述基站将TCP数据发送至所述用户终端,包括:
所述基站将TCP数据负载在ACK报文上,并将所述ACK报文发送给所述用户终端;或者,
所述基站将TCP数据发送至所述用户终端。
9.一种TCP拥塞控制装置,其特征在于,所述装置包括基站以及用户终端,所述基站包括计算模块以及发送模块,所述用户终端包括接收模块以及调节模块,其中:
所述计算模块,用于周期性地计算当前周期内用户终端的平均队列时延,所述当前周期为一个以预设时间段长度形成的周期;
所述计算模块,还用于计算所述用户终端所包含的所有业务流中每个所述业务流对应的TCP参数,得到TCP参数集合,每个所述业务流都有对应的拥塞窗口;
所述发送模块,用于将TCP数据发送至所述用户终端,所述TCP数据包括所述平均队列时延以及所述TCP参数集合;
所述接收模块,用于接收所述基站发送的所述TCP数据;
所述调节模块,用于根据所述TCP数据调节所述用户终端所包含的所有业务流中每个所述业务流对应的拥塞窗口;
所述计算模块周期性地计算当前周期内用户终端的平均队列时延的方式具体:
检测当前周期内用户终端的队列延时和接入所述基站的其他所有用户终端的队列时延,并基于所述用户终端的队列延时以及所述其他所有用户终端的队列时延计算所述用户终端的平均队列时延。
10.一种TCP拥塞控制装置,其特征在于,所述装置,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-8任一项所述的TCP拥塞控制方法。
CN201911034669.1A 2019-10-29 2019-10-29 一种tcp拥塞控制方法及装置 Active CN110856214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911034669.1A CN110856214B (zh) 2019-10-29 2019-10-29 一种tcp拥塞控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911034669.1A CN110856214B (zh) 2019-10-29 2019-10-29 一种tcp拥塞控制方法及装置

Publications (2)

Publication Number Publication Date
CN110856214A CN110856214A (zh) 2020-02-28
CN110856214B true CN110856214B (zh) 2023-01-10

Family

ID=69599730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911034669.1A Active CN110856214B (zh) 2019-10-29 2019-10-29 一种tcp拥塞控制方法及装置

Country Status (1)

Country Link
CN (1) CN110856214B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873571A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 一种拥塞控制方法及相应设备
CN111935025B (zh) * 2020-07-08 2023-10-17 腾讯科技(深圳)有限公司 一种tcp传输性能的控制方法、装置、设备和介质
CN112422443B (zh) * 2020-10-27 2022-09-27 鹏城实验室 一种拥塞算法的自适应控制方法、存储介质、设备及系统
CN114629847B (zh) * 2022-03-08 2023-09-08 西安电子科技大学 基于可用带宽分配的耦合多流tcp拥塞控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882803A (zh) * 2012-10-11 2013-01-16 四川大学 一种基于丢包和时延的混合拥塞控制方法
CN106102094A (zh) * 2016-07-06 2016-11-09 广州海格通信集团股份有限公司 一种基于sdn网络的tcp拥塞控制方法
WO2017185353A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 一种传输控制协议tcp报文的传输方法、设备及系统
CN107770082A (zh) * 2017-10-19 2018-03-06 中南大学 数据中心网络中一种基于任务流量特性的传输控制方法
CN108011834A (zh) * 2016-10-28 2018-05-08 华为技术有限公司 Tcp拥塞窗口的确定方法和装置
CN108322401A (zh) * 2017-01-17 2018-07-24 网宿科技股份有限公司 网络传输拥塞的控制方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264353B2 (en) * 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882803A (zh) * 2012-10-11 2013-01-16 四川大学 一种基于丢包和时延的混合拥塞控制方法
WO2017185353A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 一种传输控制协议tcp报文的传输方法、设备及系统
CN106102094A (zh) * 2016-07-06 2016-11-09 广州海格通信集团股份有限公司 一种基于sdn网络的tcp拥塞控制方法
CN108011834A (zh) * 2016-10-28 2018-05-08 华为技术有限公司 Tcp拥塞窗口的确定方法和装置
CN108322401A (zh) * 2017-01-17 2018-07-24 网宿科技股份有限公司 网络传输拥塞的控制方法及装置
CN107770082A (zh) * 2017-10-19 2018-03-06 中南大学 数据中心网络中一种基于任务流量特性的传输控制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Hui Wang ; Zhenzhou Ji ; Xiaofan Li ; Xiangjun Wang.Modeling and Understanding the Round-trip Time in the Fluid Flow Model.《2012 International Conference on Connected Vehicles and Expo (ICCVE)》.2013, *
基于无线信道状态信息的缓存膨胀问题求解方案;刘晓兰等;《清华大学学报(自然科学版)》;20180315(第03期);全文 *
异构网络中保障业务QoS的TCP协议研究;梁智清等;《计算机测量与控制》;20180825(第08期);全文 *

Also Published As

Publication number Publication date
CN110856214A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
CN110856214B (zh) 一种tcp拥塞控制方法及装置
CN110266551B (zh) 一种带宽预测方法、装置、设备及存储介质
EP1441288B1 (en) Reactive bandwidth control for streaming data
CN107171969B (zh) 一种数据传输方法、装置及系统
US11044290B2 (en) TCP cross traffic rate control
CN106301684B (zh) 一种媒体数据传输方法及装置
US7554971B2 (en) Method and system for estimating performance metrics in a packet-switched communication network
US20150236966A1 (en) Control of congestion window size of an information transmission connection
US8345551B2 (en) Transmission rate control method and communication device
US11729241B2 (en) Maximum sustainable encoding bit rates for video downloads
CN109698797B (zh) 一种tcp拥塞控制方法和装置
WO2008043398A1 (en) Method and apparatus for use in a communications network
CN111865828A (zh) 数据传输方法、系统、电子设备及存储介质
CN106789700B (zh) 一种流量整形方法及网络设备
US20100118704A1 (en) Method and Apparatus for use in a communications network
CN117014379A (zh) 码率控制方法、装置、电子设备和存储介质
WO2017192342A1 (en) Initial and periodic slowdowns for background connections
CN104579582A (zh) 一种基于通信网络的高质量语音传输方法
Irawan et al. Performance evaluation of queue algorithms for video-on-demand application
CN114205867A (zh) 一种数据包传输方法、装置、终端设备和存储介质
Abdel-jaber et al. Modelling BLUE Active Queue Management using Discrete-time Queue.
CN112532535B (zh) 一种用于优化网络拥塞的方法和装置
US10516770B2 (en) Transmitting entity and method performed thereby for transmitting one or more data packets to a receiving entity
CN115987895A (zh) 拥塞确定方法及装置
CN117412120A (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