CN109257252B - 一种判断网络拥塞状态的方法 - Google Patents
一种判断网络拥塞状态的方法 Download PDFInfo
- Publication number
- CN109257252B CN109257252B CN201811062810.4A CN201811062810A CN109257252B CN 109257252 B CN109257252 B CN 109257252B CN 201811062810 A CN201811062810 A CN 201811062810A CN 109257252 B CN109257252 B CN 109257252B
- Authority
- CN
- China
- Prior art keywords
- network
- congestion
- rtt
- congested
- curve
- 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
Links
Images
Classifications
-
- 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/0852—Delays
-
- 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/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- 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/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- 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/11—Identifying congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于网络技术领域,具体为一种判断网络拥塞状态的方法。本发明方法包括:记录拥塞控制算法运行中检测到的RTT或者丢包数;通过统计工具将这些数据拟合成曲线,并通过低通滤波器进行处理,最后得到平滑后的曲线f(t);对f(t)求一阶和二阶导数,并且根据导数的大小对应不同的网络拥塞状态,进而预测下一刻可能的网络拥塞状态;实时计算每段时间T内RTT或者丢包率的极值点,这些极值点用于f'(t)=0或者f”(t)=0时的拥塞状态判定;拥塞控制算法根据这些拥塞状态调整自己的发包窗口和速率。本发明方法可以准确判定网络拥塞状态,及时和精确控制发包窗口CWND和发包速率,避免网络拥塞,提高带宽利用率和网络吞吐率。
Description
技术领域
本发明属于网络技术领域,具体涉及一种判断网络拥塞状态的方法。
背景技术
互联网网络就像水管,流量就像里面流动的水,我们在发送流量前,总是要先预估水管的体积和容量,进而决定发送窗口和速率大小,以尽量避免拥塞。传统的拥塞控制算法,例如TCP reno,UDT,BIC,CUBIC,BBR,QUIC等,均是通过检测RTT(往返时延)、可用带宽或者丢包率大小来判断网络拥塞状态。但这种方式存在一个核心问题,那就是不准确。丢包率增加,RTT增加,并不代表网络出现了拥塞。特别是在路由器交换机等设备缓存队列增加的高带宽高时延的BDP环境下,以及无线网络切换的场景中,丢包率和RTT的增加并不代表网络有拥塞。错误判断网络拥塞状态,将会导致不必要的降窗降速和冒进的增窗增速,最终会引起带宽利用率降低和网络拥塞状态加剧。所以准确判断网络拥塞状态,是拥塞控制算法有效提高网络带宽利用率的关键。
当网络出现拥塞时,RTT或丢包的增加,从一开始很快到后来逐渐减慢,符合凸函数的特性。凹函数以及其他情况的分析也类似。总之,对RTT或者丢包参数的变化率进行分析,也就是求导,而不是直接比较它们的大小,将会使拥塞状态的判断不依赖于RTT或者丢包的大小,而是变化率。另外,对于一些错误丢包或者无线网络切换等场景导致的瞬时丢包或者RTT,我们可以通过低通滤波滤除这些高频分量,避免把它们当做拥塞信号来看待。本发明可以更加准确判断网络拥塞状态,进而使拥塞算法有效提高网络带宽利用率和吞吐率。
发明内容
本发明的目的在于提供一种准确性高的判断网络拥塞状态的方法。
本发明提供的判断网络拥塞状态的方法,是将传统的检测RTT或丢包率大小变化作为判断依据,改为以计算RTT或丢包率曲线的变化率或斜率作为判断的参考依据。即本发明通过滤波和平滑后的RTT或者丢包率曲线的导数来确定网络拥塞状态。具体来说,通过计算RTT或丢包率曲线的一阶和二阶导数来确定RTT或丢包是否在增加或减少,以及增加或者减少的程度如何,进而判断网络的实时拥塞状态。
本发明方法的具体步骤是:
第一步,记录拥塞控制算法运行中检测到的RTT或者丢包数;通过统计工具将这些数据拟合成曲线,并通过低通滤波器进行处理,最后得到平滑后的曲线f(t);
第二步,对f(t)求一阶和二阶导数,并且根据导数的大小对应不同的网络拥塞状态,进而预测下一刻可能的网络拥塞状态;实时计算每段时间T内RTT或者丢包率的极值点,这些极值点用于f'(t)=0或者f”(t)=0时的拥塞状态判定。
拥塞控制算法根据这些拥塞状态调整自己的发包窗口和速率。
本发明步骤(1)中,将传统锯齿状的丢包率或者RTT折线图,变换为连续的平滑的曲线图形式,便于求导分析。
本发明步骤(1)中,低通滤波器,将传统的网络流量时域分析方法转换到频域分析,滤除掉可能导致网络拥塞状况错判的高频部分。
本发明步骤(1)中,将数据拟合成曲线时,凸函数用于拟合曲线斜率变化比较慢的情况,凹函数用于拟合曲线变化比较快的情况,曲线变化平缓或者没变化的部分可用直线拟合。
本发明步骤(2)中,一阶导数对应RTT或者丢包率的增加或者减少情况,二阶导数对应它们增加或减少的程度。
本发明步骤(2)中,只有二阶导数小于0,也就是凸函数部分,并且f(t)趋近于一段时间内的极大值点的情况,网络才很可能出现拥塞。
本发明步骤(2)中,即使出现了错判,本方法也会自动在下一时刻纠正这种错判。
附图说明
图1本发明方法图示。
图2本发明方法中凸函数和凹函数的拟合图示。
具体实施方式
本发明通过RTT或者丢包率的导数来判断网络拥塞状态,相当于将传统的时域分析方法变换为频域分析,即通过RTT或者丢包率的变化率作为拥塞状态的主要考量因素,而不是传统的测量值大小。在本发明中,RTT或者丢包率的测量值大小主要用于绘制f(t)曲线和求取f(t)极值点和边界值。RTT或者丢包率的测量值大小只是作为拥塞控制的辅助判断因素,其变化率才是主要判断因素。
下面结合附图对本发明进行详细的描述。
1、曲线f(t)的获取
假设通过拥塞控制算法收集到的RTT或者丢包率的初始折线图为g(t)。g(t)为一段时间t内实时采集到的值,是离散的充满毛刺的分段函数,我们的目标是将g(t)平滑为连续的没有毛刺的f(t)。
错误或者瞬时的丢包,无线环境的切换,均可能导致g(t)上的毛刺,我们可以采用低通滤波器将其滤除:
gn(tk)>Agn-1(t)max,gn(tk)=Bgn(tk-1);
其中,A为极大值的倍数,就是超过多少倍时被认为是毛刺,k为某个时间点,1<B<2,B表示为毛刺对当前值的影响。因为我们不能完全排除毛刺就是多余的,所以要保证毛刺削弱后,还是比上一时刻的值大。
如图2所示,在拟合曲线的时候,当斜率逐渐减小时,使用凸函数去拟合,当斜率逐渐增大时,使用凹函数去拟合。
2、网络拥塞状态的判断
对曲线f(t)进行求导,包括一阶导数,二阶导数,并求取极值点f(t)max,如图1所示,判断网络拥塞的过程如下:
f'(t)>0,f”(t)>0时,则发送窗口增加,网络没有拥塞。此时丢包率和RTT在持续增加,而且增加的程度在加剧,呈现凹函数形式,但不能据此认为网络已经出现了拥塞,因为如果出现了拥塞,这种增加的程度应该会减慢,而不是加剧,所以判定此时网络没有拥塞,还有继续保持窗口或者增加窗口的空间,提高带宽利用率。
f'(t)>0,f”(t)<0,则网络即将或者已经拥塞。此时丢包率和RTT也在增加,但增加的程度在减缓,呈现凸函数形式,说明丢包率和RTT已经增加到一定程度,已经导致网络中间节点的部分缓存队列丢包了,所以才出现增加程度减缓,网络即将或者已经拥塞,此时应该降窗降速,避免网络真的出现拥塞或者拥塞情况加剧。
f'(t)<0,f”(t)>0,则网络没拥塞或者即将退出拥塞状态。此时丢包率和RTT在减少,而且减少的程度在加剧,呈现凹函数形式,说明网络中间节点的缓存队列排队的数据包在减少,网络条件改善,网络拥塞的可能性很小,此时可以使拥塞控制算法进入快恢复阶段,以利用空闲带宽,提高带宽利用率。
f'(t)<0,f”(t)<0,则网络很可能还处于拥塞状态。此时丢包率和RTT在减小,而且减小的程度在减缓,呈现凸函数形式,说明网络条件在改善,但改善的程度比较慢,中间节点的缓存队列排队的数据包依然比较多,网络很可能还处于拥塞状态,或者处于拥塞状态的边缘,此时如果增窗增速,很可能很快造成网络的再次拥塞,所以此时应该推荐拥塞控制算法继续降窗降速。
f'(t)=0或者f”(t)=0时,则根据一段时间内极大值点f(t)max>f(t),网络不拥塞,否则f(t)max≤f(t)时网络拥塞来判断。此时RTT或者丢包率处于一种持续的增加、减少或者稳定的状态,网络要么已经处于拥塞状态了,要么网络状况很好,此时就通过比较一段时间内的极值点判断,如果丢包率或者RTT一直处于很低的水平,说明网络状况很好;如果丢包率或者RTT一直处于比较高的水平,说明网络已经拥塞。这种判定方法已经不是比较导数大小,而是借鉴了传统拥塞控制算法判断网络拥塞状况的方法。
当然,上述拥塞状况的判断过程,并不是绝对是这样,难免出现误判,但从统计学的大概率意义上说,上述判断过程是有效并且精确的,本发明将会从总体上提升带宽利用率和吞吐率。当出现误判时,例如当f'(t)<0,f”(t)<0时,网络不一定处于拥塞状态,很可能已经退出了拥塞状态,只不过链路条件不太好,或者其他业务抢占了带宽,导致RTT或者丢包率减缓的程度不是很明显,此种条件下可能导致误判。但即使出现误判,例如不必要的降窗降速,但会很快恢复过来,因为本发明检测的是导数变化情况,在个别点出现误判,会很快通过下一时刻导数大小的变化恢复过来。
上述关于本发明的描述仅仅是针对本发明的实施方式的详细说明,并非由于限制本发明的保护范围,在对应领域的技术人员应明白,凡未脱离本发明技术本质所作的等效实施方式或变更都应包含在本发明的保护范围内。
Claims (1)
1.一种判断网络拥塞状态的方法,其特征在于,具体步骤为:
(1)记录拥塞控制算法运行中检测到的RTT或者丢包数;通过统计工具将这些数据拟合成曲线,并通过低通滤波器进行处理,最后得到平滑后的曲线f(t);具体流程为:
假设通过拥塞控制算法收集到的RTT或者丢包率的初始折线为g(t);g(t)为一段时间t内实时采集到的值,是离散的充满毛刺的分段函数;
采用低通滤波器滤除g(t)上的毛刺:
gn(tk)>Agn-1(t)max,gn(tk)=Bgn(tk-1);
其中,A为极大值的倍数,就是超过多少倍时被认为是毛刺,k为某个时间点,1<B<2,B表示为毛刺对当前值的影响;
在拟合曲线的时候,当斜率逐渐减小时,使用凸函数去拟合,当斜率逐渐增大时,使用凹函数去拟合;
(2)对f(t)求一阶和二阶导数,并且根据导数的大小对应不同的网络拥塞状态,进而预测下一刻可能的网络拥塞状态;实时计算每段时间T内RTT或者丢包率的极值点,这些极值点用于f'(t)=0或者f”(t)=0时的拥塞状态判定;
拥塞控制算法根据这些拥塞状态调整自己的发包窗口和速率;
其中拥塞状态判定的流程为:
对曲线f(t)进行求导,计算一阶导数、二阶导数,并求取极值点f(t)max;
(1)当f'(t)>0,f”(t)>0时,则发送窗口增加,网络没有拥塞;
(2)当f'(t)>0,f”(t)<0时,则网络即将或者已经拥塞,此时降窗降速,避免网络真的出现拥塞或者拥塞情况加剧;
(3)当f'(t)<0,f”(t)>0时,则网络没拥塞或者即将退出拥塞状态;此时使拥塞控制算法进入快恢复阶段,以利用空闲带宽,提高带宽利用率;
(4)当f'(t)<0,f”(t)<0时,则网络还处于拥塞状态;此时推荐拥塞控制算法继续降窗降速;
(5)当f'(t)=0或者f”(t)=0时,则根据一段时间内极大值点f(t)max>f(t),此时网络不拥塞;否则f(t)max≤f(t)时网络拥塞来判断,此时RTT或者丢包率处于一种持续的增加、减少或者稳定的状态,网络要么已经处于拥塞状态了,要么网络状况很好,此时就通过比较一段时间内的极值点判断,如果丢包率或者RTT一直处于很低的水平,说明网络状况很好;如果丢包率或者RTT一直处于比较高的水平,说明网络已经拥塞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811062810.4A CN109257252B (zh) | 2018-09-12 | 2018-09-12 | 一种判断网络拥塞状态的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811062810.4A CN109257252B (zh) | 2018-09-12 | 2018-09-12 | 一种判断网络拥塞状态的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109257252A CN109257252A (zh) | 2019-01-22 |
CN109257252B true CN109257252B (zh) | 2021-10-26 |
Family
ID=65047861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811062810.4A Active CN109257252B (zh) | 2018-09-12 | 2018-09-12 | 一种判断网络拥塞状态的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109257252B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290428B (zh) * | 2019-06-26 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 一种拥塞控制方法、装置、终端及存储介质 |
WO2022032694A1 (en) | 2020-08-14 | 2022-02-17 | Cisco Technology, Inc. | Dynamic deterministic adjustment of bandwidth across multiple hubs with adaptive per-tunnel quality of service (qos) |
CN112822117B (zh) * | 2021-01-07 | 2022-11-22 | 厦门亿联网络技术股份有限公司 | 一种实时流媒体传输的拥塞检测方法及装置 |
CN113515424A (zh) * | 2021-04-25 | 2021-10-19 | 广东邦盛北斗技术服务有限公司 | 队列堵塞判断方法和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205665A (zh) * | 2012-02-12 | 2014-12-10 | 埃勒塔系统有限公司 | 多向中继器架构以及配合其使用的设备和操作方法 |
CN106533963A (zh) * | 2017-01-11 | 2017-03-22 | 深圳云视融通科技有限公司 | 一种流媒体传输的网络拥塞控制方法 |
CN107196863A (zh) * | 2016-03-15 | 2017-09-22 | 掌赢信息科技(上海)有限公司 | 一种码率调节方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9979510B2 (en) * | 2015-07-28 | 2018-05-22 | Brocade Communications Systems LLC | Application timeout aware TCP loss recovery |
-
2018
- 2018-09-12 CN CN201811062810.4A patent/CN109257252B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205665A (zh) * | 2012-02-12 | 2014-12-10 | 埃勒塔系统有限公司 | 多向中继器架构以及配合其使用的设备和操作方法 |
CN107196863A (zh) * | 2016-03-15 | 2017-09-22 | 掌赢信息科技(上海)有限公司 | 一种码率调节方法及电子设备 |
CN106533963A (zh) * | 2017-01-11 | 2017-03-22 | 深圳云视融通科技有限公司 | 一种流媒体传输的网络拥塞控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109257252A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257252B (zh) | 一种判断网络拥塞状态的方法 | |
US6252848B1 (en) | System performance in a data network through queue management based on ingress rate monitoring | |
US8879577B2 (en) | Monitoring system, device, and method | |
US8248946B2 (en) | Providing a high-speed defense against distributed denial of service (DDoS) attacks | |
US9160663B2 (en) | Dynamic congestion control | |
EP2586235B1 (en) | Method and arrangement for detecting congestion in a communications network | |
US10313244B2 (en) | Congestion control within a communication network | |
CN104994031B (zh) | 一种主动队列自适应管理方法asred | |
CN111726301B (zh) | 一种实时视频中保证视频质量的拥塞控制方法及系统 | |
JP2005508593A (ja) | ネットワークで情報のルーティング制御を実現するためのシステム及び方法 | |
TWI583152B (zh) | 適用於異質網路架構的異常預測方法及系統 | |
CN114422443A (zh) | 基于带宽估计和拥塞预测的卫星网络tcp拥塞控制方法 | |
Abu-Shareha | Integrated Random Early Detection for Congestion Control at the Router Buffer. | |
JP6317685B2 (ja) | 通信監視システム、通信監視方法およびプログラム | |
WO2021217641A1 (zh) | 一种拥塞控制方法、网络设备及系统 | |
CN114079619B (zh) | 端口流量的采样方法和装置 | |
WO2018202297A1 (en) | Network computing device, method and system for time-series forecasting based on a moving-median algorithm | |
CN107302501B (zh) | 一种调整网络端口聚合的方法及其装置 | |
Briscoe | PI $^ 2$ Parameters | |
CN115002040B (zh) | 基于大数据的感知优先级流控的负载均衡方法及其系统 | |
CN113810383B (zh) | Web应用防火墙及拥塞控制方法、介质及电子设备 | |
WO2010100151A1 (en) | Method for estimating a round trip time of a packet flow | |
JP4148242B2 (ja) | 高特定精度による高レートフロー特定方法 | |
CN115865401A (zh) | 一种基于APTS的慢速DoS攻击实时缓解方案 | |
Moonsin et al. | Bandwidth and buffer-based (B 2)-dynamic adaptive streaming over HTTP |
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 |