CN109698797B - 一种tcp拥塞控制方法和装置 - Google Patents

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

Info

Publication number
CN109698797B
CN109698797B CN201711001947.4A CN201711001947A CN109698797B CN 109698797 B CN109698797 B CN 109698797B CN 201711001947 A CN201711001947 A CN 201711001947A CN 109698797 B CN109698797 B CN 109698797B
Authority
CN
China
Prior art keywords
congestion window
rtt period
congestion
rtt
window
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
CN201711001947.4A
Other languages
English (en)
Other versions
CN109698797A (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.)
China Mobile Group Shandong Co Ltd
Original Assignee
China Mobile Group Shandong 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 China Mobile Group Shandong Co Ltd filed Critical China Mobile Group Shandong Co Ltd
Priority to CN201711001947.4A priority Critical patent/CN109698797B/zh
Publication of CN109698797A publication Critical patent/CN109698797A/zh
Application granted granted Critical
Publication of CN109698797B publication Critical patent/CN109698797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless

Landscapes

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

Abstract

本发明实施例提供一种TCP拥塞控制方法和装置,该方法包括:启动TCP拥塞控制时,第一个RTT周期的拥塞窗口确定为理论拥塞窗口的一半;在第一个RTT周期正常传输时将理论拥塞窗口确定为第二个RTT周期的拥塞窗口;在第二个RTT周期正常传输口时将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口;并针对第二个RTT周期之后的每个RTT周期,在从第三个RTT周期到当前的RTT周期期间均正常传输时将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口。应用本发明实施例提供的方案,能够适用于视频业务的拥塞控制,通过快速提高拥塞窗口提高业务吞吐量,从而提高用户的业务体验。

Description

