技术领域
本发明涉及卫星网络带宽估计技术领域,尤其是涉及一种卫星网络瓶颈链路的带宽自适应估计方法和系统。
背景技术
卫星网络可以实现对全球的大范围覆盖,可以弥补地面网络的严重不足、扩大通信范围,并提高用户体验。随着卫星宽带通信技术的快速发展和互联网的空前繁荣,支持传输控制/网际协议(Transmission Control Protocol/Internet Protocol,以下简称:TCP/IP协议)业务的宽带卫星通信和网络技术迅猛发展。
由于卫星链路具有大时延,高误码率,高时延带宽积,不对称链路带宽等不同于地面网络的特点,导致为传输性能良好的有线网络设计的传统TCP/IP协议在卫星宽带通信和网络环境下吞吐量大大降低。因此,改善和提高误码率、长时延的卫星宽带通信和网络中的TCP性能,成为一个研究热点问题。
目前,TCP的改进方法中基于端到端的瓶颈链路带宽估计方法主要包括TCPW-BE算法、TCPW+算法、TCPW-ASBE算法,它们在无线有损信道效果明显。其主要依靠端到端带宽估计来区分丢包的原因。通过监测连接中返回的应答的速率,估计有效带宽,从而计算发生拥塞以后的拥塞窗口和慢启动阈值。
由于TCPW-BE算法及其改进TCPW+算法,以相邻数据包的两个应答通告信息ACK间隔和多个数据包的往返传输时间RTT并不总能够反映出瓶颈链路带宽为数据流服务的时间,从而导致在这两个采样时间内估算的带宽值在某些条件下误差较大,而在ASBE中ACK的最小间隔△ACK
发明内容
有鉴于此,本发明的目的在于提供一种卫星网络瓶颈链路的带宽自适应估计方法和系统,以缓解现有技术中存在的带宽值估计误差较大的技术问题。
第一方面,本发明实施例提供了一种卫星网络瓶颈链路的带宽自适应估计方法,应用于卫星网络的发送端;包括:累计接收基于所述卫星网络进行通讯的数据包的应答时间序列和往返传输时间序列;基于所述应答时间序列和所述往返传输时间序列,确定所述数据包中属于同一个发送窗口发出的最多前k个数据包;k为大于1的正整数;基于所述前k个数据包的应答时间序列,计算卫星网络瓶颈链路带宽为数据流的服务时间;基于所述服务时间和在所述服务时间内累计的数据量,对所述卫星网络瓶颈链路带宽进行估计,得到采样带宽。
进一步地,在得到采样带宽之后,所述方法还包括:采用二阶非线性滤波器对所述采样带宽进行自适应滤波,得到滤波之后的采样带宽。
进一步地,基于所述应答时间序列和所述往返传输时间序列,确定所述数据包中属于同一个发送窗口发出的最多前k-1个数据包,包括:基于所述应答时间序列,计算相邻两个数据包的确认应答到达发送端的时间差;基于所述往返传输时间序列和所述时间差,在所述数据包中确定同时满足如下条件关系式的前k-1个数据包:
进一步地,基于所述前k-1个数据包的应答时间序列,计算卫星网络瓶颈链路带宽为数据流的服务时间,包括:基于所述前k-1个数据包的应答时间序列,计算相邻两个数据包的确认应答到达发送端的时间差;基于如下算式计算所述服务时间:
进一步地,基于所述服务时间和在所述服务时间内累计的数据量,对所述卫星网络瓶颈链路带宽进行估计,得到采样带宽,包括:基于如下算式计算所述采样带宽:
进一步地,采用二阶非线性滤波器对所述采样带宽进行自适应滤波,包括:计算所述卫星网络的瓶颈链路的带宽变化率和滤波时间常数;基于所述卫星网络的瓶颈链路的历史采样带宽、所述带宽变化率、所述滤波时间常数和所述服务时间,对所述采样带宽进行自适应滤波处理,得到滤波之后的采样带宽。
第二方面,本发明实施例还提供了一种卫星网络瓶颈链路的带宽自适应估计系统,应用于卫星网络的发送端;包括:接收模块,确定模块,计算模块和估计模块;其中,所述接收模块,用于累计接收基于所述卫星网络进行通讯的数据包的应答时间序列和往返传输时间序列;所述确定模块,用于基于所述应答时间序列和所述往返传输时间序列,确定所述数据包中属于同一个发送窗口发出的最多前k-1个数据包;k为大于1的正整数;所述计算模块,用于基于所述前k-1个数据包的应答时间序列,计算卫星网络瓶颈链路带宽为数据流的服务时间;所述估计模块,用于基于所述服务时间和在所述服务时间内累计的数据量,对所述卫星网络瓶颈链路带宽进行估计,得到采样带宽。
进一步地,还包括滤波模块,用于:采用二阶非线性滤波器对所述采样带宽进行自适应滤波,得到滤波之后的采样带宽。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。
第四方面,本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面所述方法。
本发明提供了一种卫星网络瓶颈链路的带宽自适应估计方法和系统,基于数据传输过程和数据特征关系准确区分和判断同一个发送串口的数据包,然后基于同一发送窗口的系列数据包,准确计算瓶颈链路带宽为数据流服务的时间和数据量,并进行采样带宽估计,提高了估算数据的稳定性和精度,能够缓解现有技术中存在的带宽值估计误差较大的技术问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种卫星网络瓶颈链路的带宽自适应估计方法的流程图;
图2为本发明实施例提供的一种卫星网络数据包传输过程的示意图;
图3为本发明实施例提供的另一种卫星网络瓶颈链路的带宽自适应估计方法的流程图;
图4为本发明实施例提供的一种卫星网络瓶颈链路的带宽自适应估计系统的示意图;
图5为本发明实施例提供的另一种卫星网络瓶颈链路的带宽自适应估计系统的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
图1是根据本发明实施例提供动力一种卫星网络瓶颈链路的带宽自适应估计方法的流程图,该方法应用于卫星网络的发送端。如图1所示,该方法具体包括如下步骤:
步骤S102,累计接收基于卫星网络进行通讯的数据包的应答时间序列和往返传输时间序列。其中,应答时间序列为发送端收到每个数据包确认反馈的时间序列,往返传输时间序列为每个数据包从发送到接收到该数据包确认反馈的时间间隔序列。
如图2为根据本发明实施例提供的一种卫星网络数据包传输过程的示意图。如图2所示,发送端于窗口1发送k-1个数据包(1,2,3,…,r,…,k-1),当发送端接收到第1个数据包的接收端确认反馈ACK
步骤S104,基于应答时间序列和往返传输时间序列,确定数据包中属于同一个发送窗口发出的最多前k-1个数据包;k为大于1的正整数。
步骤S106,基于前k-1个数据包的应答时间序列,计算卫星网络瓶颈链路带宽为数据流的服务时间。
步骤S108,基于服务时间和在服务时间内累计的数据量,对卫星网络瓶颈链路带宽进行估计,得到采样带宽。
本发明提供了一种卫星网络瓶颈链路的带宽自适应估计方法,基于数据传输过程和数据特征关系准确区分和判断同一个发送串口的数据包,然后基于同一发送窗口的系列数据包,准确计算瓶颈链路带宽为数据流服务的时间和数据量,并进行采样带宽估计,提高了估算数据的稳定性和精度,能够缓解现有技术中存在的带宽值估计误差较大的技术问题。
针对于现有技术中存在的一阶带宽滤波器难以及时响应动态卫星网络的带宽变化的技术问题,在得到采样带宽之后,本发明实施例提供的方法还包括:采用二阶非线性滤波器对采样带宽进行自适应滤波,得到滤波之后的采样带宽。
具体的,首先计算卫星网络的瓶颈链路的带宽变化率和滤波时间常数;然后基于卫星网络的瓶颈链路的历史采样带宽、带宽变化率、滤波时间常数和服务时间,对采样带宽进行自适应滤波处理,得到滤波之后的采样带宽。在本发明实施例中,采用二阶非线性自适应滤波,可以达到平滑采样带宽估计结果、提高采样带宽估计的快速性和对带宽变化的跟踪速度的技术效果。
具体的,步骤S104还包括如下步骤:
步骤S1041,基于应答时间序列,计算相邻两个数据包的确认应答到达发送端的时间差;
步骤S1042,基于往返传输时间序列和时间差,在数据包中确定同时满足如下条件关系式的前k-1个数据包:
其中,RTT
在本发明实施例中,任意一个数据包k的往返传输时间RTT
其中,t
一个数据包流的最小往返传输时间RTT
RTT
ACK
同一发送窗口发出的k-1个数据包(1,2,3,…,r,…,k-1),由于发出时间系统单到达接收端的时间不同以及确认反馈的时间不同,存在以下关系:
RTT
因此,对于同一发送窗口的k-1个数据包(1,2,3,…,r,…,k-1),和下一个窗口发出的系列数据包(k,k+1,k+2,…)的首数据包k,重点考察它们在瓶颈链路(BottleneckLink)缓存(B
(1)对于同一发送窗口的k-1个数据包(1,2,3,…,r,…,k-1)来说,它们依次在瓶颈链路的B
其中,
因此{RTT
(2)如果下一发送窗口发出的第k个数据包是由第1个数据包确认反馈ACK
即:
对于同一发送窗口的数据包k-2、k-1,有:
而RTT
因此近似以RTT
综上所述,对于不同发送窗口数据包的情形,不妨设前k-1个数据包(1,2,3,…,r,…,k-1)为同一发送窗口、第k个数据包属于下一发送窗口且第k个数据包由ACK
RTT
RTT
需要说明的是,在本发明实施例中,为了判断上述等式中的约等于是否近似成立,引入预设时间小量ε,判断RTT
具体的,步骤S106中的服务时间通过如下步骤计算得到:
基于前k-1个数据包的应答时间序列,计算相邻两个数据包的确认应答到达发送端的时间差;
基于如下算式计算服务时间:
其中,t
具体的,步骤S108中的采样带宽通过如下计算算式得到:
b
具体的,采样带宽的非线性二阶低通滤波估计值的计算算式为:
其中,时间常数τ和带宽变化率ρ
θ、k
由此可知,本发明实施例提供了一种卫星网络瓶颈链路的带宽自适应估计方法,能够基于TCP传输过程和ACK序列{ACK
进一步地,本发明实施例提供的方法,采用数据包应答ACK时间序列估算瓶颈链路带宽为数据流服务时间,和RTT时间相比更不容易受网络环境噪声的影响,简单而又高效,可以提高估算数据的稳定性和精度,减小现有技术中的基于ASBE的方法由于RTT和△ACK
实施例二:
图3是根据本发明实施例提供的另一种卫星网络瓶颈链路的带宽自适应估计方法的流程图。如图3所示,该方法具体包括如下步骤:
Step1:发送端接收数据包应答时间ACK序列{ACK
(1)初始化系统,初始瓶颈链路带宽采样值为b
(2)初始化启动TCP连接,发送端发送数据、接收端接收数据。
(3)参数初始化k=0,P
(4)带宽数据的初始化,记录与更新。
(5)接收返回的ACK序列{ACK
Step2:根据累计接收的数据包应答ACK序列,基于{RTT
计算带宽采样值的理想表达式,为瓶颈链路带宽为同一数据流的系列数据包的服务时间内通过的累积数据量,即:
其中分母t
这种基于TCP传输过程和ACK序列{ACK
具体的,不同发送窗口和数据包区分和判断方法、瓶颈链路带宽为数据流服务的估算过程如下:
(1)计算Σ
(2)判断RTT
(3)判断RTT
(4)计算
(5)计算带宽采样值
(6)参数初始化参数k=0,P
(7)将第k个数据包作为下一个发送窗口的第1个数据包、k=1,返回Step1的(4)。
(8)不计算b
Step3:瓶颈链路采样带宽的二阶非线性自适应滤波。
同时采用二阶非线性自适应滤波处理,可以实时根据采样带宽的变化,进一步平滑采样带宽值,提高带宽变化的跟踪速度与响应速度。具体的,二阶非线性自适应滤波过程如下:
(1)计算带宽变化率ρ
(2)设定常数θ、k
(3)根据历史带宽估计值
(4)结束本次估计,更新估计带宽
(5)带宽的更新和记录。
实施例三:
图4是根据本发明实施例提供的一种卫星网络瓶颈链路的带宽自适应估计系统的示意图,该系统应用于卫星网络的发送端。如图4所示,该系统包括:接收模块10,确定模块20,计算模块30和估计模块40。
具体的,接收模块10,用于累计接收基于卫星网络进行通讯的数据包的应答时间序列和往返传输时间序列。
确定模块20,用于基于应答时间序列和往返传输时间序列,确定数据包中属于同一个发送窗口发出的最多前k-1个数据包;k为大于1的正整数。
计算模块30,用于基于前k-1个数据包的应答时间序列,计算卫星网络瓶颈链路带宽为数据流的服务时间。
估计模块40,用于基于服务时间和在服务时间内累计的数据量,对卫星网络瓶颈链路带宽进行估计,得到采样带宽。
本发明提供了一种卫星网络瓶颈链路的带宽自适应估计系统,基于数据传输过程和数据特征关系准确区分和判断同一个发送串口的数据包,然后基于同一发送窗口的系列数据包,准确计算瓶颈链路带宽为数据流服务的时间和数据量,并进行采样带宽估计,提高了估算数据的稳定性和精度,能够缓解现有技术中存在的带宽值估计误差较大的技术问题。
图5是根据本发明实施例提供的另一种卫星网络瓶颈链路的带宽自适应估计系统的示意图。如图5所示,该系统还包括滤波模块50,用于:采用二阶非线性滤波器对采样带宽进行自适应滤波,得到滤波之后的采样带宽。
可选地,确定模块20,还用于:
基于应答时间序列,计算相邻两个数据包的确认应答到达发送端的时间差;
基于往返传输时间序列和时间差,在数据包中确定同时满足如下条件关系式的前k-1个数据包:
其中,RTT
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例一中的方法的步骤。
本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述实施例一中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
机译: 减少蜂窝卫星系统中卫星馈线链路带宽/载波的系统和方法
机译: 用于减少蜂窝卫星系统中的卫星馈线链路带宽/载波的系统和方法
机译: 用于减少蜂窝卫星系统中的卫星馈线链路带宽/载波的系统和方法