CN113872870A - 控制网络拥塞的方法和相关装置 - Google Patents

控制网络拥塞的方法和相关装置 Download PDF

Info

Publication number
CN113872870A
CN113872870A CN202010616601.0A CN202010616601A CN113872870A CN 113872870 A CN113872870 A CN 113872870A CN 202010616601 A CN202010616601 A CN 202010616601A CN 113872870 A CN113872870 A CN 113872870A
Authority
CN
China
Prior art keywords
receiving end
time
data packet
sending
available bandwidth
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
CN202010616601.0A
Other languages
English (en)
Other versions
CN113872870B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010616601.0A priority Critical patent/CN113872870B/zh
Priority to PCT/CN2021/087368 priority patent/WO2022001291A1/zh
Publication of CN113872870A publication Critical patent/CN113872870A/zh
Application granted granted Critical
Publication of CN113872870B publication Critical patent/CN113872870B/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/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic

Landscapes

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

Abstract

本申请提供了控制网络拥塞的方法和装置。本申请提供的技术方案中,发送端连续向接收端发送探测可用带宽的数据包,并且在连续发送数据包之后继续间隔性地向接收端发送探测可用带宽的数据包。其中,连续发送数据包可以增加探测可用带宽的数据包的速度和数量,从而可以探测到更高、更准确的可用带宽;而后间隔性地发送数据包,在增加探测可用带宽的数据包的数量以探测到更准确的可用带宽的同时,又能避免数据包的数量过大从而可以避免丢包。

Description