一种TCP拥塞控制方法和装置
技术领域
本发明实施例涉及网络传输控制技术领域,尤其涉及一种TCP拥塞控制方法和装置。
背景技术
TCP(Transfer Control Protocol,传输控制协议)是当今因特网应用最为广泛的传输控制协议,提供可靠的端到端的服务。TCP采用了滑动窗口机制进行网络流量的控制,数据传输过程应用慢启动、拥塞避免、快速重传和快速回复几个窗口控制机制。
其中,现有TCP控制中的慢启动算法:
发送方会维持一个拥塞窗口,刚开始的拥塞窗口和发送窗口相等,一般开始均设置1。其中,为了讨论方便将拥塞窗口大小的单位改为数据包的个数,实际上应当是字节。
然后,发送方每接收到一个接收方的确认,就让下一个RTT(Round-Trip Time,往返时延)周期的拥塞窗口大小变为原来的两倍,接着发送分组也是原来的两倍,以此类推,当拥塞窗口等于慢启动门限ssthresh后,开始采用“加法增大”的策略,即不在以2倍的方式增加,而是转变为每次加1的方式,直到网络拥塞。
发送方判断网络出现拥塞后开始采用拥塞避免算法:
让新的慢启动门限ssthresh变为发生网络拥塞时拥塞窗口取值的一半,并将下一个RTT周期拥塞窗口置为1,然后让它再次重复慢启动算法。
当拥塞窗口cwnd<ssthresh时,使用慢启动算法。
当cwnd>ssthresh时,改用拥塞避免算法。
当接收方cwnd=ssthresh时,可以使用慢启动算法与拥塞避免算法中任意一种。
由此可以看出,现有的TCP控制方案是基于对未知状态网络的一种自适应控制方案,通过增加控制环节(每经过一个RTT周期就把发送方的拥塞窗口cwnd加1,而不是加倍)尝试适应网络,以达到在不同网络环境下的通用性。
由于现有的TCP控制方案需要满足对通用业务和各种网络环境适应性要求,因此自适应的拥塞控制机制比较低效,对于网页浏览、网络游戏等带宽需求量较小的应用,不会影响用户感知,但对需要在短时间内完成大量数据下载的视频类业务,尤其是高清视频业务,现有的TCP控制方案会造成在视频类业务存在缓冲时间过长甚至视频卡顿的现象,用户的业务体验不佳。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种TCP拥塞控制方法和装置,能够适用于视频业务的拥塞控制,快速提高拥塞窗口,提高业务吞吐量,从而提高用户的业务体验。
第一方面,本发明实施例提供了一种TCP拥塞控制方法,包括:
启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个RTT周期的拥塞窗口;
若检测到所述第一个RTT周期正常传输,则将所述理论拥塞窗口确定为第二个RTT周期的拥塞窗口;
若检测到所述第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口;并
针对所述第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期到当前的RTT周期期间均正常传输,则仍将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口。
第二方面,本发明实施例还提供了一种TCP拥塞控制装置,包括:
拥塞控制启动模块,用于启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个RTT周期的拥塞窗口;
慢启动控制模块,用于若检测到所述第一个RTT周期正常传输,则将所述理论拥塞窗口确定为第二个RTT周期的拥塞窗口;
拥塞避免第一控制模块,用于若检测到所述第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口;
拥塞避免第二控制模块,用于在第三个RTT周期的拥塞窗口为当前的历史最大拥塞窗口时,针对所述第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期到当前的RTT周期期间均正常传输,则将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、存储器和总线,其中:
所述处理器,所述存储器通过总线完成相互间的通信;
所述处理器可以调用存储器中的计算机程序,以执行上述第一方面实施例提供的所述TCP拥塞控制方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面实施例提供的所述TCP拥塞控制方法的步骤。
本发明实施例提供的TCP拥塞控制方法和装置,启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个RTT周期的拥塞窗口;在第一个RTT周期正常传输时将理论拥塞窗口确定为第二个RTT周期的拥塞窗口;在第二个RTT周期正常传输且当前存在历史最大拥塞窗口时将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口。这样,可以规避现有在慢启动控制和拥塞避免控制时的自适应环节,快速提高拥塞窗口,提高业务吞吐量,以满足视频业务在短时间内大量数据的快速加载需求,提高用户的业务体验。并且,针对第二个RTT周期之后的每个RTT周期,在检测到从第三个RTT周期到当前的RTT周期期间均正常传输时,维持拥塞窗口在当前的历史最大拥塞窗口保障视频业务的正常传输,避免无用的加速导致的网络拥塞以及拥塞窗口的变化所带来的网络动荡,提高用户的业务体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明一个实施例的TCP拥塞控制方法的示例性流程图;
图2示出了根据本发明另一个实施例的TCP拥塞控制方法的示例性流程图;
图3示出了根据本发明一个实施例的TCP拥塞控制装置的结构示意图;
图4示出了根据本发明一个实施例的电子设备的实体结构示意图。
具体实施方式
以下将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
本申请使用的“模块”、“装置”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
鉴于现有技术的上述缺陷,考虑在特定城域网(比如,运营商的网络环境)中很多网络状态为已知因素,因此,若根据目前已知因素对现有的TCP拥塞控制进行简化,跳过低效的自适应(尝试)环节,可以有效提高业务传输效率,减少视频业务的缓冲时间。
进一步地,考虑现有TCP控制在网络拥塞后会将拥塞窗口置1,然后重复慢启动控制,这样会在一瞬间将网络中的数据量降低;而实际应用中,在进行视频业务传输时的传输速率相对固定,因此不应该因网络质量的下降而降低速率,也不应该因网络质量的提升而无限制增长。现有TCP控制频繁的调整其拥塞窗口会导致业务质量不稳定且引发网络动荡。
基于以上考虑,本发明实施例提出一种适用于视频业务流量的控制的TCP拥塞控制方案,在调整期初始拥塞窗口为根据与用户带宽对应的理论门限阈值ssthresh来设置,例如,可以设置为ssthresh的一半;第一个RTT周期无异常时,可以设置下一个RTT周期对应的拥塞窗口cwnd=ssthresh,以此快速跳过慢启动;并在拥塞控制阶段的起始RTT周期无异常时直接将拥塞窗口调整到当前的历史最大拥塞窗口cwnd_max,快速跳过拥塞控制阶段,并在后续正常传输的情况下维持在cwnd_max。
下面结合附图详细说明本发明的技术方案。
本发明一个实施例提供了一种TCP拥塞控制方法。参考图1,其示出了根据本发明一个实施例的TCP拥塞控制方法的示例性流程图。
如图1所示,本发明一个实施例的TCP拥塞控制方法,可以包括如下步骤:
S110:启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个RTT周期的拥塞窗口。
考虑到视频业务在初始阶段快速加载需求和视频码率稳定的业务特点,本发明实施例中,初始拥塞窗口cwnd_start不必从1开始,而可以根据与用户带宽对应的理论拥塞窗口cwnd_exp来确定,并将初始拥塞窗口cwnd_start确定为第一个RTT周期的拥塞窗口。
其中,初始拥塞窗口cwnd_start可以设置为理论拥塞窗口cwnd_exp的一半。这样,在初始网络正常、初始拥塞窗口cwnd_start为理论拥塞窗口cwnd_exp的一半的情况下,拥塞窗口以2倍的方式增加,在一个RTT周期就达到理论拥塞窗口cwnd_exp,实现立即跳过慢启动环节,以满足视频业务在短时间内大量数据的快速加载需求。
其中,可以根据用户的视频业务链路中的网络设备数、预设的视频业务容忍的合理往返时延,以及用户带宽,来计算与用户带宽对应的理论拥塞窗口cwnd_exp。
具体地,可以根据如下公式计算理论拥塞窗口cwnd_exp:cwnd_exp=RTT_exp/n*bandwidth。
其中,bandwidth为用户带宽,单位为bps;RTT_exp为预设的视频业务容忍的合理往返时延,例如可以设定为0.1s。n为用户的视频业务链路中的网络设备数。
网络设备数越多,网络的往返时延越大。一个数据包在一个RTT周期内经过n台网络设备(近似认为各网络设备处理时延相同),则平均每台网络设备处理数据包的时延为RTT_exp/n。例如,用户的视频业务链路中的网络设备数n=8,各网络设备分别为:机顶盒、家用路由器、光猫、OLT(Optical Line Terminal,光线路终端)、汇聚交换机、BRAS(Broadband Remote Access Server,简宽带远程接入服务器)、SR(Service Router,业务路由器)、CDN(Content Delivery Network,内容分发网络)交换机、CDN服务器。
这样,用户带宽乘以设备处理时延RTT_exp/n,可得到设备理论拥塞窗口。
例如,以bandwidth=20M、n=8、RTT_exp=0.1为例,理论拥塞窗口cwnd_exp=20000000/8*0.1/8=31250byte。为方便描述,将其折算为MSS(Management SupportSystem,最大报文段长度)数量,以MSS为1500byte为例,ssthresh=31250/1500≈20MSS。其中,MSS是TCP协议定义的一个选项,MSS选项用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度。
本发明实施例中,启动TCP拥塞控制之前,可以针对视频业务的质差用户,获取质差用户的视频业务链路的网络状态数据,并检测质差用户的视频业务链路的网络状态数据是否满足预设的TCP拥塞控制触发条件。相应地,若质差用户的视频业务链路的网络状态数据满足预设的拥塞控制触发条件,则可以启动TCP拥塞控制,以此进行质差用户的视频业务链路的网络优化,提升视频业务质量。
其中,质差用户主要指的是通过监控系统、感知系统或用户投诉等渠道识别的具有视频质差问题的用户。质差用户的视频业务链路的网络状态数据可以包括历史丢包事件、历史RTT、历史吞吐量、用户带宽、当前视频播放码率(本文中可简称为视频码率)、ACK(Acknowledgement,确认字符)重发消息、视频业务链路中各设备端口的利用率等。
TCP拥塞控制触发条件至少包括如下一项:吞吐量高于视频码率且吞吐量与用户带宽的差值小于设定差值阈值、连续指定次数收到ACK重发消息、发生丢包事件且RTT大于预设的RTT门限。
考虑现有的TCP拥塞控制其本质是针对网络中设备处理能力不足造成的拥塞进行控制,通过降低发送数据量来减少设备负荷。但在运营商运营的视频业务网络中,从视频终端到播控平台均在有限的城域范围内,相关PON(Passive Optical Network:无源光纤网络)、路由器设备性能较为强大且均有严格性能监控,一般不会出现性能问题。运营商网络的质量主要取决于物理传输因素,如光缆问题、家庭WIFI(Wireless Fidelity,无线保真)信号问题等。
因此,本发明实施例中,在获取质差用户的视频业务链路的网络状态数据之后,可以根据质差用户的视频业务链路的网络状态数据判断是否为网络设备性能问题导致视频质差。
若检测到是网络设备性能问题导致视频质差,则可以按照现有TCP拥塞控制方案进行自适应拥塞控制;若检测到非网络设备性能问题导致视频质差,则可以考虑采用本发明实施例提供的TCP拥塞控制方案进行网络优化。
实际应用中,若视频业务链路中存在至少一个设备端口的利用率超过设定的利用率阈值,则可以判断是质差用户的视频业务链路存在网络设备性能问题。
将质差用户的历史吞吐量分别与视频播放码率、用户带宽进行对比,若历史吞吐量低于视频码率,则说明视频码率太高,拥塞窗口的优化调整也无法使得用户的视频业务链路支持该高视频码率的视频的正常播放;若历史吞吐量高于视频码率,且与用户带宽的差值小于设定阈值(比如,接近用户带宽),则可以判定非网络设备性能问题导致视频质差。实际应用中,可以标记网络拥塞,后续启动本发明实施例提供的TCP拥塞控制进行网络优化;进一步地,还可以标记用户带宽不足,作为结果输出。
若检测到连续指定次数(比如,连续两次或连续三次)收到ACK重发消息则可以判定网络质量问题导致视频质差而非网络设备性能问题导致视频质差。若检测到发生丢包事件或RTT大于预设的RTT门限则可以判定网络质量问题导致视频质差而非网络设备性能问题导致视频质差。其中,周期性检测用户的网络传输状态,当出现连续3次丢包,则记录为一次丢包事件。RTT门限可以设置为200ms。
S120:若检测到第一个RTT周期正常传输,则将理论拥塞窗口确定为第二个RTT周期的拥塞窗口。
本发明实施例中,在初始拥塞窗口cwnd_start取值为与用户带宽对应的理论拥塞窗口cwnd_exp的一半的前提下,在一个RTT周期就达到理论拥塞窗口cwnd_exp。具体地,第一个RTT周期正常传输,则拥塞窗口将以2倍的方式增加,第二个RTT周期的拥塞窗口可以为初始拥塞窗口cwnd_start的2倍,即理论拥塞窗口cwnd_exp,实现立即跳过慢启动环节,以满足视频业务在短时间内大量数据的快速加载需求。
实际应用中,若检测到检测到第一个RTT周期出现丢包或RTT超过等异常,则可以采用现有TCP拥塞控制进行自适应拥塞控制,并标记网络质量差,并向其他外部系统输出。
S130:若检测到第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口。
本发明实施例中,在通过步骤S220跳过慢启动控制阶段之后,将进入拥塞避免控制阶段。在拥塞避免控制的起始RTT周期(即启动TCP拥塞控制后的第二个RTT周期)正常传输时,可以直接根据当前的历史最大拥塞窗口cwnd_max来调整下一个RTT周期的拥塞窗口,以此去掉低效的自适应环节,快速提高拥塞避免控制阶段的拥塞窗口。其中,当前的历史最大拥塞窗口可以根据当前时刻之前针对质差用户记录的视频业务正常传输时的用户通量带宽来计算。
考虑到在出现网络传输异常的情况下通常会下调拥塞窗口。因此,本发明实施例中,可以在每次下调拥塞窗口时将下调之前的拥塞窗口记为一个最大拥塞窗口,即用户通量带宽;取当前时刻之前记录的前N个最大拥塞窗口的平均值为当前的历史最大拥塞窗口,其中,N取值为自然数。这样,历史最大拥塞窗口cwnd_max将随着拥塞窗口的变化而不断更新。
本发明实施例中,可以在检测到第二个RTT周期正常传输之后,检测当前是否存在历史最大拥塞窗口cwnd_max。若当前存在历史最大拥塞窗口cwnd_max,则可以将当前的历史最大拥塞窗口cwnd_max确定为第三个RTT周期的拥塞窗口。
实际应用中,在针对质差用户的视频业务链路首次进行TCP拥塞控制时将不存在历史最大拥塞窗口cwnd_max。
因此,在检测到第二个RTT周期正常传输之后,若检测到当前不存在历史最大拥塞窗口cwnd_max,则可以以预设的窗口步进增加第二个RTT周期的拥塞窗口,得到第三个RTT周期的拥塞窗口。例如,可以以1个MSS为窗口步进,将第二个RTT周期的拥塞窗口cwnd_exp加上窗口步进,得到第三个RTT周期的拥塞窗口cwnd_exp+1MSS。
这样,在第二个RTT周期之后的每个RTT周期,若检测到从第三个RTT周期的RTT周期到当前的RTT周期期间均正常传输,则以预设的窗口步进加上当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口。例如,在第三个RTT周期正常传输时,可以将第三个RTT周期的拥塞窗口cwnd_exp+1MSS,加上预设的窗口步进1MSS,得到第四个RTT周期的拥塞窗口cwnd_exp+2MSS。
本发明实施例中,在当前的RTT周期之前不存在历史最大拥塞窗口cwnd_max的情况下,若检测到当前的RTT周期发生异常传输(比如,发生丢包事件或当前的RTT周期大于预设的RTT门限),则可以按照窗口下调算法确定下一个RTT周期的拥塞窗口。
本发明实施例中,窗口下调算法可以具体为:按照如下顺序下调当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口:当前的历史最大拥塞窗口cwnd_max、理论拥塞窗口cwnd_exp、初始拥塞窗口cwnd_start。
例如,若当前的RTT周期的拥塞窗口为当前的历史最大拥塞窗口cwnd_max,那么下一个RTT周期的拥塞窗口下调为理论拥塞窗口cwnd_exp。若当前的RTT周期的拥塞窗口为理论拥塞窗口cwnd_exp,那么下一个RTT周期的拥塞窗口下调为初始拥塞窗口cwnd_start。
而且,若检测到当前的RTT周期发生异常传输,且从第三个RTT周期的RTT周期到当前的RTT周期之前的一个RTT周期期间均正常传输,则说明当前的RTT周期是第一个发生传输异常的RTT周期,因此,可以将当前的RTT周期的拥塞窗口记为一个最大拥塞窗口,即用户通量带宽;相应地,当前的历史最大拥塞窗口为当前的RTT周期的拥塞窗口。
若检测到当前的RTT周期正常传输,而从第三个RTT周期的RTT周期到当前的RTT周期之前的一个RTT周期期间存在异常传输,则说明当前已经存在历史最大拥塞窗口,因此,在当前的RTT周期的拥塞窗口小于预设的介于理论拥塞窗口和当前的历史最大拥塞窗口之间的过度拥塞窗口时,可以按照窗口上调算法确定下一个RTT周期的拥塞窗口。
本发明实施例中,窗口上调算法可以具体为:按照如下顺序上调当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口:初始拥塞窗口cwnd_start、理论拥塞窗口cwnd_exp、介于理论拥塞窗口和当前的历史最大拥塞窗口的过度拥塞窗口。
例如,若当前的RTT周期的拥塞窗口为初始拥塞窗口cwnd_start,那么下一个RTT周期的拥塞窗口上调为理论拥塞窗口cwnd_exp。若当前的RTT周期的拥塞窗口为理论拥塞窗口cwnd_exp,那么下一个RTT周期的拥塞窗口上调为过度拥塞窗口。
进一步地,本发明实施例中,若检测到当前的RTT周期正常传输,而从第三个RTT周期的RTT周期到当前的RTT周期之前的一个RTT周期期间存在异常传输,则在当前的RTT周期的拥塞窗口等于过度拥塞窗口时,以预设的窗口步进加上当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口,下一个RTT周期的拥塞窗口小于或等于预设的拥塞窗口上限。
本发明实施例中,拥塞窗口上限大于当前的历史最大拥塞窗口cwnd_max。由于历史最大拥塞窗口在网络传输异常时会随着拥塞窗口的下调而下降,因此,在网络传输正常的情况下,为了确保后续的历史最大拥塞窗口不会越来越小,拥塞窗口在上调时需突破当前的历史最大拥塞窗口,直至达到预设的拥塞窗口上限。例如,拥塞窗口上限可以设置为cwnd_max+2MSS。
进一步地,若检测到当前的RTT周期正常传输,而从第三个RTT周期的RTT周期到当前的RTT周期之前的一个RTT周期期间存在异常传输,则在当前的RTT周期的拥塞窗口等于拥塞窗口上限时,确定下一个RTT周期的拥塞窗口为拥塞窗口上限。
本发明实施例中,可以计算当前的历史最大拥塞窗口与理论拥塞窗口之间的差值;将计算出的差值的一半与理论拥塞窗口相加得到介于理论拥塞窗口和当前的历史最大拥塞窗口之间的过度拥塞窗口。
S140:针对第二个RTT周期之后的每个RTT周期,若检测到从第三个RTT周期到当前的RTT周期期间均正常传输,则仍将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口。
考虑视频业务的带宽需求与视频码率相关,而视频码率较为固定,因此,本发明实施例中,各RTT周期正常传输的情况下,无需不断增长拥塞窗口直至带宽耗尽,只需保持拥塞窗口一直处于历史最大拥塞窗口拥塞窗口即可,这样可以避免无用的加速后使得网络拥塞,也可避免因拥塞窗口的变化带来的网络动荡。
具体地,本发明实施例中,针对第二个RTT周期之后的每个RTT周期,若检测到从第三个RTT周期到当前的RTT周期期间均正常传输,则可以将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口。
例如,若检测到第三个RTT周期正常传输,则第四个RTT周期的拥塞窗口仍为当前的历史最大拥塞窗口。若检测到第四个RTT周期正常传输,则第五个RTT周期的拥塞窗口仍为当前的历史最大拥塞窗口。
从上面描述可以看出,在本发明实施例提供的TCP拥塞控制方法中,可以启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个RTT周期的拥塞窗口;在第一个RTT周期正常传输时将理论拥塞窗口确定为第二个RTT周期的拥塞窗口;在第二个RTT周期正常传输且当前存在历史最大拥塞窗口时将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口。这样,可以规避现有在慢启动控制和拥塞避免控制时的自适应环节,快速提高拥塞窗口,提高业务吞吐量,以满足视频业务在短时间内大量数据的快速加载需求,提高用户的业务体验。并且,针对第二个RTT周期之后的每个RTT周期,在检测到从第三个RTT周期到当前的RTT周期期间均正常传输时,维持拥塞窗口在当前的历史最大拥塞窗口保障视频业务的正常传输,避免无用的加速导致的网络拥塞以及拥塞窗口的变化所带来的网络动荡,提高用户的业务体验。
基于图1所示实施例提供的TCP拥塞控制方法,参考图2,其示出了根据本发明另一个实施例的TCP拥塞控制方法的示例性流程图。
如图2所示,本发明另一个实施例的TCP拥塞控制方法,可以包括如下步骤:
S210:启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个往返时延RTT周期的拥塞窗口。
S220:若检测到第一个RTT周期正常传输,则将理论拥塞窗口确定为第二个RTT周期的拥塞窗口。
S230:若检测到第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口。
本发明实施例中,步骤S210、S220、S230可以参考图1所示TCP拥塞控制方法中的步骤S110、S120和S130的具体实现,此处不再赘述。
S240:针对第二个RTT周期之后的每个RTT周期,若检测到从第三个RTT周期到当前的RTT周期期间存在异常传输,则根据当前的RTT周期的网络传输状态和当前RTT周期的拥塞窗口,按照预设的窗口调整算法确定下一个RTT周期的拥塞窗口。
其中,窗口调整算法包括:窗口下调算法和窗口上调算法。
本发明实施例中,针对第二个RTT周期之后的每个RTT周期,若检测到从第三个RTT周期到当前的RTT周期期间存在异常传输,则可以根据当前的RTT周期的网络传输状态来进行下一个RTT周期的拥塞窗口的确定。
具体地,若当前的RTT周期发生丢包事件或当前的RTT周期大于预设的RTT门限,即发生异常传输,则在当前的RTT周期的拥塞窗口大于初始拥塞窗口时,按照窗口下调算法确定下一个RTT周期的拥塞窗口。
本发明实施例中,窗口下调算法具体为:按照如下顺序下调当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口:当前的历史最大拥塞窗口、理论拥塞窗口、初始拥塞窗口。
例如,若当前的RTT周期的拥塞窗口为当前的历史最大拥塞窗口cwnd_max,那么下一个RTT周期的拥塞窗口下调为理论拥塞窗口cwnd_exp。若当前的RTT周期的拥塞窗口为理论拥塞窗口cwnd_exp,那么下一个RTT周期的拥塞窗口下调为初始拥塞窗口cwnd_start。
实际应用中,在当前的RTT周期的拥塞窗口等于初始拥塞窗口时,若仍然发生丢包事件或当前的RTT周期大于预设的RTT门限,则可以采用现有的TCP拥塞控制方案进行网络的自适应拥塞控制,并标记网络质量差,向其他外部系统输出。
若当前的RTT周期正常传输,则在当前的RTT周期的拥塞窗口小于预设的介于理论拥塞窗口和当前的历史最大拥塞窗口之间的过度拥塞窗口时,按照窗口上调算法确定下一个RTT周期的拥塞窗口。
本发明实施例中,窗口上调算法具体为:按照如下顺序上调当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口:所述初始拥塞窗口、所述理论拥塞窗口、介于理论拥塞窗口和当前的历史最大拥塞窗口的过度拥塞窗口。
例如,若当前的RTT周期的拥塞窗口为初始拥塞窗口cwnd_start,那么下一个RTT周期的拥塞窗口上调为理论拥塞窗口cwnd_exp。若当前的RTT周期的拥塞窗口为理论拥塞窗口cwnd_exp,那么下一个RTT周期的拥塞窗口上调为过度拥塞窗口。
进一步地,检测到当前的RTT周期正常传输之后,在当前的RTT周期的拥塞窗口等于过度拥塞窗口时,以预设的窗口步进加上当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口;下一个RTT周期的拥塞窗口小于或等于预设的拥塞窗口上限。本发明实施例中,拥塞窗口上限大于当前的历史最大拥塞窗口cwnd_max。由于历史最大拥塞窗口在网络传输异常时会随着拥塞窗口的下调而下降,因此,在网络传输正常的情况下,为了确保后续的历史最大拥塞窗口不会越来越小,拥塞窗口在上调时需突破当前的历史最大拥塞窗口,直至达到预设的拥塞窗口上限。例如,拥塞窗口上限可以设置为cwnd_max+2MSS。
进一步地,检测到当前的RTT周期正常传输之后,在当前的RTT周期的拥塞窗口等于拥塞窗口上限时,确定下一个RTT周期的拥塞窗口为拥塞窗口上限。
本发明实施例中,可以计算当前的历史最大拥塞窗口与理论拥塞窗口之间的差值;将计算出的差值的一半与理论拥塞窗口相加得到介于理论拥塞窗口和当前的历史最大拥塞窗口之间的过度拥塞窗口。
图2所示实施例提供的TCP拥塞控制方法,能够在网络出现异常时根据网络传输状态和预设的窗口调整算法快速灵活地调整拥塞窗口,并迅速达到稳定的拥塞窗口,规避现有TCP拥塞控制方案中低效的自适应的慢启动控制和拥塞避免控制,提高了网络传输效率,改善了用户的业务体验。
基于图1、2所示实施例提供的TCP拥塞控制方法,参考图3,其示出了根据本发明一个实施例的TCP拥塞控制装置的结构示意图。
如图3所示,本发明实施例提供的TCP拥塞控制装置300可以包括:拥塞控制启动模块301、慢启动控制模块302、拥塞避免第一控制模块303和拥塞避免第二控制模块304。
其中,拥塞控制启动模块301用于启动传输控制协议TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个往返时延RTT周期的拥塞窗口。
慢启动控制模块302用于若检测到第一个RTT周期正常传输,则将所述理论拥塞窗口确定为第二个RTT周期的拥塞窗口。
拥塞避免第一控制模块303用于若检测到第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口。
拥塞避免第二控制模块304用于在第三个RTT周期的拥塞窗口为当前的历史最大拥塞窗口时,针对第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期到当前的RTT周期期间均正常传输,则将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口。
可选地,本发明实施例提供的TCP拥塞控制装置300可以包括:触发检测模块(图中未标明)。
触发检测模块用于针对视频业务的质差用户,检测所述质差用户的视频业务链路是否满足预设的TCP拥塞控制触发条件。
其中,TCP拥塞控制触发条件至少包括如下一项:
吞吐量高于视频码率且所述吞吐量与用户带宽的差值小于设定差值阈值、连续指定次数收到确认字符ACK重发消息、发生丢包事件且RTT大于预设的RTT门限。
相应地,拥塞控制启动模块301用于若视频业务链路的网络状态数据满足预设的拥塞控制触发条件,则启动TCP拥塞控制。
本发明实施例提供的TCP拥塞控制装置300可以包括:拥塞避免第三控制模块(图中未标明)。
拥塞避免第三控制模块用于若检测到所述第二个RTT周期正常传输且当前不存在历史最大拥塞窗口,则以预设的窗口步进增加所述第二个RTT周期的拥塞窗口,得到第三个RTT周期的拥塞窗口;在所述第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期的RTT周期到当前的RTT周期期间均正常传输,则以预设的窗口步进加上当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口。
可选地,拥塞避免第二控制模块304还用于在第三个RTT周期的拥塞窗口为当前的历史最大拥塞窗口时,针对第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期到当前的RTT周期期间存在异常传输,则根据当前的RTT周期的网络传输状态和当前RTT周期的拥塞窗口,按照预设的窗口调整算法确定下一个RTT周期的拥塞窗口。
其中,所述窗口调整算法包括:窗口下调算法和窗口上调算法。
所述窗口下调算法具体为:按照如下顺序下调当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口:当前的历史最大拥塞窗口、所述理论拥塞窗口、所述初始拥塞窗口;
窗口上调算法具体为:按照如下顺序上调当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口:初始拥塞窗口、理论拥塞窗口、介于理论拥塞窗口和当前的历史最大拥塞窗口的过度拥塞窗口。
具体地,若当前的RTT周期发生丢包事件或当前的RTT周期大于预设的RTT门限,则拥塞避免第二控制模块304在当前的RTT周期的拥塞窗口大于初始拥塞窗口时,按照窗口下调算法确定下一个RTT周期的拥塞窗口。
若当前的RTT周期正常传输,则拥塞避免第二控制模块304在当前的RTT周期的拥塞窗口小于预设的介于理论拥塞窗口和当前的历史最大拥塞窗口之间的过度拥塞窗口时,按照窗口上调算法确定下一个RTT周期的拥塞窗口。
进一步地,若当前的RTT周期正常传输,则拥塞避免第二控制模块304在当前的RTT周期的拥塞窗口等于过度拥塞窗口时,以预设的窗口步进加上当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口;下一个RTT周期的拥塞窗口小于或等于预设的拥塞窗口上限。
进一步地,若当前的RTT周期正常传输,则拥塞避免第二控制模块304在当前的RTT周期的拥塞窗口等于拥塞窗口上限时,确定下一个RTT周期的拥塞窗口为拥塞窗口上限。
其中,拥塞窗口上限大于当前的历史最大拥塞窗口。
应当理解,TCP拥塞控制装置300中记载的诸模块与图1、2描述的方法中的步骤存在相对应关系。由此,上文针对方法描述的操作和特征同样适用于TCP拥塞控制装置300、其中包含的模块,在此不再赘述。
参考图4,其示出了根据本发明一个实施例的电子设备的实体结构示意图。如图4所示,该电子设备400可以包括:处理器(processor)401、存储器(memory)402和总线403,其中,处理器401,存储器402通过总线403完成相互间的通信。处理器401可以调用存储器402中的计算机程序,以执行上述图1、2所示实施例所提供的方法,例如包括:
启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个RTT周期的拥塞窗口;若检测到第一个RTT周期正常传输,则将理论拥塞窗口确定为第二个RTT周期的拥塞窗口;若检测到第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口;并针对第二个RTT周期之后的每个RTT周期,若检测到从第三个RTT周期到当前的RTT周期期间均正常传输,则仍将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口。
本发明实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机程序,计算机程序使计算机执行上述图1、2所示实施例所提供的方法,例如包括:
启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个RTT周期的拥塞窗口;若检测到第一个RTT周期正常传输,则将理论拥塞窗口确定为第二个RTT周期的拥塞窗口;若检测到第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口;并针对第二个RTT周期之后的每个RTT周期,若检测到从第三个RTT周期到当前的RTT周期期间均正常传输,则仍将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的基站的实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种TCP拥塞控制方法,其特征在于,包括:
启动传输控制协议TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的初始拥塞窗口确定为第一个往返时延RTT周期的拥塞窗口;
若检测到所述第一个RTT周期正常传输,则将所述理论拥塞窗口确定为第二个RTT周期的拥塞窗口;
若检测到所述第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口;并
针对所述第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期到当前的RTT周期期间均正常传输,则仍将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口;
其中,所述理论拥塞窗口是基于所述用户带宽、用户的视频业务链路中的网络设备数和预设RTT确定的。
2.根据权利要求1所述的方法,其特征在于,所述启动TCP拥塞控制之前,还包括:
针对视频业务的质差用户,检测所述质差用户的视频业务链路是否满足预设的TCP拥塞控制触发条件;
相应地,所述启动TCP拥塞控制包括:
若所述视频业务链路的网络状态数据满足预设的拥塞控制触发条件,则启动TCP拥塞控制;
其中,所述TCP拥塞控制触发条件至少包括如下一项:
吞吐量高于视频码率且所述吞吐量与用户带宽的差值小于设定差值阈值、连续指定次数收到确认字符ACK重发消息、发生丢包事件且RTT大于预设的RTT门限。
3.根据权利要求1所述的方法,其特征在于,还包括:
针对所述第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期到当前的RTT周期期间存在异常传输,则根据当前的RTT周期的网络传输状态和当前RTT周期的拥塞窗口,按照预设的窗口调整算法确定下一个RTT周期的拥塞窗口。
4.根据权利要求3所述的方法,其特征在于,所述窗口调整算法包括:窗口下调算法和窗口上调算法;
所述根据当前的RTT周期的网络传输状态和当前RTT周期的拥塞窗口,按照预设的窗口调整算法确定下一个RTT周期的拥塞窗口,包括:
若当前的RTT周期发生丢包事件或当前的RTT周期大于预设的RTT门限,则在当前的RTT周期的拥塞窗口大于所述初始拥塞窗口时,按照所述窗口下调算法确定下一个RTT周期的拥塞窗口;
若当前的RTT周期正常传输,则在当前的RTT周期的拥塞窗口小于预设的介于所述理论拥塞窗口和当前的历史最大拥塞窗口之间的过度拥塞窗口时,按照所述窗口上调算法确定下一个RTT周期的拥塞窗口。
5.根据权利要求4所述的方法,其特征在于,
所述窗口下调算法具体为:按照如下顺序下调当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口:当前的历史最大拥塞窗口、所述理论拥塞窗口、所述初始拥塞窗口;
所述窗口上调算法具体为:按照如下顺序上调当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口:所述初始拥塞窗口、所述理论拥塞窗口、介于所述理论拥塞窗口和当前的历史最大拥塞窗口的过度拥塞窗口。
6.根据权利要求5所述的方法,其特征在于,所述检测到当前的RTT周期正常传输之后,还包括:
在当前的RTT周期的拥塞窗口等于所述过度拥塞窗口时,以预设的窗口步进加上当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口;所述下一个RTT周期的拥塞窗口小于或等于预设的拥塞窗口上限;
在当前的RTT周期的拥塞窗口等于所述拥塞窗口上限时,确定下一个RTT周期的拥塞窗口为所述拥塞窗口上限;
其中,所述拥塞窗口上限大于当前的历史最大拥塞窗口。
7.根据权利要求1-6任一所述的方法,其特征在于,还包括:
若检测到所述第二个RTT周期正常传输且当前不存在历史最大拥塞窗口,则以预设的窗口步进增加所述第二个RTT周期的拥塞窗口,得到第三个RTT周期的拥塞窗口;
相应地,在所述第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期的RTT周期到当前的RTT周期期间均正常传输,则以预设的窗口步进加上当前的RTT周期的拥塞窗口,得到下一个RTT周期的拥塞窗口。
8.一种TCP拥塞控制装置,其特征在于,包括:
拥塞控制启动模块,用于启动TCP拥塞控制时,将取值为与用户带宽对应的理论拥塞窗口的一半的的初始拥塞窗口确定为第一个RTT周期的拥塞窗口;
慢启动控制模块,用于若检测到所述第一个RTT周期正常传输,则将所述理论拥塞窗口确定为第二个RTT周期的拥塞窗口;
拥塞避免第一控制模块,用于若检测到所述第二个RTT周期正常传输且当前存在历史最大拥塞窗口,则将当前的历史最大拥塞窗口确定为第三个RTT周期的拥塞窗口;
拥塞避免第二控制模块,用于在第三个RTT周期的拥塞窗口为当前的历史最大拥塞窗口时,针对所述第二个RTT周期之后的每个RTT周期,若检测到从所述第三个RTT周期到当前的RTT周期期间均正常传输,则将当前的历史最大拥塞窗口确定为下一个RTT周期的拥塞窗口;
其中,所述理论拥塞窗口是基于所述用户带宽、用户的视频业务链路中的网络设备数和预设RTT确定的。
9.一种电子设备,其特征在于,包括处理器、存储器和总线,其中:
所述处理器,所述存储器通过总线完成相互间的通信;
所述处理器可以调用存储器中的计算机程序,以执行如权利要求1-7任意一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任意一项所述方法的步骤。
CN201711001947.4A 2017-10-24 2017-10-24 一种tcp拥塞控制方法和装置 Active CN109698797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711001947.4A CN109698797B (zh) 2017-10-24 2017-10-24 一种tcp拥塞控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711001947.4A CN109698797B (zh) 2017-10-24 2017-10-24 一种tcp拥塞控制方法和装置

