CN110535781B - 一种基于窗口预测的流量控制方法 - Google Patents

一种基于窗口预测的流量控制方法 Download PDF

Info

Publication number
CN110535781B
CN110535781B CN201910696404.1A CN201910696404A CN110535781B CN 110535781 B CN110535781 B CN 110535781B CN 201910696404 A CN201910696404 A CN 201910696404A CN 110535781 B CN110535781 B CN 110535781B
Authority
CN
China
Prior art keywords
size
window
receiving
value
receiving 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
CN201910696404.1A
Other languages
English (en)
Other versions
CN110535781A (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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201910696404.1A priority Critical patent/CN110535781B/zh
Publication of CN110535781A publication Critical patent/CN110535781A/zh
Application granted granted Critical
Publication of CN110535781B publication Critical patent/CN110535781B/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

Landscapes

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

Abstract

本发明公开了一种基于窗口预测的流量控制方法,包括步骤:1)在建立TCP连接阶段,发送端和接收端协商窗口尺寸,同时接收端预留数据缓冲区;2)发送端根据协商的结果,发送符合窗口尺寸的数据字节流,并等待接收端的确认;3)发送端根据刚刚返回的确认信息中的剩余接收窗口的大小以及上一次预测的剩余接收窗口大小代入公式(4);4)通过公式(4)计算出此次预测的剩余接收窗口大小,并据此调整发送端的发送速率,从而使得发送端所采用的接收窗口大小的返回值与实际应匹配数值偏差减小;5)重复上述步骤3),直至通信结束,关闭连接,实现对接收窗口大小的流量控制。本发明提高了TCP通信效率,保证了资源的合理利用。

Description