控制网络拥塞的方法和相关装置
技术领域
本申请涉及通信领域,并且更具体地,涉及控制网络拥塞的方法和相关装置。
背景技术
随着互联网技术的发展及网络业务的拓展,互联网上用户和应用数量急剧增加。互联网直接面向用户的大部分业务,例如应用程序(application,APP)、页面访问、视频播放、短视频、音乐、图片等业务的打开均对时延敏感。
据分析,互联网直接面向用户的大部分业务的打开速度对用户体验十分重要,打开时延的大小直接影响企业业务的增长。目前,由于网络可用带宽的探测速率较慢,导致互联网业务的打开过程也较慢。因此,想要降低互联网业务的打开时延,提高互联网业务的打开速度,关键是提高网络可用带宽的探测速率。
发明内容
本申请提供控制网络拥塞的方法和相关装置,可以提高网络可用带宽的探测速率,从而可以降低互联网业务的打开时延,进而可以提高互联网业务的用户的体验度。
第一方面,本申请提供了一种控制网络拥塞的方法。所述方法包括:发送端在向接收端连续发送N个数据包之后,向所述接收端间隔性地发送M个数据包,M和N为正整数;所述发送端根据所述N个数据包中的数据包到达所述接收端的时间和所述M个数据包中的数据包到达所述接收端的时间之间的时间间隔,确定所述发送端至所述接收端的传输路径的第一可用带宽;所述发送端根据所述第一可用带宽向所述接收端发送数据包。
发送端向接收端连续发送N个数据包,可以理解为这N个数据包中任意两个发送时间相邻的数据包的发送时间之间没有时间间隔。两个发送时间相邻的数据包的发送时间之间没有时间间隔又可以理解为:在前发送的数据包的发送结束时间与在后发送的数据包的发送起始时间之间没有预设的时间间隔,而是发送端在发送网在前发送的数据包之后,立即发送在后的数据包。
所述发送端向所述接收端间隔性地发送M个数据包,可以理解为这M个数据包中任意两个发送时间相邻的数据包的发送时间之间是存在时间间隔的。两个发送时间相邻的数据包的发送时间之间存在时间间隔又可以理解为:在前发送的数据包的发送结束时间与在后发送的数据包的发送起始时间之间存在一定的时间间隔,该时间间隔可以是预设的,也可以是由着M个数据包的发送速率决定的,而这M个数据包的发送速率又是可以根据拥塞窗口的大小(size)以及接收端与发送单之间的数据包往返时间确定的。
本申请的方法中,发送端连续发送数据包,即发送端高速地发送数据包,在发送端到接收端的传输路径上的网络带宽大于这些数据包的发送速率时,可以探测到可用最大带宽为发送端的物理带宽;并且在发送端到接收端的传输路径上的可用网络带宽小于这些数据包的发送速率时,通过传输路径上的中间节点缓存可以存储超出可用网络带宽数据并以可以网络带宽发送数据包,可以探测到发送端到接收端的传输路径上的可用带宽。并且,发送端连续地发送数据包,可以提高数据包的发送量,从而可以提高可用带宽的探测速率。
此外,本申请中,在发送端连续发送N个数据包之后,还继续间隔性地发送M个数据包。由于这M个数据包有一定概率进行中间节点的缓存,并随后发送给接收端,因此可以提高用于探测传输路径的可用网络带宽的数据包的数量,从而可以提高探测到的网络带宽的准确度。并且,这M个数据包是间隔性的发送的,速率有所限制,因此有助于避免中间节点的缓存过多,从而出现数据包丢包的问题发生。
结合第一方面,在第一种可能的实现方式中,所述N个数据包的数据量大小是预先配置的。可选地,该数据量大小可以是根据中间节点的缓存大小配置的。例如,该数据量大小可以小于或等于所述发送端与所述接收端之间的中间节点的缓存大小。
该实现方式中,根据中间节点的缓存大小配置来配置这N个数据包的数据量大小,可以使得即使这N个数据包的发送速率大于了发送端至接收端的可用带宽,发送端至接收端的传输路径上的中间节点可以将超过带宽部分的数据缓存下来,以可用带宽对应的速率转发给接收端,从而可以使得发送端不仅可以根据这些数据包的接收速率获知可用带宽,而且有助于避免发生数据包丢包的问题。
结合第一方面或第一种可能的实现方式,在第二种可能的实现方式中,所述发送端发送所述N个数据包和所述M个数据包的总时长,小于或等于所述发送端至所述接收端之间的数据包的一个往返时延的长度。
也就是说,该实现方式是在与一个数据包的往返时延等长的时段内发送完用于探测网络可用带宽的数据包,从而可以快速实现网络可用带宽的探测。
结合第一方面或上述任意一种可能的实现方式,在第三种可能的实现方式中,所述发送端根据所述N个数据包中的数据包到达所述接收端的时间和所述M个数据包中的数据包到达所述接收端的时间之间的时间间隔,确定所述发送端至所述接收端的传输路径的可用带宽,包括:所述发送端确定所述N个数据包中的第一数据包到达所述接收端的第一时间与所述M个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔;所述发送端根据所述第一时间间隔和所述第一时间间隔内所述接收端从所述发送端接收到的数据包的数量,确定所述第一可用带宽。
该实现方式中,由发送端根据数据包在接收端的接收时间间隔和该时间间隔内到达接收端的数据包的数量来确定可用带宽。
结合第三种可能的实现方式,在第四种可能的实现方式中,所述发送端确定所述N个数据包中的第一数据包到达所述接收端的第一时间与所述M个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔,包括:所述发送端接收所述接收端发送的第一指示信息和第二指示信息,所述第一指示信息用于指示所述第一时间,所述第二指示信息用于指示所述第二时间;所述发送端根据所述第一时间和所述第二时间,确定所述第一时间间隔。
该实现方式中,由接收端向发送端发送数据包的接收时间,并由发送端根据数据包的接收时间来确定数据包的接收时间间隔。这样,可以使得发送端能够获取数据包的准确接收时间,从而可以获取准确的时间时间间隔,进而可以获取准确的可用带宽。
结合第三种可能的实现方式,在第五种可能的实现方式中,所述发送端确定所述N个数据包中的第一数据包到达所述接收端的第一时间与所述M个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔,包括:所述发送端接收所述接收端发送的第一指示信息和第二指示信息,所述第一指示信息用于表示所述接收端已接收到所述第一数据包,所述第二指示信息用于表示所述接收端已接收到所述第二数据包;所述发送端根据所述第一指示信息的接收时间与所述第二指示信息的接收时间之间的时间间隔,确定所述第一时间间隔。
该实现方式中,由发送端根据指示信息的接收时间间隔来推测数据包的接收时间间隔。与接收端向发送端发送接收时间的方法相比,可以节省传输资源。
结合第三种至第五种中任意一种可能的实现方式,在第六种可能的实现方式中,所述第一可用带宽为多个可用带宽中的最大可用带宽,所述多个可用带宽与所述M个数据包中到达所述接收端的多个数据包一一对应,所述多个可用带宽中每个可用带宽是根据所述每个可用带宽对应的时间间隔和对应的数据量计算得到的,所述对应的时间间隔是指所述每个可用带宽对应的数据包到达所述接收端的时间与所述第一时间的时间间隔,所述对应的数据量是指所述对应的时间间隔内所述接收端从所述发送端接收到的数据包的数量。
结合第三种至第六种中任意一种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:所述发送端根据所述第一可用带宽更新拥塞窗口的大小。
该实现方式中,第一时间间隔为连续发送的数据包中第一个到达接收端的数据包,第二时间间隔为间隔性发送的M个数据包中最后一个到达接收端的数据包,也就是说,第一数据包为所述N个数据包中第一个到达所述接收端的数据包,第二数据包为所述M个数据包中最后一个到达所述接收端的数据包。这样可以提高用于探测可用带宽的数据包的数量,从而可以提高探测得到的可用带宽的准确率。
第二方面,本申请提供了一种控制网络拥塞的方法。所述方法包括:发送端在向接收端无时间间隔地发送N个数据包之后,向所述接收端间隔性地发送M个数据包,M和N为正整数;所述发送端从所述接收端接收第一指示信息,所述第一指示信息用于指示第一可用带宽,所述第一可用带宽为所述接收端根据所述N个数据包中的数据包到达所述接收端的时间和所述M个数据包中的数据包到达所述接收端的时间之间的时间间隔确定的;所述发送端根据所述第一可用带宽向所述接收端发送数据包。
该方法中,发送端连续发送数据包和间隔性发送数据包之后,由接收端根据这些数据包的接收时间来确定可用带宽并向发送端反馈该可用带宽。发送端从接收端获知可用带宽之后,可以根据该可用带宽发送数据包。
发送端向接收端无时间间隔地发送N个数据包可以理解为这N个数据包是连续发送的,即这N个数据包中任意两个发送时间相邻的数据包的发送时间之间没有时间间隔。两个发送时间相邻的数据包的发送时间之间没有时间间隔又可以理解为:在前发送的数据包的发送结束时间与在后发送的数据包的发送起始时间之间没有预设的时间间隔,而是发送端在发送网在前发送的数据包之后,自然地开始在后的数据包的发送。
所述发送端向所述接收端间隔性地发送M个数据包,可以理解为这M个数据包中任意两个发送时间相邻的数据包的发送时间之间是存在时间间隔的。两个发送时间相邻的数据包的发送时间之间存在时间间隔又可以理解为:在前发送的数据包的发送结束时间与在后发送的数据包的发送起始时间之间存在一定的时间间隔,该时间间隔可以是预设的,也可以是由着M个数据包的发送速率决定的,而这M个数据包的发送速率又是可以根据拥塞窗口的大小以及接收端与发送单之间的数据包往返时间确定的。
本申请的方法中,发送端连续发送数据包,即发送端高速地发送数据包,在发送端到接收端的传输路径上的网络带宽大于这些数据包的发送速率时,可以探测到可用最大带宽为发送端的物理带宽;并且在发送端到接收端的传输路径上的可以网络带宽小于这些数据包的发送速率时,通过传输路径上的中间节点存储超出可用网络带宽数据并以可以网络带宽发送数据包,可以探测到发送端到接收端的传输路径上的可用带宽。并且,发送端连续地发送数据包,可以提高数据包的发送量,从而可以提高可用带宽的探测速率。
此外,本申请中,在发送端连续发送N个数据包之后,还继续间隔性地发送M个数据包。由于这M个数据包有一定概率进行中间节点的缓存,并随后发送给接收端,因此可以提高用于探测传输路径的可用网络带宽的数据包的数量,从而可以提高探测到的网络带宽的准确度。并且,这M个数据包是间隔性的发送的,速率有所限制,因此有助于避免中间节点的缓存过多,从而出现数据包丢包的问题发生。
再者而言,由接收端来计算可用带宽并向发送端发送可用带宽,可以节省传输资源。
结合第二方面,在第一种可能的实现方式中,所述N个数据包的数据量大小是预先配置的。可选地,该数据量大小可以是根据中间节点的缓存大小配置的。例如,该数据量大小可以小于或等于所述发送端与所述接收端之间的中间节点的缓存大小。
结合第二方面或第一种可能的实现方式,在第二种可能的实现方式中,所述发送端发送所述N个数据包和所述M个数据包的总时长,小于或等于所述发送端至所述接收端之间的数据包的一个往返时延的长度。
第三方面,本申请提供一种用于控制网络拥塞的方法。所述方法包括:接收端获取发送端发送的L个数据包中的第一数据包到达所述接收端的第一时间与所述L个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔,L为大于1的正整数;
所述接收端根据所述第一时间间隔和所述第一时间间隔内所述接收端从所述发送端接收到的数据包的数量,确定第一可用带宽;
在所述第一可用带宽为多个可用带宽中的最大可用带宽的情况下,将所述第一可用带宽确定为所述发送端至所述接收端的传输路径的可用带宽,所述多个可用带宽与所述L个数据包中达到所述接收端的多个数据包一一对应,所述多个可用带宽中每个可用带宽是根据第二时间间隔和第二数量计算得到的,所述第二时间间隔是指所述每个可用带宽对应的数据包到达所述接收端的时间与所述第一时间的时间间隔,所述第二数量是指所述第二时间间隔内所述接收端从所述发送端接收到的数据包的数量;
所述接收端向所述发送端发送第一指示信息,所述第一指示信息用于指示所述可用带宽。
该方法中,由接收端来计算可用带宽并向发送端发送可用带宽,可以节省传输资源。
第四方面,提供了一种控制网络拥塞的装置,该装置包括用于执行上述第一方面或其中任意一种实现方式中的方法的模块。
第五方面,提供了一种控制网络拥塞的装置,该装置包括用于执行上述第二方面或其中任意一种实现方式中的方法的模块。
第六方面,提供了一种控制网络拥塞的装置,该装置包括用于执行上述第三方面或其中任意一种实现方式中的方法的模块。
第七方面,提供了一种控制网络拥塞的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器和所述装置的通信接口用于执行第一方面或者其中任意一种实现方式中的方法。
第八方面,提供了一种控制网络拥塞的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器和所述装置的通信接口用于执行第二方面或者其中任意一种实现方式中的方法。
第九方面,提供了一种控制网络拥塞的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器和所述装置的通信接口用于执行第三方面或者其中任意一种实现方式中的方法。
第十方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或其中任意一种实现方式中的方法。
第十一方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第二方面或其中任意一种实现方式中的方法。
第十二方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第三方面或其中任意一种实现方式中的方法。
第十三方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或其中任意一种实现方式中的方法。
第十四方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第二方面或其中任意一种实现方式中的方法。
第十五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第三方面或其中任意一种实现方式中的方法。
第十六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或其中任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或其中任意一种实现方式中的方法。
第十七方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第二方面或其中任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第二方面或其中任意一种实现方式中的方法。
第十八方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第三方面或其中任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第三方面或其中任意一种实现方式中的方法。
第十九方面,提供了一种通信设备,该通信设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。
第二十方面,提供了一种通信设备,该通信设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
第二十一方面,提供了一种通信设备,该通信设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第三方面或者其中任意一种实现方式中的方法。
附图说明
图1是本申请实施例的技术方案的一种应用场景的示例图;
图2是本申请一个实施例的控制网络拥塞的方法的示意性流程图;
图3是本申请一个实施例的数据包的传输过程的示意图;
图4是本申请一个实施例的控制网络拥塞的装置的示意性结构图;
图5是本申请另一个实施例的控制网络拥塞的装置的示意性结构图;
图6是本申请一个实施例的计算机程序产品的示意图。
具体实施方式
本申请实施例的技术方案可以适用到任意端到端协议、需要提高启动阶段的传输能力和提高启动阶段的带宽探测速度的场景中。
图1为本申请实施例的技术方案的一种示例性应用场景的示意图。如图1所示,广域网中的服务器110可以通过通信网络120为该广域网中的终端设备130提供网络购物、网页访问、应用程序(application,APP)打开、网页图片打开、视频点播、直播、短视频打开、在线音乐、广告加载、文件备份或文件下载等等业务。
本申请实施例中的终端设备可以是传感器、手机、平板、笔记本电脑、个人计算机、服务器等,也可以是网关、接入路由器、核心路由器、前端路由器、负载均衡器等。
服务器通网络为终端设备提供这些业务时,通常会出现这些业务的启动时间过长的问题。例如,传统的传输控制协议(transmission control protocol,TCP)在启动阶段的数据发送速率增长缓慢,导致无法在启动阶段充分利用带宽;并且非常容易因为丢包导致数据发送速度降低。
通常来说,通信协议可以分为启动、稳定巡航、探测等多个阶段,启动阶段是完成连接建立之后探测带宽,逐渐提高发送速度的阶段。
本申请实施例的技术方案旨在提高协议启动阶段的带宽探测速度和抗丢包能力,使协议可以快速有效利用网络吞吐能力,提供业务的用户体验。
图2为本申请一个实施例的控制网络拥塞的方法的示意性流程图。如图2所示,该方法可以包括S210、S220、S230、S240和S250。
S210,发送端向接收端连续发送N个数据包,N为正整数。
例如,发送端在与接收端通过通信协议建立连接后,可以向接收端连续地发送N个数据包。该通信协议的一种示例为传输控制协议。
其中,发送端向接收端连续地发送N个数据包,可以理解为这N个数据包中任意两个相邻的数据包的发送时间之间没有等待和间隔,以保证数据包以发送端能够实现的最大速度发出。
两个相邻的数据包的发送时间之间没有等待和间隔是指,前一个数据包的发送结束时间与后一个数据包的发送起始时间之间没有间隔。也就是说,发送端在发送完上一个数据包之后,不用等待就立即发送下一个数据包。
发送端向接收端连续地发送N个数据包,也可以称为发送端向接收端高速连接地发送N个数据包,或者可以称为发送端以突发(burst)方式向接收端发送数据包。
其中,连续发送的数据包的数量也可以记为burst_num,即N也可以记为burst_num。burst_num的值可以预先设置在通信协议中,也可以是在发送端与接收端建立连接的过程中通过协议协商得到的,或者可以是根据上一次的连接结果计算得到的。上一次的连接结果可以包含上一次连接中使用的带宽、RTT和/或拥塞窗口的大小等
burst_num的一种示例为16至32之间的任意数值。
本实施例中,发送端以突发模式向接收端发送数据包,一方面,在发送端至接收端之间的可用网络带宽大于发送端的物理带宽或签约带宽的情况下,可以探测到发送端至接收端之间的最大可用网络带宽,即为发送端的物理带宽或签约带宽;另一方面,在可用网络带宽低于突发模式下的数据包的发送速度的情况下,超过可用带宽的数据可以被发送端至接收端之间的中间节点的缓存(buffer)存储起来,并以网络瓶颈带宽对应的速度发送到接收端,以探测到发送端至接收端的网络瓶颈带宽,该网络瓶颈带宽即为探测到的可用网络带宽。
本实施例的一种实现方式中,发送端可以在通过协议与接收端建立连接后,在一个往返时间(round-trip time,RTT)内,以突发方式向发送端发出burst_num个数据包。
通常来说,突发模式下连续发送的这N个数据包的总数据量不能过大,因为大于中间节点的缓存大小有可能会导致丢包产生。因此,本实施例的一种实现方式中,为了避免丢包,这N个数据包的总数据量大小可以小于或等于发送端与接收端的传输路径上的任意中间节点的缓存大小。
所述总数据量可以记为burst_size。burst_size的值可以预先设置在通信协议中,也可以是在发送端与接收端建立连接的过程中通过协议协商得到的,或者可以是根据上一次的连接结果计算得到的。例如,burst_size可以等于数十个最大传输单元(maximumtransmission unit,MTU)的大小。
S220,所述发送端向所述接收端间隔性地发送M个数据包,M为正整数。
也就是说,发送端以突发模式向接收端发送数据包之后,紧接着向接收端间隔性地发送数据包。
其中,发送端向接收端间隔性地发送M个数据包,可以理解为发送端在发送至少两个数据包时,这两个数据包的发送时间之间存在时间间隔。两个数据包的发送时间之间存在时间间隔是指前一个数据包的发送结束时间与后一个数据包的发送起始时间之间存在时间间隔。
本实施例中,在突发模式之后慢速发送数据包,一方面可以提高数据包的数据量,即提高用于探测网络可用带宽的数据量,从而可以提高探测到的可用带宽的准确度;另一方面,该慢速发送的数据包有一定概率进入中间节点的缓存,随后以网络瓶颈带宽发送给接收端,从而可以提高探测网络瓶颈带宽的数据包的数量,进一步提高探测的网络可用带宽的精度。
本实施例中,这M个数据包可以是匀速等间隔地发送的。这种情况下,本步骤发送数据包的方法可以称为匀速模式或匀速方式。
这M个数据包的发送速率可以是预先设置的,也可以是在发送端与接收端建立连接的过程中商定的,或者可以是根据突发模式下发送的数据包的数量决定的。
例如,以一个RTT为一个探测周期的情况下,若将这M个数据包的发送速率记为pacing_rate,则可以通过pacing_rate=(icwnd-burst_num)/RTT的方式计算得到pacing_rate,其中,icwnd表示初始拥塞窗口的大小。初始拥塞窗口的大小可以是预设的。
本实施例的一种实现方式中,发送端在使用突发模式发送完数据包之后,以pacing rate的恒定速度发送数据包,直至收到第一个数据包的ACK信息,则第一个RTT周期结束。可以理解的是,发送端接收的到该ACK信息可以不是第一个数据包的ACK信息,而是可以是第二个或其他数据包的ACK信息。
S230,接收端收到发送端发出的数据包后,记录每个数据包的接收时间,并向发送端发送指示信息,该指示信息用于指示数据包的接收时间。
例如,当接收端由接收事件或者周期轮询事件触发ACK信息的发送时,接收端可以将接收到每个数据包时的时间戳(timestamp)通过一定的编码方式写入ACK信息中,并通过ACK信息反馈给发送端。
S240,所述发送端从所述接收端接收指示信息,并根据所述指示信息确定数据包的接收时间之间的时间间隔,以及根据所述时间间隔确定所述发送端至所述接收端的第一可用带宽。
例如,所述指示信息携带在ACK信息中的情况下,发送端从接收端接收到ACK信息之后,可以从ACK信息中解析出数据包的在接收端的接收时间,并计算接收端从发送端接收到第一个数据包至接收到最后一个数据包的时间间隔,以及通过recvRate=data_size_1/Δtime计算接收端的接收速率recvRate,其中,data_size_1表示接收端接收到的数据包的总数据量,Δtime表示时间间隔。
又如,发送端接收到通过突发模式发送的所有数据包的ACK信息之后,在后续过程中,每接收到通过慢速模式发送的一个或多个数据包的ACK信息,可以通过recvRate=data_size_1/Δtime计算得到一个接收速率,该接收速率为接收端当前已经确收的数据包的接收速率,其中,data_size_1表示接收端已经确收的数据包的总数据量,Δtime表示接收端从该发送端接收到这些数据包的时间间隔。
发送端从接收端接收到所有数据包的ACK信息之后,可以将计算得到多个接收速率。作为一个示例,发送端可以根据这多个接收速率中的最大接收速率确定网络可用带宽,即第一可用带宽。
此外,发送端还可以通过send_cwnd=Bw*srtt计算得到新的拥塞窗口长度send_cwnd,并将发送端的拥塞窗口长度更新为该新的拥塞窗口长度,其中,Bw表示可用带宽,srtt表示一个RTT时长。
S250,所述发送端根据所述第一可用带宽向所述接收端发送数据包。
例如,发送端根据所述第一可用带宽计算得到合适的发送速率,并使用该发送速率匀速等间隔地向所述接收端发送数据包。
本实施例的一种实现方式中,发送端根据第一可用带宽向接收端发送数据包时,可以对该第一可用带宽进行修正,得到修正带宽,再基于该修改带宽发送数据包。其中修正带宽的一种计算方式如下:
sampleRate=min(sendRate,recvRate)*min(1,k+((1-k)*Δt)/srtt))
其中,k为启动阶段速度探测系数Gain的倒数,k=1/Gain,Gain为预设的值,Gain的一种示例为2;sampleRate表示修正带宽;sendRate为发送端发出探测数据的最大速率;recvRate是接收端接收数据包括的最大速率,可以等同与发送端探测到的多个带宽中的最大带宽;Δt表示时间间隔。
本实施例中,可选地,发送端在S250中发送的数据包可以是用于继续探测发送端和接收端之间的可用带宽的探测数据包。在这种情况下,发送端根据可用带宽向接收端发送数据时,在一个示例中,发送端可以通过如下方式计算发送速率Pacing rate和拥塞窗口send_cwnd:
PacingRate=Gain*Bw,Gain=2
send_cwnd=Gain*Bw*srtt
其中,Bw表示第一可用带宽,srtt表示一个RTT时长。
发送端计算得到发送速率Pacing rate和拥塞窗口send_cwnd之后,可以基于该发送速率Pacing rate和拥塞窗口send_cwnd向接收端发送数据包,以探测发送端至接收端时间的可用带宽。
进一步地,发送端与接收端之间可以继续使用传统技术重的带宽探测方法,直至准确带宽和拥塞窗口,退出启动阶段。
例如,在发送端根据第一个RTT内的数据包完成可用带宽的探测之后,发送端可以根据计算得到的可用带宽,在第二个RTT内向接收端匀速发送数据包,以继续进行可用带宽的探测阶段,从而可以持续提高可用带宽的探测精度。
本实施例的方法,通常来说,根据第一个RTT内的数据包探测到的带宽就可以很接近实际可用带宽了。因此,使用本实施例的方法,启动阶段在一到两个RTT时长之后就可以完成精准可用带宽的探测。
本申请另一个实施例的控制网络拥塞的方法中,可以包含图2所示的方法中的相关内容,不同之处在于,接收端向发送端发送的指示信息中可以不包含数据包的接收时间,而是用于指示接收端已确收该数据包。例如,该指示信息可以是ACK信息。通常情况下,接收端可以由数据包接收事件或者周期轮询事件触发该指示信息的发送。
该实施例中,发送端可以根据指示信息的接收时间之间的时间间隔来确定接收端接收数据包的时间之间的时间间隔,例如,将指示信息的接收时间之间的时间间隔作为接收端接收数据包的时间之间的时间间隔。
如图3所示,发送端发送第一数据包之后,第一数据包通过中间节点转发至接收端;经过一段时间,发送端发送第二数据包,第二数据包进入中间节点的缓存存储之后,以网络瓶颈带宽对应的速率发送给接收端。其中,在第一数据包与第二数据包之间,发送端可以发送任意数量的数据包。
接收端可以由数据包接收事件触发,向发送端发送ACK信息。也就是说,接收端每接收到一个数据包,则向发送端发送一个确认该数据包的ACK信息。这样,发送端就可以将数据包的ACK信息的接收时间之间的时间间隔作为数据包的接收时间之间的时间间隔了。
本申请又一个实施例的控制网络拥塞的方法中,可以包含图2所示的方法中的相关内容,不同之处在于,接收端接收到数据包之后,可以不用向发送端指示数据包的接收时间,而是由接收端来根据数据包的接收时间确定数据包接收时间之间的时间间隔,以及根据该时间间隔来确定可用带宽,并向发送端反馈可用带宽。
接收端根据数据包的接收时间确定可用带宽的实现方式,可以参考图2中发送端根据数据包的接收时间确定可用带宽的实现方式,此处不再赘述。
例如,接收端可以根据多个数据包与同一个数据包之间的时间间隔确定得到多个可用带宽,并通过ACK信息向发送端反馈这些可用带宽。发送端可以从这多个可用带宽中选出最大可用带宽,并对该最大可用带宽进行修改,得到最终的可用带宽。
又如,接收端可以确定出最终的可用带宽反馈给发送端。
本申请各个实施例中的方法,在广域网传输场景,例如端边云传输场景中,在中小文件的传输过程中,吞吐量与延迟时长等网络性能指标有明显提升。
此外,在端端传输场景中,在中小文件的传输过程中,吞吐量与延迟时长等网络性能指标有明显提升。
并且,在云网络和内容分发网络(content delivery network,CDN)的数据传输中,可以快速提升数据的传输速率,降低数据传输时延。例如,在APP、浏览器页面打开、用户登录、视频起搏、音乐下载、图片下载或段视频打开等场景中可以提高数据的传输速率,从而提升用户体验。
图4为本申请一个实施例的控制网络拥塞的装置的示意性结构图。如图4所示,本实施例中的装置400可以包括发送模块410、处理模块420和接收模块430。
在一个示例中,装置400可以用于执行图2所示的控制网络拥塞的方法中由发送端执行的操作。例如,发送模块410可以用于执行S210、S220和S250中由发送端执行的操作,处理模块420可以用于执行S240中由发送端执行的与确定可用带宽相关的操作,接收模块430可以用于执行S240与发送端接收指示信息相关的操作。
在另一个示例中,装置400可以用于执行图2所示的控制网络拥塞的方法中由接收端执行的操作。例如,发送模块410可以用于执行中S240由接收端执行的与发送指示信息相关的操作,处理模块420可以用于执行图2中由接收端执行的与信息处理相关的操作,接收模块430可以用于执行S210、S220和S250与接收端接收数据包相关的操作。
图5为本申请实施例提供的一种控制网络拥塞的装置500的结构示意图。装置500包括处理器502、通信接口503和存储器504。装置500的一种示例为芯片。装置500的另一种示例为通信设备。
处理器502、存储器504和通信接口503之间可以通过总线通信。存储器504中存储有可执行代码,处理器502读取存储器504中的可执行代码以执行对应的方法。存储器504中还可以包括操作***等其他运行进程所需的软件模块。操作***可以为LINUXTM,UNIXTM,WINDOWSTM等。
在一种可能的实现方式中,处理器502用于实现处理模块420所能实现的功能,通信接口503用于实现发送模块401和接收模块403所能实现的功能。
例如,存储器504中的可执行代码用于实现图2中由发送端实现的方法,处理器502读取存储器504中的该可执行代码以执行图2中由发送端实现的方法。
又如,存储器504中的可执行代码用于实现图2中由接收端实现的方法,处理器502读取存储器504中的该可执行代码以执行图2中由接收端实现的方法。
其中,处理器502可以为中央处理器(central processing unit,CPU)。存储器504可以包括易失性存储器(volatile memory),例如随机存取存储器(random accessmemory,RAM)。存储器504还可以包括非易失性存储器(2non-volatile memory,2NVM),例如只读存储器(2read-only memory,2ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。
在本申请的一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图6示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,所述示例计算机程序产品包括用于在通信设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品600是使用信号承载介质601来提供的。所述信号承载介质601可以包括一个或多个程序指令602,其当被一个或多个处理器运行时可以提供以上针对图2所示的方法中描述的功能或者部分功能。例如,参考图2中所示的实施例,S210至S240的一个或多个特征可以由与信号承载介质601相关联的一个或多个指令来承担。
在一些示例中,信号承载介质601可以包含计算机可读介质603,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等等。在一些实施方式中,信号承载介质601可以包含计算机可记录介质604,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质,601可以包含通信介质605,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质601可以由无线形式的通信介质605(例如,遵守IEEE 802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令602可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,前述的通信设备可以被配置为,响应于通过计算机可读介质603、计算机可记录介质604、和/或通信介质605中的一个或多个传达到通信设备的程序指令602,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (25)

1.一种控制网络拥塞的方法,其特征在于,包括:
发送端在向接收端连续发送N个数据包之后,向所述接收端间隔性地发送M个数据包,M和N为正整数;
所述发送端根据所述N个数据包中的数据包到达所述接收端的时间和所述M个数据包中的数据包到达所述接收端的时间之间的时间间隔,确定所述发送端至所述接收端的传输路径的第一可用带宽;
所述发送端根据所述第一可用带宽向所述接收端发送数据包。
2.根据权利要求1所述的方法,其特征在于,所述发送端发送所述N个数据包和所述M个数据包的总时长,小于或等于所述发送端至所述接收端之间的数据包的一个往返时延的长度。
3.根据权利要求1或2所述的方法,其特征在于,所述发送端根据所述N个数据包中的数据包到达所述接收端的时间和所述M个数据包中的数据包到达所述接收端的时间之间的时间间隔,确定所述发送端至所述接收端的传输路径的第一可用带宽,包括:
所述发送端确定所述N个数据包中的第一数据包到达所述接收端的第一时间与所述M个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔;
所述发送端根据所述第一时间间隔和所述第一时间间隔内所述接收端从所述发送端接收到的数据量,确定所述第一可用带宽。
4.根据权利要求3所述的方法,其特征在于,所述第一可用带宽为多个可用带宽中的最大可用带宽,所述多个可用带宽与所述M个数据包中到达所述接收端的多个数据包一一对应,所述多个可用带宽中每个可用带宽是根据所述每个可用带宽对应的时间间隔和所述每个可用带宽对应的数据量计算得到的,所述对应的时间间隔是指所述每个可用带宽对应的数据包到达所述接收端的时间与所述第一时间的时间间隔,所述对应的数据量是指所述对应的时间时间间隔内所述接收端从所述发送端接收到的数据量。
5.根据权利要求3或4所述的方法,其特征在于,所述发送端确定所述N个数据包中的第一数据包到达所述接收端的第一时间与所述M个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔,包括:
所述发送端接收所述接收端发送的第一指示信息和第二指示信息,所述第一指示信息用于指示所述第一时间,所述第二反馈信息用于指示所述第二时间;
所述发送端根据所述第一时间和所述第二时间,确定所述第一时间间隔。
6.根据权利要求3或4所述的方法,其特征在于,所述发送端确定所述N个数据包中的第一数据包到达所述接收端的第一时间与所述M个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔,包括:
所述发送端接收所述接收端发送的第一指示信息和第二指示信息,所述第一指示信息用于表示所述接收端已接收到所述第一数据包,所述第二指示信息用于表示所述接收端已接收到所述第二数据包;
所述发送端根据所述第一指示信息的接收时间与所述第二指示信息的接收时间之间的时间间隔,确定所述第一时间间隔。
7.根据权利要求3至6中任一项所述的方法,其特征在于,所述第一数据包为所述N个数据包中第一个到达所述接收端的数据包,所述第二数据包为所述M个数据包中最后一个到达所述接收端的数据包。
8.根据权利要求1至7中任一项所述的方法,所述发送端根据所述可用带宽向所述接收端发送数据包,包括:
所述发送端根据所述第一可用带宽更新所述发送端的拥塞窗口的大小和发送速率;
所述发送端基于所述更新后的拥塞窗口的大小和发送速率向所述接收端发送数据包。
9.一种控制网络拥塞的装置,其特征在于,包括:
发送模块,用于在向接收端连续发送N个数据包之后,向所述接收端间隔性地发送M个数据包,M和N为正整数;
处理模块,用于根据所述N个数据包中的数据包到达所述接收端的时间和所述M个数据包中的数据包到达所述接收端的时间之间的时间间隔,确定所述装置至所述接收端的传输路径的第一可用带宽;
所述发送模块还用于根据所述第一可用带宽向所述接收端发送数据包。
10.根据权利要求9所述的装置,其特征在于,所述装置发送所述N个数据包和所述M个数据包的总时长,小于或等于所述装置至所述接收端之间的数据包的一个往返时延的长度。
11.根据权利要求9或10所述的装置,其特征在于,所述处理模块具体用于:
确定所述N个数据包中的第一数据包到达所述接收端的第一时间与所述M个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔;
根据所述第一时间间隔和所述第一时间间隔内所述接收端从所述发送端接收到的数据量,确定所述第一可用带宽。
12.根据权利要求11所述的装置,其特征在于,所述第一可用带宽为多个可用带宽中的最大可用带宽,所述多个可用带宽与所述M个数据包中到达所述接收端的多个数据包一一对应,所述多个可用带宽中每个可用带宽是根据所述每个可用带宽对应的时间间隔和所述每个可用带宽对应的数据量计算得到的,所述对应的时间间隔是指所述每个可用带宽对应的数据包到达所述接收端的时间与所述第一时间的时间间隔,所述对应的数据量是指所述对应的时间间隔内所述接收端从所述装置接收到的数据量。
13.根据权利要求11或12所述的装置,其特征在于,所述装置还包括接收模块,所述接收模块用于:接收所述接收端发送的第一指示信息和第二指示信息,所述第一指示信息用于指示所述第一时间,所述第二反馈信息用于指示所述第二时间;
其中,所述处理模块具体用于根据所述第一时间和所述第二时间,确定所述第一时间间隔。
14.根据权利要求11或12所述的装置,其特征在于,所述装置还包括接收模块,所述接收模块用于:接收所述接收端发送的第一指示信息和第二指示信息,所述第一指示信息用于表示所述接收端已接收到所述第一数据包,所述第二指示信息用于表示所述接收端已接收到所述第二数据包;
其中,所述处理模块具体用于根据所述第一指示信息的接收时间与所述第二指示信息的接收时间之间的时间间隔,确定所述第一时间间隔。
15.根据权利要求11至14中任一项所述的装置,其特征在于,所述第一数据包为所述N个数据包中第一个到达所述接收端的数据包,所述第二数据包为所述M个数据包中最后一个到达所述接收端的数据包。
16.根据权利要求9至15中任一项所述的装置,所述发送模块具体用于:
根据所述第一可用带宽更新所述发送端的拥塞窗口的大小和发送速率;
基于所述更新后的拥塞窗口的大小和发送速率向所述接收端发送数据包。
17.一种控制网络拥塞的装置,其特征在于,包括:处理器和通信接口,所述处理器与存储器耦合;
所述存储器用于存储指令;
所述通信接口用于在向接收端连续发送N个数据包之后,向所述接收端间隔性地发送M个数据包,M和N为正整数;
所述处理器用于执行所述存储器中存储的指令,以用于根据所述N个数据包中的数据包到达所述接收端的时间和所述M个数据包中的数据包到达所述接收端的时间之间的时间间隔,确定所述装置至所述接收端的传输路径的第一可用带宽;
所述通信接口还用于根据所述第一可用带宽向所述接收端发送数据包。
18.根据权利要求17所述的装置,其特征在于,所述装置发送所述N个数据包和所述M个数据包的总时长,小于或等于所述装置至所述接收端之间的数据包的一个往返时延的长度。
19.根据权利要求17或18所述的装置,其特征在于,所述处理器具体用于:
确定所述N个数据包中的第一数据包到达所述接收端的第一时间与所述M个数据包中的第二数据包到达所述接收端的第二时间之间的第一时间间隔;
根据所述第一时间间隔和所述第一时间间隔内所述接收端从所述发送端接收到的数据量,确定所述第一可用带宽。
20.根据权利要求19所述的装置,其特征在于,所述第一可用带宽为多个可用带宽中的最大可用带宽,所述多个可用带宽与所述M个数据包中到达所述接收端的多个数据包一一对应,所述多个可用带宽中每个可用带宽是根据所述每个可用带宽对应的时间间隔和所述每个可用带宽对应的数据量计算得到的,所述对应的时间间隔是指所述每个可用带宽对应的数据包到达所述接收端的时间与所述第一时间的时间间隔,所述对应的数据量是指所述对应的时间间隔内所述接收端从所述装置接收到的数据量。
21.根据权利要求19或20所述的装置,其特征在于,所述通信接口还用于:接收所述接收端发送的第一指示信息和第二指示信息,所述第一指示信息用于指示所述第一时间,所述第二反馈信息用于指示所述第二时间;
其中,所述处理器具体用于根据所述第一时间和所述第二时间,确定所述第一时间间隔。
22.根据权利要求19或20所述的装置,其特征在于,所述通信接口还用于:接收所述接收端发送的第一指示信息和第二指示信息,所述第一指示信息用于表示所述接收端已接收到所述第一数据包,所述第二指示信息用于表示所述接收端已接收到所述第二数据包;
其中,所述处理器具体用于根据所述第一指示信息的接收时间与所述第二指示信息的接收时间之间的时间间隔,确定所述第一时间间隔。
23.根据权利要求19至22中任一项所述的装置,其特征在于,所述第一数据包为所述N个数据包中第一个到达所述接收端的数据包,所述第二数据包为所述M个数据包中最后一个到达所述接收端的数据包。
24.根据权利要求17至23中任一项所述的装置,所述通信接口具体用于:
根据所述第一可用带宽更新所述发送端的拥塞窗口的大小和发送速率;
基于所述更新后的拥塞窗口的大小和发送速率向所述接收端发送数据包。
25.一种计算机可读介质,其特征在于,包括指令,当所述指令在处理器上运行时,使得所述处理器执行如权利要求1至8中任一项所述的方法。
CN202010616601.0A 2020-06-30 2020-06-30 控制网络拥塞的方法和相关装置 Active CN113872870B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010616601.0A CN113872870B (zh) 2020-06-30 2020-06-30 控制网络拥塞的方法和相关装置
PCT/CN2021/087368 WO2022001291A1 (zh) 2020-06-30 2021-04-15 控制网络拥塞的方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010616601.0A CN113872870B (zh) 2020-06-30 2020-06-30 控制网络拥塞的方法和相关装置

Publications (2)

Publication Number Publication Date
CN113872870A true CN113872870A (zh) 2021-12-31
CN113872870B CN113872870B (zh) 2023-10-13

Family

ID=78981555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010616601.0A Active CN113872870B (zh) 2020-06-30 2020-06-30 控制网络拥塞的方法和相关装置

Country Status (2)

Country Link
CN (1) CN113872870B (zh)
WO (1) WO2022001291A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277556A (zh) * 2022-06-21 2022-11-01 网宿科技股份有限公司 拥塞控制方法、电子设备及可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884846A (zh) * 2022-04-26 2022-08-09 清华大学 一种端到端可用带宽监测方法和***
CN116055364B (zh) * 2023-03-06 2023-06-16 湖南快乐阳光互动娱乐传媒有限公司 一种测量最大上行带宽的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018161A (zh) * 2006-09-08 2007-08-15 中山大学 一种链路、路径、网络可用带宽测量方法
US20080098124A1 (en) * 2002-12-10 2008-04-24 Gregory Vaughan Method and apparatus for measuring bandwidth
US20100265833A1 (en) * 2009-04-16 2010-10-21 Ou Frank Y Network bandwidth determination
CN103905272A (zh) * 2014-03-19 2014-07-02 珠海世纪鼎利通信科技股份有限公司 一种无线网络的可用带宽测量方法及***
CN107734537A (zh) * 2016-08-10 2018-02-23 腾讯科技(深圳)有限公司 网络性能参数的测量方法、发送端及接收端
CN109428784A (zh) * 2017-08-31 2019-03-05 腾讯科技(深圳)有限公司 网络探测方法及装置、计算机存储介质及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109560995A (zh) * 2019-01-11 2019-04-02 武汉虹旭信息技术有限责任公司 多跳无线网络可用带宽自适应探测包长实时检测***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080098124A1 (en) * 2002-12-10 2008-04-24 Gregory Vaughan Method and apparatus for measuring bandwidth
CN101018161A (zh) * 2006-09-08 2007-08-15 中山大学 一种链路、路径、网络可用带宽测量方法
US20100265833A1 (en) * 2009-04-16 2010-10-21 Ou Frank Y Network bandwidth determination
CN103905272A (zh) * 2014-03-19 2014-07-02 珠海世纪鼎利通信科技股份有限公司 一种无线网络的可用带宽测量方法及***
CN107734537A (zh) * 2016-08-10 2018-02-23 腾讯科技(深圳)有限公司 网络性能参数的测量方法、发送端及接收端
CN109428784A (zh) * 2017-08-31 2019-03-05 腾讯科技(深圳)有限公司 网络探测方法及装置、计算机存储介质及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277556A (zh) * 2022-06-21 2022-11-01 网宿科技股份有限公司 拥塞控制方法、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN113872870B (zh) 2023-10-13
WO2022001291A1 (zh) 2022-01-06

Similar Documents

Publication Publication Date Title
CN113872870B (zh) 控制网络拥塞的方法和相关装置
US20230237117A1 (en) Method and system for detecting slow page load
US9584380B2 (en) Method and system for detecting slow page load
CN110875915B (zh) 数据传输方法及装置
US7782794B2 (en) Methods and systems for bandwidth measurement techniques
JP2017513331A (ja) 拡張された伝送制御機能性を実施するトランスポートアクセラレータ
KR20080111479A (ko) 네트워크 접속에서의 혼잡을 제어하는 혼잡 제어 모듈을 생성하는 시스템, 네트워크 접속에서의 혼잡을 제어하는 시스템, 및 컴퓨터 프로그램 제품
CN110830460B (zh) 一种连接建立方法、装置、电子设备及存储介质
CN110072254B (zh) 一种数据的传输方法及其相关设备
US9350484B2 (en) Transport accelerator implementing selective utilization of redundant encoded content data functionality
JP2004364217A (ja) パケット通信装置
CN114071544B (zh) 网络测试方法、装置和电子设备
US9166687B2 (en) Method and apparatus for using credits to determine cable length
US20060116074A1 (en) Communication repeater, communication repeater program, and communication repeater system
CN110290552B (zh) 缓存深度的测量方法和装置、存储介质、电子装置
JP3647776B2 (ja) ネットワーク上で高信頼性マルチキャストを行うシステム及び方法
US8699347B2 (en) Communication apparatus, communication system, communication method, and a computer-readable medium
CN113726691B (zh) 带宽预留方法、装置、设备以及存储介质
KR101550504B1 (ko) 소셜 네트워크 시스템을 위한 적응형 컨텐츠 전송 방법
US10721153B2 (en) Method and system for increasing throughput of a TCP/IP connection
JP2018067788A (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム
CN117294584A (zh) 一种故障定位方法、装置、电子设备及存储介质
CN117692392A (zh) 重传超时时长确定方法、装置、电子设备及存储介质
CN117793964A (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