Publications (2)

Publication Number Publication Date
CN109698797A CN109698797A (zh) 2019-04-30
CN109698797B true CN109698797B (zh) 2022-06-14

Family

ID=66228067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711001947.4A Active CN109698797B (zh) 2017-10-24 2017-10-24 一种tcp拥塞控制方法和装置

Country Status (1)

Country Link
CN (1) CN109698797B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290428B (zh) * 2019-06-26 2021-08-20 腾讯科技(深圳)有限公司 一种拥塞控制方法、装置、终端及存储介质
CN110602548B (zh) * 2019-09-20 2021-11-02 北京市博汇科技股份有限公司 一种超高清视频高质量无线传输的方法和系统
CN111405319B (zh) 2020-03-31 2021-07-23 北京达佳互联信息技术有限公司 带宽确定方法、装置、电子设备和存储介质
CN113746743B (zh) * 2020-05-29 2023-08-08 华为技术有限公司 一种数据报文传输方法及装置
CN113965445B (zh) * 2020-07-02 2023-10-27 中国移动通信集团山东有限公司 一种质差根因的定位方法、装置、计算机设备和存储介质
CN112202686B (zh) * 2020-09-07 2022-09-13 鹏城实验室 一种差分流量控制的自适应接入识别方法及终端设备
CN117692396B (zh) * 2024-02-04 2024-04-26 湖南国科亿存信息科技有限公司 一种复杂网络环境下的tcp单边加速方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104908B (zh) * 2011-01-18 2014-05-07 华为技术有限公司 一种数据传输控制方法及设备
US20150236966A1 (en) * 2014-02-18 2015-08-20 Alcatel-Lucent Usa Inc. Control of congestion window size of an information transmission connection
US9979653B2 (en) * 2015-10-21 2018-05-22 Citrix Systems, Inc. System and method of providing improved throughput control under delay-based congestion situation in a network
CN106789718B (zh) * 2016-12-05 2020-10-16 阿里巴巴(中国)有限公司 数据传输的拥塞控制方法、设备、服务器及可编程设备