一种基于窗口预测的流量控制方法
技术领域
本发明属于网络通信技术领域,具体涉及一种基于窗口预测的流量控制方法,该方法发送端的发送速度与接收端处理数据的速度的匹配方法,减小了发送端所采用的接收窗口大小的返回值与实际应匹配数值的偏差。
背景技术
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP/IP协议族是当前Internet的基础,目前网络中的大多数系统采用TCP协议进行传输。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP的工作机制见附图1。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
不同的场景及应用在进行TCP传输时产生不同的网络流量。TCP的流控机制是一种速度匹配的服务,旨在使发送端发送数据的速度与接收端处理数据的速度相匹配,若发送端的发送速度快,接收端的处理速度慢,很容易导致接收端在传输层丢包。TCP的流控机制的实现,就是在接收端设置有接收缓存,接收缓存当中存的一部分数据还没有来得及送给应用层,占据缓存的一部分,还剩下一部分空余的空间,这部分缓存空间叫剩余接收窗口。接收端每收到一个段,都要返回确认信息到发送端,确认段段头中有16位的字段是剩余接收窗口大小,如附图2所示,此时发送端便会调整发送速率,发送的数据量不超过剩余接收窗口的大小,接收端则不会产生丢包。
现有技术的缺点:
1、浪费资源、增加通信次数、降低TCP通信成功率。当剩余接收窗口Wn-1>Wn时,会造成发送端发送速度过快,使发送的数据量大于实时准确剩余接收窗口大小则会造成传输层丢包,从而导致资源的浪费、影响TCP通信效率;
2、不能充分利用缓冲区域的空间,降低TCP通信效率。当剩余接收窗口Wn-1<Wn时,发送的数据量过小,会导致缓冲区域有较大的空闲,降低TCP的通信效率。
发明内容
本发明的目的在于针对现有技术中存在的问题,提供了一种基于窗口预测的流量控制方法,该方法针对TCP可靠传输的特征进行分析并加以改进,减小了发送端所采用的接收窗口大小的返回值与实际应匹配数值的偏差。通过对实际应匹配接收窗口的大小进行预测和估算,采用指数式加权移动平均公式,提高了TCP通信效率,保证了资源的合理利用。
本发明采用如下技术方案来实现的:
一种基于窗口预测的流量控制方法,其特征在于,包括以下步骤:
1)在建立TCP连接阶段,发送端和接收端协商窗口尺寸,同时接收端预留数据缓冲区;
2)发送端根据协商的结果,发送符合窗口尺寸的数据字节流,并等待接收端的确认;
3)发送端根据刚刚返回的确认信息中的剩余接收窗口的大小以及上一次预测的剩余接收窗口大小代入公式(4),如下:
EstimatedWn=(1-x)*EstimatedWn-1+x*SampleWn-1 (4)
其中EstimatedWn为未来第n次剩余接收窗口的估值;EstimatedWn-1为第n-1次剩余接收窗口的估计值;SampleWn-1为刚刚得到的剩余接收窗口的返回值即第n-1次的实际值,并将x取不同的数值,分别进行估算,将估算值与实际值相比较,选取最接近实际值的系数x取值;
4)通过公式(4)计算出此次预测的剩余接收窗口大小,并据此调整发送端的发送速率,从而使得发送端所采用的接收窗口大小的返回值与实际应匹配数值偏差减小;
5)重复上述步骤3),直至通信结束,关闭连接,实现对接收窗口大小的流量控制。
本发明进一步的改进在于,步骤3)中,如果是第一次预测剩余接收窗口的大小时,EstimatedWn-1的值就取为刚刚返回的确认段中的值SampleWn-1。
本发明进一步的改进在于,步骤3)的具体实现方法如下:
301)第一次发送数据时,不需预测剩余接收窗口的大小,发送端根据返回的确认段中的接收窗口的数值来调整发送速率即可;
302)此后,利用公式(4)进行剩余接收窗口的大小,x分别赋1/4、1/8;
303)代入不同的x值,计算出本次具体估算的剩余接收窗口的大小;
304)分别将x取不同值的情况下,剩余接收窗口大小的估计值与实际值相比较,选取一组距离实际值差值最小的系数;
305)最终确定系数x,以此值作为将来的预测系数。
本发明具有如下有益的技术效果:
由于TCP传输数据建立连接的过程需要三次握手,接收端第一次确认无误收到发送端的数据后,便会通知对方自己的剩余窗口大小,此时剩余接收窗口大小记为Wn-1,与此同时接收端向发送端返回剩余接收窗口Wn-1。随即发送端第二次向接收端发数据时则依据Wn-1的返回值大小进行发送,接收端第二次确认无误收到数据时返回新的剩余接收窗口大小Wn。在此过程中,实际上可以发现一个问题,如附图3所示,发送端t1时刻的发送速率来自于刚刚接收端返回的确认段中剩余接收窗口的大小Wn-1,但实际上,发送端想匹配的是下一个确认段中剩余接收窗口的大小Wn
本发明提出的对下一次返回的接收窗口大小进行预测,能够使得发送端的发送速度与接收端处理数据的速度得到更好的匹配,实现了TCP的流量控制,从而提高通信效率。具体的,本发明提出了对TCP的流量控制算法的改进,利用历史数据去预测剩余接收窗口的大小,从而更好的实现匹配。并且,本发明提出预测下一次返回的接收窗口大小的算法,将采用指数式加权移动运动平均公式对其进行估算。
附图说明
图1是本发明中TCP的工作机制图。
图2是TCP报文段段格式。
图3是TCP通信过程图。
图4是指数加权移动平均算法示意图。
图5是本发明所述的流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明的目的在于提供一种TCP流量控制算法的改进,减少传输层的丢包问题,合理利用接收端缓冲区域的空间,提高TCP传输的可靠性以及通信效率。位于目的主机的TCP服务对接收到的数据进行确认,并向源应用程序发送确认信息。源主机在收到确认消息之前可以传输的数据的大小称为剩余接收窗口大小,用于管理丢失数据和流量控制。本发明中采用指数式加权移动平均公式对下一次返回的接收窗口大小进行预测和估算。
首先,简单地将指数加权移动平均法与其他估计数值方法进行比较:
1、移动平均
移动平均,简称均线,是技术分析其中一种分析时间序列数据的工具。最常见的是利用股价、回报或交易量等变量计算出移动平均。
移动平均可抚平短期波动,将长线趋势或周期显现出来。数学上,移动平均可视为一种卷积。
2、简单移动平均
简单移动平均SMA是之前n个数值的未作加权算术平均。例如,收市价的10日简单移动平均指之前10日收市价的平均数。设收市价为p1至pn,则方程式为:
Figure BDA0002149490970000051
当计算连续的数值,一个新的数值加入,同时一个旧数值剔出,所以无需每次都重新逐个数值加起来:
Figure BDA0002149490970000052
在技术分析中,有几个n的数值较为普遍,如10日、40日、200日,视乎分析时期长短而定。投资者冀从移动平均线的图表中分辨出支持位或阻力位。
3、加权移动平均
加权移动平均WMA指计算平均时个别数据乘以不同数值,在技术分析中,n日WMA的最近期一个数值乘以n、次近的乘以n-1,如此类推,一直到0:
Figure BDA0002149490970000053
如图5所示,本发明提供的一种基于窗口预测的流量控制方法,包括以下步骤:
1)在建立TCP连接阶段,发送端和接收端协商窗口尺寸,同时接收端预留数据缓冲区;
2)发送端根据协商的结果,发送符合窗口尺寸的数据字节流,并等待接收端的确认;
3)发送端根据刚刚返回的确认信息中的剩余接收窗口的大小以及上一次预测的剩余接收窗口大小代入公式(4),如下:
EstimatedWn=(1-x)*EstimatedWn-1+x*SampleWn-1 (4)
其中EstimatedWn为未来第n次剩余接收窗口的估值;EstimatedWn-1为第n-1次剩余接收窗口的估计值;SampleWn-1为刚刚得到的剩余接收窗口的返回值即第n-1次的实际值,并将x取不同的数值,分别进行估算,将估算值与实际值相比较,选取最接近实际值的系数x取值;
4)通过公式(4)计算出此次预测的剩余接收窗口大小,并据此调整发送端的发送速率,从而使得发送端所采用的接收窗口大小的返回值与实际应匹配数值偏差减小;
5)重复上述步骤3),直至通信结束,关闭连接,实现对接收窗口大小的流量控制。
所述步骤3)的具体实现步骤为:
301)第一次发送数据时,不需预测剩余接收窗口的大小,发送端根据返回的确认段中的接收窗口的数值来调整发送速率即可。
302)此后,利用公式(4)进行剩余接收窗口的大小,x分别赋1/4、1/8。
303)代入不同的x值,计算出本次具体估算的剩余接收窗口的大小。
304)分别将x取不同值的情况下,剩余接收窗口大小的估计值与实际值相比较,选取一组距离实际值差值最小的系数。
305)最终确定系数x,以此值作为将来的预测系数。
本发明应用的优势之处如下:
1、在此发明中,涉及TCP的流量控制方法中发送端的发送速度与接收端处理数据的速度的匹配方法,使整个网络在通信过程中有较为理想的传输过程。对下一次返回的接收窗口大小的预测利用指数式加权运动平均公式,较为准确的得出符合剩余接收窗口变化的系数x,提高了TCP的通信效率,纠正了一定程度上的偏差。
2、从概率角度看,EWMA即指数加权移动平均公式是一种理想的最大似然估计技术,它采用一个权重因子λ对数据进行估计,当前估计值由前一次估计值和当前的抽样值共同决定,在本发明中通过上一次的预测值与上一次的实际值进行预测,由于接收端的滑动窗口大小是固定的且接收端处理数据能力较为平稳,采用历史值进行预测起到了强化历史值的作用,有一定的健壮性。
3、从信号处理角度看,EWMA可以看成是一个低通滤波器,通过控制系数值,剔除短期波动、保留长期发展趋势提供了信号的平滑形式,使整个TCP通信过程效率提高。
4、由于发送端所采用的接收窗口大小的返回值与实际应匹配数值偏差是由于一个RTT时间内数据传输造成的,所以采用估计RTT的指数加权移动平均公式估计实际应匹配窗口大小有一定的延续性和经验意义。
具体算法过程如下:EWMA指数加权移动平均是一种常用的序列数据处理方式。
第一步:
Figure BDA0002149490970000071
其中系数α表示加权减小的程度,在0和1之间的恒定平滑因子。较高的α更快地对较旧的观察值进行折扣。
Yt是时间段t的值。
St是任何时间段t的EMA值。
S1可以以多种不同的方式初始化,最常见的是通过如上所示将S1设置为Y1,但是存在其他技术,例如将S1设置为前4或5个观察的平均值。S1初始化对合成移动平均值的影响取决于α;较小的α值使得S1的选择相对比较大的α值更重要,因为较高的α会更快地对较旧的观察值进行折扣。
系数α越接近1表示对当前抽样值的权重越高,对过去测量值得权重越低,估计值的时效性就越强,反之,越弱;另外,EWMA还有一定的吸收瞬间突发的能力,也即平稳性,显然随着α减小,参考过去测量值的程度更多一些,平稳性增强,反之则降低。附图4显示了重量减少的一个例子。
第二步:通过不同时间重复应用公式(7),最终可以将St写为基准点Yt的加权和,如下:
St=α[Yt+(1-α)Yt-1+(1-α)2Yt-2+…+(1-α)kYt-k]+(1-α)k+1Yt-(k+1) (6)
第三步:公式(7)也可以用技术分析术语表示如下,显示EMA如何朝着最新的基准点迈步,但只是差异的一部分(每次):
EMA(t)=αY(t)+(1-α)EMA(t-1) (7)
EMA(t-1)每次扩展都会产生以下幂级数,显示每个基准点y1,y2等的加权因子如何以指数方式下降:
EMA(t)=α[y1+(1-α)y2+(1-α)2y3+(1-α)3y4+…] (8)
其中y1为本次的实际值,y2为上次的实际值,以此类推。
第四步:由于
Figure BDA0002149490970000081
方可得出
Figure BDA0002149490970000082
理论上这是一个无穷级数,但由于1-α少于1,各项的数值会越来越细,可以被忽略。分母方面,若有足够多项,则其数值趋向1/α。
第五步:假设k项及以后的项被忽略,即
(1-α)k+(1-α)k+1+…,重写后可得
(1-α)k×(1+(1-α)+(1-α)2+…),相当于
Figure BDA0002149490970000083
所以,若要包含99.9%的加权,解方程
Figure BDA0002149490970000084
即可得出k。由于当N不断增加,log(1-α)将趋向
Figure BDA0002149490970000085
简化后k大约等于3.45×(N+1)。
采用本算法的优势:
在TCP通信中保证数据可靠,高效率的传输是网络通信的要求,在本发明中旨在解决发送端所采用的接收窗口大小的返回值与实际应匹配数值之间的偏差,采用指数加权移动平均公式恰好能达到一下效果:(1)不需要保存过去的所有数值。(2)计算量显著减少。(3)编程实现简单。(4)x通常取1/4(2-2)、1/8(2-3),SampleWn-1可直接右移两位或三位,可以提高代码的效率,节省资源。(5)x取1/4或1/8,把刚刚采集到的Wn-1值弱化了,更强调历史数据,使预测值更加接近于真实值。(6)利用预测剩余接收窗口大小的公式,健壮性好,网络波动较厉害时,由于除了一个4或者8,即缩小4倍或8倍,所以预测出的值的波动不大,相对比较平稳。从而提高了TCP的通信效率。
在此发明中,涉及TCP的流量控制方法中发送端的发送速度与接收端处理数据的速度的匹配方法,使整个网络在通信过程中有较为理想的传输过程。
本发明所述TCP流量控制方法的改进,对下一次返回的接收窗口大小的预测利用指数式加权运动平均公式,较为准确的得出符合剩余接收窗口变化的系数x,最后得到估计的下一次返回的接收窗口大小,以此数据为标准进行数据的传输,提高了TCP的通信效率,纠正了一定程度上的偏差。

