CN116896532A - 一种面向最小带宽保障的网络拥塞控制方法及装置 - Google Patents
一种面向最小带宽保障的网络拥塞控制方法及装置 Download PDFInfo
- Publication number
- CN116896532A CN116896532A CN202310902761.5A CN202310902761A CN116896532A CN 116896532 A CN116896532 A CN 116896532A CN 202310902761 A CN202310902761 A CN 202310902761A CN 116896532 A CN116896532 A CN 116896532A
- Authority
- CN
- China
- Prior art keywords
- congestion
- window value
- cwnd
- network
- bandwidth guarantee
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 208000027744 congestion Diseases 0.000 claims abstract description 201
- 230000001105 regulatory effect Effects 0.000 claims abstract description 8
- 238000011084 recovery Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000012790 confirmation Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 3
- 238000013508 migration Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 10
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- PRPINYUDVPFIRX-UHFFFAOYSA-N 1-naphthaleneacetic acid Chemical compound C1=CC=C2C(CC(=O)O)=CC=CC2=C1 PRPINYUDVPFIRX-UHFFFAOYSA-N 0.000 description 1
- 101100102516 Clonostachys rogersoniana vern gene Proteins 0.000 description 1
- OTMSDBZUPAUEDD-UHFFFAOYSA-N Ethane Chemical compound CC OTMSDBZUPAUEDD-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种面向最小带宽保障的网络拥塞控制方法,所述方法包括以下步骤:(1)区分网络流的类型,所述类型包括截止时间流和非截止时间流;(2)根据网络流的类型设置最小窗口值;(3)在拥塞控制的各阶段调节拥塞窗口时,根据最小窗口值和拥塞程度对拥塞窗口值进行调整。本本发明还公开了一种面向最小带宽保障的网络拥塞控制装置及计算机可读存储介质,用于实现上述面向最小带宽保障的网络拥塞控制方法。发明通过区分时间截止流和非截止时间流,保障TCP截止流最小带宽,也能达到拥塞控制的目的。
Description
技术领域
本发明属于计算机网络技术领域中端到端的网络流量控制,特别涉及一种面向最小带宽保障的网络拥塞控制方法及装置。
背景技术
随着网络技术的飞速发展,包括影音、直播、图片、数据文件在内越来越多的应用依赖网络完成。很大程度上,基于互联网的端到端应用系统的性能,依赖于网络质量。传输控制协议/网际协议TCP/IP(Transmission Control Protocol/Internet Protocol)体系结构和协议是互联网世界连接一切的基石,现有网络基础设施基于TCP/IP体系结构进行设计;然而,在现有基于TCP/IP体系结构的网络基础设施中,网络拥塞现象时常发生。网络拥塞是指用户对网络资源(包括链路带宽、存储空间和处理器处理能力等)的需求超过了固有的处理能力和容量,导致网络丢包、网络包乱序、重传等问题,严重地降低了端到端的应用系统性能。为此,很多企业公司和学术研究机构对端到端的网络流量控制机制进行研究,以减缓拥塞现象的产生、拥塞产生后带来的影响等。
早期的TCP协议只有基于窗口的流量控制(flow control)机制而没有拥塞控制机制,因而易导致网络拥塞。1988年Jacobson针对传输控制协议TCP(Transmission ControlProtocol)在网络拥塞控制方面的不足,提出了“慢启动(Slow Start)”和“拥塞避免(Congestion Avoidance)”算法。在这二十来年的发展过程中,与拥塞控制相关的有四个比较重要的版本:TCP Tahoe、TCP Reno、TCP NewReno和TCP SACK(TCP Selective ACK)TCPTahoe是早期的TCP版本,它包括了3个最基本的算法-“慢启动”、“拥塞避免”和“快速重传(Fast Retransmit)”,但是在Tahoe版本中对于超时重传和快速重传的处理相同,一旦发生重传就会开始慢启动过程。TCP Reno则在TCP Tahoe基础上增加了“快速恢复(FastRecovery)”算法,针对快速重传作特殊处理,避免了网络拥塞不严重时采用“慢启动”算法而造成过度减小发送窗口大小的现象。TCP NewReno对TCP Reno中的“快速恢复”算法进行了修正,它考虑了一个发送窗口内多个数据包丢失的情况。在Reno版中,发送端收到一个新的ack number后就退出“快速恢复”阶段,而在NewReno版中,只有当所有的数据包都被确认后才退出“快速恢复”阶段。TCP SACK关注的也是一个窗口内多个数据包丢失的情况,它避免了之前版本的TCP重传一个窗口内所有数据包的情况(包括那些已经被接收端正确接收的数据包),而只是重传那些被丢弃的数据包。现有的TCP拥塞控制算法主要就由慢启动、拥塞避免、快速重传、快速恢复这4个基础算法组成,这四个基础算法在RFC5681规范[MarkAllman,Vern Paxson,Ethan Blanton,“TCP congestion Control”,RFC5681,September2009]中进行了描述。
拥塞控制算法的目标有很多,包括:公平竞争、充分利用网络带宽、降低网络时延、优化用户体验等,以满足不同的应用需求。如公开号为CN106464598A的中国专利公开了一种用于数据通信协议中的拥塞控制的方法,基于飞行尺寸和传输速率这二者的趋势检测拥塞,以根据检测结果来调整拥塞窗口,比如,所述拥塞检测能够区分具有不公平竞争或没有不公平竞争的拥塞。以及如公开号为CN113098783A的中国专利公开的基于链路带宽和时延的命名数据网络拥塞控制方法,在单兴趣包多数据包传输模式的基础上,利用兴趣包收集瓶颈链路带宽和时延信息,计算出拥塞窗口和发送速率后,控制数据包的发送进行拥塞控制。
然而,由于实际的网络环境十分复杂并且变化很快,并没有哪个拥塞控制算法可以适用于所有的应用。不同的算法有自己的特定和适用领域,不同应用系统开发者会对不同的算法效果进行权衡,有的算法效果侧重带宽利用率,有的算法效果侧重通信延时等。因此,复杂的网络环境和多样应用需求推动着拥塞控制算法的优化和迭代。
数据中心网络中同时存在截止时间流(deadline flow)和非截止时间流(non-deadline flow),不同的流具有不同的传输需求。但是,在现有TCP网络流量控制机制中,尤其是在拥塞现象发生后,不区分截止时间流(deadline flow)和非截止时间流,严重影响截止时间流应用。
发明内容
本发明的目的在于提供一种面向最小带宽保障的网络拥塞控制方法及装置,通过区分时间截止流和非截止时间流,保障TCP截止流最小带宽,也能达到拥塞控制的目的。
本发明提供如下技术方案:
一种面向最小带宽保障的网络拥塞控制方法,所述方法包括以下步骤:
(1)区分网络流的类型,所述类型包括截止时间流和非截止时间流;
(2)根据网络流的类型设置最小窗口值;
(3)在拥塞控制的各阶段调节拥塞窗口时,根据最小窗口值和拥塞程度对拥塞窗口值进行调整。
在步骤(1)中,所述截止时间流为有截止时间的网络流,包括网络搜索、推荐或广告生成的网络流;所述非截止时间网络流为无截止时间的网络流,包括虚拟机迁移、数据备份、数据库查询相应或HTTP分块传输生成的网络流。
在步骤(2)中,当所述网络流为非截止时间流(非截止TCP流)时,最小窗口值设置为0;当所述网络流为截止时间流(截止TCP流的)时,根据流的大小、一次往返时延、流的截止时间和最大分段值乘积设置最小窗口值。
转换公式可以表示如下:
转换公式如下:
非截止TCP流的最小窗口值为0,即此时Wmin=0。
截止TCP流的最小窗口值如下:
其中Wmin表示最小窗口值,Sf表示流的大小,Td表示流的截止时间,RTT表示一次往返时延,MSS表示最大分段值。
因此在本发明中,针对截止时间流,将截止时间转换为最小窗口值,以提供带宽或时间截止保障。在拥塞控制的各阶段调节拥塞窗口时,使得拥塞窗口大于这个最小窗口值,则可以满足该TCP流的带宽或截止时间需求。
在步骤(3)中,所述拥塞控制的各阶段包括基于最小带宽保障的慢启动、基于最小带宽保障的拥塞避免、拥塞发生和快速恢复。
在步骤(3)中,在慢启动阶段对拥塞窗口值进行调整:
(1)当未出现拥塞时,拥塞窗口值cwnd按如下方式增长:
当前拥塞窗口值小于最小窗口值,下一时刻的拥塞窗口值cwnd=cwnd*(0.5+1.5rcos),rcos表示可调参数且大于1;
当前拥塞窗口值大于等于最小窗口值,下一时刻的拥塞窗口值cwnd翻倍,即cwnd=2cwnd;
(2)当出现拥塞时,拥塞窗口值cwnd按如下方式增长:
拥塞窗口值cwnd=cwnd*(1-0.5α),α表示拥塞程度。
在步骤(3)中,在基于最小带宽保障的拥塞避免阶段对拥塞窗口值进行调整:
(1)当未出现拥塞时,拥塞窗口值cwnd按如下方式增长:
当前拥塞窗口值小于最小窗口值,下一时刻的拥塞窗口cwnd=rcos*cwnd+1,rcos表示可调参数;
当前拥塞窗口值大于等于最小窗口值,下一时刻的拥塞窗口值cwnd=cwnd+1;
(2)当出现拥塞时,拥塞窗口值cwnd按如下方式增长:
拥塞窗口值cwnd=cwnd*(1-0.5α),α表示拥塞程度。
转换为公式,可以表示如下:
基于最小带宽保障的慢启动阶段:
基于最小带宽保障的拥塞避免阶段:
其中cg表示是否有拥塞,最小窗口值即Wmin,Wc表示拥塞窗口,rcos表示可调参数且大于1,α表示拥塞程度。当α趋近于1时,将拥塞窗口减半;当α越小时,表示发生的拥塞程度越轻;α的更新α=(1-g)*α+g*F,其中F为当前窗口内被标记为显示拥塞控制ECN(ExplicitCongestion Notification)的比例,g为可调参数。
可以看出,当拥塞窗口值小于最小窗口值时,通过调整拥塞窗口值的增长方式,可以提高发送速率,满足最小带宽保障需求。
在步骤(3)中,对于拥塞发生阶段:
接收到显示拥塞通知ECN标记包时,对比拥塞窗口值与慢启动阈值的大小:若拥塞窗口值小于慢启动阈值,进入基于最小带宽保障的慢启动执行;拥塞窗口值大于等于慢启动阈值,进入基于最小带宽保障的拥塞避免执行;
超时重传超时,传输控制协议TCP会重传数据包:将慢启动阈值设置为当前拥塞窗口值的一半,拥塞窗口值重置为1,进入基于最小带宽保障的慢启动执行;
收到三个重复确认时,传输控制协议TCP开启快速重传:拥塞窗口值缩小为当前的一半,慢启动阈值设置为缩小后的拥塞窗口值大小,然后执行快速恢复。
在步骤(3)中,对于快速重传阶段:
将拥塞窗口值设置为慢启动阈值的值加3;
在收到重复的确认时,拥塞窗口加1;
收到新的确认,退出快速重传阶段;并将拥塞窗口值设置为慢启动阈值,然后进入基于最小带宽保障的拥塞避免执行。
本发明还提供了一种面向最小带宽保障的网络拥塞控制装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现所述的面向最小带宽保障的网络拥塞控制方法。
本发明还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现所述的面向最小带宽保障的网络拥塞控制方法。
总体而言,与现有技术相比,本发明具有以下有益效果:
1、本发明提供的拥塞控制方法及装置通过对截止时间流和非截止时间流进行区分,使得具备面向不同TCP流进行区分服务的能力,即,可以针对截止时间流进行带宽保障。
2、本发明通过提供的拥塞控制方法及装置将截止时间转换为最小窗口值,使得拥塞控制方法及装置可以感知应用流的网络需求,便于达到流量控制协同应用需求的效果。
3、本发明提供的拥塞控制方法及装置可以在防止拥塞恶化的同时提供TCP流的带宽保障或截止时间保障服务。
附图说明
图1为本发明拥塞控制方法流程图;
图2为本发明拥塞控制状态机图;
图3为本发明慢启动、快速恢复和拥塞避免转换图;
图4为基于最小带宽保障的慢启动阶段和基于最小带宽保障的拥塞避免阶段的实现举例图,rcos=2,α=0.5;
图5为本发明拥塞控制装置图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,为本实施例中网络拥塞控制方法流程图,本实施例提供的网络拥塞控制方法采用的拥塞控制状态机如图2所示,分为Open、Disorder、CWR、Recovery、Loss几个状态。
Open状态
Open状态是拥塞控制状态机的默认状态。这种状态下,当确认ACK(Acknowledgement)到达时,发送方根据拥塞窗口cwnd(Congestion Window)是小于还是大于慢启动阈值ssthresh(slow start threshold),来按照慢启动或者拥塞避免算法来调整拥塞窗口。
Disorder状态
当发送方检测到DACK(重复确认)或者SACK(选择性确认)时,状态机将转变为Disorder状态。在此状态下,发送方遵循飞行(in-flight)包守恒原则,即一个新包只有在一个老包离开网络后才发送,也就是发送方收到老包的ACK后,才会再发送一个新包。
CWR(Congestion Window Reduced)状态
拥塞窗口因为一些拥塞指示(congestion notification)事件而变小,这些拥塞指示事件可以是ECN或其它拥塞信号。当Linux收到拥塞指示事件的时候并不会一次把cwnd减小到指定值,而是每隔一个ACK报文把cwnd减1,直到窗口大小变为原来的一半。CWR状态可以被下面的Recovery状态或者Loss状态打断。
Recovery状态
当接收方收到不连续的报文时,应该立即进入快速重传阶段,后续收到的报文都返回丢失的最小的报文的ACK,用于通知发送方,哪个报文丢失了。当发送方收到连续3个重复ACK,说明网络可能发生了丢包,通过ACK发送方就知道丢失了哪个报文,这时应该立即进入到快速重传阶段,重传丢失的报文,而不用等嗅探到丢包的时候。为了平滑的降低发送速度,此时不会立即进入拥塞避免阶段,而是进入到快速恢复阶段,只有当全部失序的报文到达接收方的时候,才会进入拥塞避免阶段,将拥塞窗口cwnd减半。当发送方接受到一个ACK报文的时候,说明有一个报文到达了接收发,那么就可以发送一个报文,这个就是快速恢复阶段的算法。
Loss状态
当RTO超时后,所有发出去的数据包都会被标记为已丢失,cwnd设置为1,发送端开始使用慢启动算法增加cwnd。Loss状态并不能直接被Disorder、CWR、Recovery状态打断。只有收到大于等于recovery point的ack number之后,Loss状态才能切换到Open状态。
具体的面向最小带宽保障的网络拥塞控制方法包括以下步骤:
S1、区分网络流的类型,包括截止时间流和非截止时间流。
本实施例仅针对时间截止流,不针对非时间截止流(非时间截止流采用处理方式不变)。
截止时间流为有截止时间的网络流,包括网络搜索、推荐或广告生成的网络流;非截止时间网络流为无截止时间的网络流,包括虚拟机迁移、数据备份、数据库查询相应或HTTP分块传输生成的网络流。
具体区分方法为:在socket(int domain,int type,int protocol)函数中添加type参数值,如SOCK_DEADLINE,表示该流为截止时间流;否则为非截止时间流。该方法可提供截止时间流接口给开发者,当需要使用截止时间流发送时,如在分布式计算中的关键网络流中,可调用使用截止时间流服务。
S2、根据网络流的类型设置最小窗口值。
由于本实施例仅针对截止时间流,根据流的大小、一次往返时延、流的截止时间和最大分段值乘积设置最小窗口值。
在本实施例中,截止TCP流的最小窗口值如下:
其中Wmin表示最小窗口值,Sf表示流的大小,Td表示流的截止时间,RTT表示一次往返时延,MSS表示最大分段值。
S3、在拥塞控制的各阶段调节拥塞窗口时,根据最小窗口值和拥塞程度对拥塞窗口值进行调整。
拥塞控制主要包括四个阶段:1)基于最小带宽保障的慢启动,2)基于最小带宽保障的拥塞避免,3)拥塞发生,4)快速恢复。图3为四个阶段的转换实现图。图4为本发明基于最小带宽保障的慢启动和基于最小带宽保障的拥塞避免阶段的实现实例图。
1)基于最小带宽保障的慢启动
所谓慢启动,也就是刚TCP建立连接,一点一点地提速,逐步试探网络的带宽承受能力,避免超越网络或接收端的接收能力。
慢启动执行过程如下:
a)连接建立好后,初始拥塞窗口cwnd=1,表明可以发送1个MSS大小的数据;
b)每发送MSS大小的数据,cwnd=cwnd-1
c)每当收到一个ACK,cwnd=cwnd+1;
d)每当过了一个往返时延时间RTT,执行基于最小带宽保障的慢启动算法,如下;
1-1)当未出现拥塞时,拥塞窗口值cwnd按如下方式增长:
当拥塞窗口小于最小窗口值时,每往返时间(round trip time,RTT)拥塞窗口值cwnd=cwnd*(0.5+1.5rcos)=3.5*cwnd(在本实施例中,rcos=2);
当拥塞窗口大于最小窗口值时,每往返时间(round trip time,RTT)拥塞窗口值翻倍,即cwnd=2*cwnd;
1-2)当出现拥塞时,拥塞窗口值cwnd按如下方式增长:
当出现拥塞时,每往返时间(round trip time,RTT)拥塞窗口值cwnd=cwnd*(1-0.5α)=0.75*cwnd;
e)ssthresh是一个阈值,当cwnd>=ssthresh时,进入基于最小带宽保障的拥塞避免算法。
2)基于最小带宽保障的拥塞避免
当拥塞窗口大小cwnd大于等于慢启动阈值ssthresh后,就进入基于最小带宽保障的拥塞避免算法。拥塞避免可以避免窗口增长过快导致窗口拥塞,而是缓慢的增加调整到网络的最佳值。
拥塞避免的执行过程如下:
1)收到一个ACK,则cwnd=cwnd+1/cwnd
2)每当过了一个往返延迟时间RTT,执行如下拥塞避免算法:
2-1)当未出现拥塞时,拥塞窗口值cwnd按如下方式增长:
当拥塞窗口小于最小窗口值时,每往返时间(round trip time,RTT)拥塞窗口值cwnd=rcos*cwnd+1=2*cwnd+1;
当拥塞窗口大于最小窗口值时,每往返时间(round trip time,RTT)拥塞窗口值cwnd=cwnd+1;
2-2)当出现拥塞时,每往返时间(round trip time,RTT)拥塞窗口值cwnd=cwnd*(1-0.5α)=0.75*cwnd;
3)拥塞发生
TCP拥塞控制方法以丢包或接收到ECN包为网络进入拥塞状态的信号。对于丢包有两种判定方式,一种是超时重传RTO(Retransmission Timeout)超时,另一个是收到三个重复确认ACK。超时重传是TCP协议保证数据可靠性的一个重要机制,其原理是在发送一个数据以后就开启一个计时器,在一定时间内如果没有得到发送数据报的ACK报文,那么就重新发送数据,直到发送成功为止。但是如果发送端接收到3个以上的重复ACK(即DACKs),TCP就意识到数据发生丢失,需要重传。这个机制不需要等到重传定时器超时,所以叫做快速重传,而快速重传后没有使用慢启动算法,而是拥塞避免算法,所以这又叫做快速恢复算法。
当接收到ECN标记包时,对比cwnd与ssthresh的值大小。若cwnd<ssthresh,进入基于最小带宽保障的慢启动执行;若cwnd>=ssthresh,进入基于最小带宽保障的拥塞避免执行。
超时重传RTO超时,TCP会重传数据包。TCP认为这种情况比较糟糕,反应也比较强烈:由于发生丢包,将慢启动阈值ssthresh设置为当前cwnd的一半,即ssthresh=cwnd/2。cwnd重置为1进入基于最小带宽保障的慢启动过程。
当收到三个重复确认ACK时,TCP开启快速重传Fast Retransmit算法,而不用等到RTO超时再进行重传:cwnd大小缩小为当前的一半ssthresh设置为缩小后的cwnd大小然后执行快速恢复。
4)快速恢复
在进入快速恢复之前,cwnd和ssthresh已经被更改为原有cwnd的一半。快速恢复的执行如下:
cwnd=cwnd+3*MSS,加3*MSS的原因是因为收到3个重复的ACK。重传DACKs指定的数据包。如果再收到DACKs,那么cwnd=cwnd+1。如果收到新的ACK,表明重传的包成功了,那么退出快速恢复算法。将cwnd设置为ssthresh,然后进入基于最小带宽保障的拥塞避免算法。
上述实施例提供的网络拥塞控制方法通过降低非截止时间流的平均完成时间(Average Flow Complete Time,AFCT),可以有效保障截止时间流,满足特定应用(如分布式计算、AI迭代计算等)的性能需求。
如图5所示,本发明实施例还提供了一种面向最小带宽保障的网络拥塞控制装置,包括一个或多个处理器,存储器中存储有可执行代码,处理器执行可执行代码时,用于实现上述实施例中的面向最小带宽保障的网络拥塞控制方法。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的从硬件层面而言,除处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的面向最小带宽保障的网络拥塞控制方法:计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash8Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种面向最小带宽保障的网络拥塞控制方法,其特征在于,所述方法包括以下步骤:
(1)区分网络流的类型,所述类型包括截止时间流和非截止时间流;
(2)根据网络流的类型设置最小窗口值;
(3)在拥塞控制的各阶段调节拥塞窗口时,根据最小窗口值和拥塞程度对拥塞窗口值进行调整。
2.根据权利要求1所述的面向最小带宽保障的网络拥塞控制方法,其特征在于,在步骤(1)中,所述截止时间流为有截止时间的网络流,包括网络搜索、推荐或广告生成的网络流;所述非截止时间网络流为无截止时间的网络流,包括虚拟机迁移、数据备份、数据库查询相应或HTTP分块传输生成的网络流。
3.根据权利要求1所述的面向最小带宽保障的网络拥塞控制方法,其特征在于,在步骤(2)中,当所述网络流为非截止时间流时,最小窗口值设置为0;当所述网络流为截止时间流时,根据流的大小、一次往返时延、流的截止时间和最大分段值乘积设置最小窗口值。
4.根据权利要求1所述的面向最小带宽保障的网络拥塞控制方法,其特征在于,在步骤(3)中,所述拥塞控制的各阶段包括基于最小带宽保障的慢启动、基于最小带宽保障的拥塞避免、拥塞发生和快速恢复。
5.根据权利要求4所述的面向最小带宽保障的网络拥塞控制方法,其特征在于,在步骤(3)中,基于最小带宽保障的慢启动阶段对拥塞窗口值进行如下调整:
(1)当未出现拥塞时,拥塞窗口值cwnd按如下方式增长:
当前拥塞窗口值小于最小窗口值,下一时刻的拥塞窗口值cwnd=cwnd*(0.5+1.5rcos),rcos表示可调参数且大于1;
当前拥塞窗口值大于等于最小窗口值,下一时刻的拥塞窗口值cwnd翻倍,即cwnd=2cwnd;
(2)当出现拥塞时,拥塞窗口值cwnd按如下方式增长:
拥塞窗口值cwnd=cwnd*(1-0.5α),α表示拥塞程度。
6.根据权利要求5所述的面向最小带宽保障的网络拥塞控制方法,其特征在于,在步骤(3)中,基于最小带宽保障的拥塞避免阶段对拥塞窗口值进行如下调整:
(1)当未出现拥塞时,拥塞窗口值cwnd按如下方式增长:
当前拥塞窗口值小于最小窗口值,下一时刻的拥塞窗口cwnd=rcos*cwnd+1,rcos大于1表示可调参数;
当前拥塞窗口值大于等于最小窗口值,下一时刻的拥塞窗口值cwnd=cwnd+1;
(2)当出现拥塞时,拥塞窗口值cwnd按如下方式增长:
拥塞窗口值cwnd=cwnd*(1-0.5α),α表示拥塞程度。
7.根据权利要求6所述的面向最小带宽保障的网络拥塞控制方法,其特征在于,在步骤(3)中,对于拥塞发生阶段:
接收到显示拥塞通知ECN标记包时,对比拥塞窗口值与慢启动阈值的大小:若拥塞窗口值小于慢启动阈值,进入基于最小带宽保障的慢启动执行;拥塞窗口值大于等于慢启动阈值,进入基于最小带宽保障的拥塞避免执行;
超时重传超时,传输控制协议TCP会重传数据包:将慢启动阈值设置为当前拥塞窗口值的一半,拥塞窗口值重置为1,进入慢启动执行;
收到三个重复确认时,传输控制协议TCP开启快速重传:拥塞窗口值缩小为当前的一半,慢启动阈值设置为缩小后的拥塞窗口值大小,然后执行快速恢复。
8.根据权利要求7所述的面向最小带宽保障的网络拥塞控制方法,其特征在于,在步骤(3)中,对于快速重传阶段:
将拥塞窗口值设置为慢启动阈值的值加3;
在收到重复的确认时,拥塞窗口值加1;
收到新的确认,退出快速重传阶段;并将拥塞窗口值设置为慢启动阈值,然后进入基于最小带宽保障的拥塞避免执行。
9.一种面向最小带宽保障的网络拥塞控制装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-8中任一项所述的面向最小带宽保障的网络拥塞控制方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-8中任一项所述的面向最小带宽保障的网络拥塞控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310902761.5A CN116896532A (zh) | 2023-07-21 | 2023-07-21 | 一种面向最小带宽保障的网络拥塞控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310902761.5A CN116896532A (zh) | 2023-07-21 | 2023-07-21 | 一种面向最小带宽保障的网络拥塞控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116896532A true CN116896532A (zh) | 2023-10-17 |
Family
ID=88311954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310902761.5A Pending CN116896532A (zh) | 2023-07-21 | 2023-07-21 | 一种面向最小带宽保障的网络拥塞控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116896532A (zh) |
-
2023
- 2023-07-21 CN CN202310902761.5A patent/CN116896532A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7035291B2 (en) | TCP transmission acceleration | |
US8094557B2 (en) | Adaptive fast retransmit threshold to make TCP robust to non-congestion events | |
KR101130479B1 (ko) | 스퓨리어스 타임아웃에 대한 응답 방법 | |
US8605590B2 (en) | Systems and methods of improving performance of transport protocols | |
US8174975B2 (en) | Network adapter with TCP support | |
US5442637A (en) | Reducing the complexities of the transmission control protocol for a high-speed networking environment | |
WO2020001192A1 (zh) | 一种数据传输方法、计算设备、网络设备及数据传输系统 | |
US7385923B2 (en) | Method, system and article for improved TCP performance during packet reordering | |
EP2119171B1 (en) | Improved data transfer method, system and protocol | |
US6321269B1 (en) | Optimized performance for transaction-oriented communications using stream-based network protocols | |
US20020078164A1 (en) | System and method for data transfer acceleration in a TCP network environment | |
WO2017124985A1 (zh) | 一种数据传输的方法以及相关设备 | |
US8259728B2 (en) | Method and system for a fast drop recovery for a TCP connection | |
JP2012515491A (ja) | 送信制御プロトコルを利用した、パケットの損失および高いレイテンシーを有するネットワークにおける帯域幅利用の最大化 | |
CN106789702B (zh) | 控制tcp传输性能的方法及装置 | |
Arianfar | TCP’s congestion control implementation in Linux kernel | |
CN116896532A (zh) | 一种面向最小带宽保障的网络拥塞控制方法及装置 | |
CN117676695A (zh) | Tcp传输方法、装置和系统 | |
Wan et al. | Research on tcp optimization strategy of application delivery network | |
Duarte | Transport protocols for large bandwidth-delay product networks-TCP extensions and alternative transport protocols | |
Wang et al. | CC-OLIA: A Dynamic Congestion Control Algorithm for Multipath QUIC in Mobile Networks | |
Xiao et al. | Performance Evaluation of Transmission Protocols Based on Satellite Networks | |
CN117692389A (zh) | Rdma报文信息重传方法、装置、电子设备及存储介质 | |
Duda | Computer Networking | |
Mehrotra et al. | RAPID: a reliable protocol for improving delay |
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 |