Also Published As

Publication number Publication date
CN109698797A (zh) 2019-04-30

Similar Documents

Publication Publication Date Title
CN109698797B (zh) 一种tcp拥塞控制方法和装置
US10367922B2 (en) Method and apparatus for sending transmission control protocol TCP data packet and system
JP6319608B2 (ja) 伝送制御方法、装置およびシステム
CN106385374B (zh) 一种局域网发送端的缓解网络拥塞的传输控制方法及系统
US7664017B2 (en) Congestion and delay handling in a packet data network
CN102468941B (zh) 网络丢包处理方法及装置
KR102061772B1 (ko) 데이터 전송 방법 및 장치
EP3166267A1 (en) Method and apparatus for diverting flow
US9325628B2 (en) Packet handling method, forwarding device and system
US9602410B2 (en) Method, device, and system for processing acknowledgement packet
CN103428240B (zh) 数据传输方法和数据传输终端
KR20160144257A (ko) 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치
WO2017114231A1 (zh) 一种报文发送方法、tcp代理以及tcp客户端
CN112203138A (zh) 基于udp协议的投屏数据传输方法、装置、设备及存储介质
US12010025B2 (en) System and method for accelerating or decelerating a data transport network protocol based on real time transport network congestion conditions
US20180176136A1 (en) TCP Bufferbloat Resolution
KR20160071832A (ko) 무선 통신 시스템에서 자원 분배 방법 및 장치
CN110072254B (zh) 一种数据的传输方法及其相关设备
CN105471757A (zh) 一种tcp拥塞控制方法及装置
CN105376172A (zh) 一种控制网络拥塞的方法
CN105207949A (zh) 一种tcp优化方法和系统、sp服务器
CN105450441A (zh) 一种基于tcp协议的弱网加速方法和装置
JPWO2019244966A1 (ja) 通信装置、通信方法及びプログラム
CN112822116B (zh) 一种tcp拥塞控制方法及装置
CN110493141B (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