Claims (1)

1.一种基于窗口预测的流量控制方法,其特征在于,包括以下步骤:
1)在建立TCP连接阶段,发送端和接收端协商窗口尺寸,同时接收端预留数据缓冲区;
2)发送端根据协商的结果,发送符合窗口尺寸的数据字节流,并等待接收端的确认;
3)发送端根据刚刚返回的确认信息中的剩余接收窗口的大小以及上一次预测的剩余接收窗口大小代入公式(4),如下:
EstimatedWn=(1-x)*EstimatedWn-1+x*SampleWn-1 (4)
其中剩余接收窗口为源主机在收到确认消息之前能够传输的数据,EstimatedWn为未来第n次剩余接收窗口的估值;EstimatedWn-1为第n-1次剩余接收窗口的估计值;SampleWn-1为刚刚得到的剩余接收窗口的返回值即第n-1次的实际值,并将x取不同的数值,分别进行估算,将估算值与实际值相比较,选取最接近实际值的系数x取值;如果是第一次预测剩余接收窗口的大小时,EstimatedWn-1的值就取为刚刚返回的确认段中的值SampleWn-1;
具体实现方法如下:
301)第一次发送数据时,不需预测剩余接收窗口的大小,发送端根据返回的确认段中的接收窗口的数值来调整发送速率即可;
302)此后,利用公式(4)进行剩余接收窗口的大小,x分别赋1/4、1/8;
303)代入不同的x值,计算出本次具体估算的剩余接收窗口的大小;
304)分别将x取不同值的情况下,剩余接收窗口大小的估计值与实际值相比较,选取一组距离实际值差值最小的系数;
305)最终确定系数x,以此值作为将来的预测系数;
4)通过公式(4)计算出此次预测的剩余接收窗口大小,并据此调整发送端的发送速率,从而使得发送端所采用的接收窗口大小的返回值与实际应匹配数值偏差减小;
5)重复上述步骤3),直至通信结束,关闭连接,实现对接收窗口大小的流量控制。
CN201910696404.1A 2019-07-30 2019-07-30 一种基于窗口预测的流量控制方法 Active CN110535781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910696404.1A CN110535781B (zh) 2019-07-30 2019-07-30 一种基于窗口预测的流量控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910696404.1A CN110535781B (zh) 2019-07-30 2019-07-30 一种基于窗口预测的流量控制方法

Publications (2)

Publication Number Publication Date
CN110535781A CN110535781A (zh) 2019-12-03
CN110535781B true CN110535781B (zh) 2021-08-13

Family

ID=68661167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910696404.1A Active CN110535781B (zh) 2019-07-30 2019-07-30 一种基于窗口预测的流量控制方法

Country Status (1)

Country Link
CN (1) CN110535781B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4162764A4 (en) * 2020-06-05 2023-12-20 Telefonaktiebolaget LM Ericsson (publ.) METHOD AND DEVICE FOR RDS TRANSMISSION
CN114374653B (zh) * 2021-12-28 2024-02-27 同济大学 一种基于流量预测的可变比特速率业务调度方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063562A (en) * 1990-05-23 1991-11-05 International Business Machines Corporation Flow control for high speed networks
CN104202257A (zh) * 2014-09-12 2014-12-10 大连大学 一种基于带宽估计的卫星网络拥塞控制方法
CN106878192A (zh) * 2016-12-26 2017-06-20 北京邮电大学 一种自适应mptcp的数据调度方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336906B (zh) * 2013-07-15 2016-03-16 哈尔滨工业大学 环境传感器的采集数据流中连续异常检测的抽样高斯过程回归模型方法
CN105025515B (zh) * 2015-06-30 2018-03-30 电子科技大学 一种基于gm模型的无线传感器网络流量异常检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063562A (en) * 1990-05-23 1991-11-05 International Business Machines Corporation Flow control for high speed networks
CN104202257A (zh) * 2014-09-12 2014-12-10 大连大学 一种基于带宽估计的卫星网络拥塞控制方法
CN106878192A (zh) * 2016-12-26 2017-06-20 北京邮电大学 一种自适应mptcp的数据调度方法

Also Published As

Publication number Publication date
CN110535781A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
US7330426B2 (en) Receiver-based RTT measurement in TCP
US6757255B1 (en) Apparatus for and method of measuring communication performance
US6754228B1 (en) Method and device for data flow control
CN110535781B (zh) 一种基于窗口预测的流量控制方法
CN105827537A (zh) 一种基于quic协议的拥塞改进方法
US8228800B2 (en) Optimized transport protocol for delay-sensitive data
US20050169180A1 (en) Method and device for determining a time-parameter
WO2002045275A2 (en) System and method for a transmission rate controller
CN102667510B (zh) 增大针对远程装置的传输速率
CN110677221B (zh) 重传控制方法、通信接口和电子设备
EP1428358B1 (en) Data communications method and system for transmitting multiple data streams calculating available bandwidth per stream and bit stream trade-off
JP3608660B2 (ja) 圧縮ヘッダデータを送信する方法、装置、およびシステム
EP1238496B1 (en) Improvements in or relating to internet access
CN117240757A (zh) 一种基于流量自适应数据采集方法和系统
CN109981487B (zh) 一种数据调度方法、装置、电子设备及可读存储介质
CN111314961A (zh) Tcp传输方法、装置和系统
CN110290552B (zh) 缓存深度的测量方法和装置、存储介质、电子装置
KR100887129B1 (ko) 전송 제어 프로토콜에서의 혼잡 제어 방법 및 이를 위한기록매체
KR100859908B1 (ko) 지속적인 혼잡감지를 이용한 tcp 혼잡제어방법
CN114531210B (zh) 数据重传方法、装置、电子设备及存储介质
JP2000209224A (ja) フロ―制御方法
CN112230880B (zh) 一种数据传输控制方法、装置、fpga及介质
AU2019294687B2 (en) Distributed load-control in multi-hop networks
CN115767623B (zh) 一种基于5g的抗延迟冗余数据传输方法
CN115549860B (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