一种面向长时延高误码通信环境的端到端传输方法、系统、设备及介质

未命名 07-26 阅读:83 评论:0


1.本发明涉及空间信息技术领域,具体涉及一种面向长时延高误码通信环境的端到端传输方法、系统、设备及介质。


背景技术:

2.卫星网络能够为沙漠地区及远洋海域等地面移动通信网络无法覆盖的区域提供通信服务,能实现全球宽带业务接入,满足未来多样化业务的传输要求,已经成为下一代移动网络中的重要组成部分。
3.现有的卫星网络传输层协议tcp(transmission control protocol),通过慢启动、拥塞避免、快速重传和快速恢复完成端到端传输,先通过源端的拥塞窗口从1开始以二倍指数增加,一旦网络出现拥塞,目的端的接收应答反馈超时,慢启动门限变为当前发送窗口的一半,拥塞窗口降为零,并从零以二倍指数增加直至达到慢启动门限以线性加一的速度缓慢增加,当源端收到来自目的端反馈的三个相同编号的重传请求时,源端将不再等待超时,立即重发该编号的分组同时慢启动门限设置为当前拥塞窗口大小,拥塞窗口变为原来的一半,并以线性加一的速度缓慢增加,但是具有以下缺点:
4.(1)慢启动阶段:拥塞窗口初始值从1开始以二倍指数增加,影响了源端初始数据发送速率,降低了系统的吞吐量,增大了端到端的传输时延;
5.(2)拥塞避免阶段:拥塞窗口在每收到一个成功发送的反馈信息后,只是线性增加一个单位长度,致使源端发送速率提升缓慢,降低了系统的吞吐量,增大了端到端的传输时延;
6.(3)快速重传阶段:源端在收到3个重复的反馈信息后,才进行重传操作,增大了重传间隔,致使源端成功发送重传分组的时间增长,降低了系统的吞吐量,增大了端到端的传输时延。
7.j.qu等研究了卫星网络拥塞避免问题(an enhanced tcp vegas algorithm based on route surveillance and bandwidth estimation over geo satellite networks,"2010international conference on measuring technology and mechatronics automation,2010,pp.464-467,doi:10.1109/icmtma.2010.663.),但是没有考虑大规模卫星网络中长时延问题,在实际场景中卫星网络中由于卫星到地面的高度较高,传播时延较大,leo到地面的往返时延大约50ms,meo到地面的往返时延大约250ms,高轨卫星到地面往返时延大约239-280ms,这个量级大小的时延必然会影响整个拥塞控制的结果。同样,j.wang and k.pham等通过对队列管理的优化对卫星网络中的拥塞控制进行了优化,考虑了长时延带来的排队问题和高误码丢包(design of nonlinear control for active queue management in tcp satellite communication networks,"2020ieee aerospace conference,2020,pp.1-9,doi:10.1109/aero47225.2020.9172560.),但是其基于主队队列管理进行标记报告区分丢包的方法并不完善,而且其将tcp的框架进行了改
变,分为高低两层进行控制,其仅给出了低层控制设计,对于高层的设计仍不完善,与现有协议框架不兼容,在现有卫星网络系统中并不能实际应用。


技术实现要素:

8.为了克服上述现有技术的缺点,本发明的目的在于提供一种面向长时延高误码通信环境的端到端传输方法、系统、设备及介质,通过连接建立阶段发送nil分组探测网络资源,及发生拥塞后通过调整拥塞窗口和对丢失分组的快速重传,提高了网络吞吐量,具有缩短端到端的传输时延的特点。
9.为了实现上述目的,本发明采用的技术方案是:
10.一种面向长时延高误码通信环境的端到端传输方法,包括以下步骤:
11.步骤1、建立源端与目的端的连接,并发送低优先级nil分组来探测网络可用资源,进行快启动,启动成功,则执行步骤2,启动超时,则断开连接并重新建立源端与目的端的连接;
12.步骤2、当步骤1发生拥塞时,进行拥塞窗口调整,调整成功,则执行步骤3,调整超时,则断开连接并重新建立源端与目的端的连接;
13.步骤3、当步骤1和步骤2中出现丢失分组时,则进行快速重传;
14.步骤4、发送丢失分组,对nil分组进行快速恢复,恢复成功,返回步骤2继续对拥塞窗口进行调整,恢复超时,则断开连接并重新建立连接。
15.所述的步骤1具体包括以下步骤:
16.步骤1.1、源端在发送syn分组建立连接时,nil分组在tcp协议规定的分组格式中

利用未规定的扩展位设置nil标志位,发送不携带数据的nil分组,发送的nil分组数目见式(1):
17.num=ssthresh/seg_size 式(1)
18.式(1)中,num为nil分组数目,ssthresh为慢启动门,seg_size为nil分组的大小;
19.步骤1.2、nil分组设置为低优先级,在中间的地面转发节点及卫星节点中收到分组后进行解析,检查分组中的nil标志位是否为1,当发生拥塞时,丢弃顺序为:nil分组》nil ack分组》非nil分组;
20.步骤1.3、目的端收到nil分组后,回馈nil ack分组给源端,源端每收到一个nil分组,就在拥塞窗口中增加一个分组大小,在第三次握手连接建立前增加一个分组,当连接建立并开始发送组后,源端接收到nil分组直接销毁,拥塞窗口不再增加一个分组大小,此时启动成功;
21.步骤1.4、源端在给目的端发送建立连接请求信息后,在规定的时间内,目的端没有及时反馈应答信息,则断开连接并重新建立源端与目的端的连接。
22.所述的步骤2具体包括以下步骤:
23.步骤2.1、当步骤1发生拥塞时,通过式(2)计算当前网络情况下的理想吞吐量:
24.expected=cwnd(t-1)/rtt_min 式(2)
25.式(2)中,expected为在当前网络情况下的理想吞吐量,cwnd为上一时刻拥塞窗口值,rtt_min为最小往返时延;
26.步骤2.2、通过式(3)计算,当前网络情况下的实际吞吐量为:
27.actual=cwnd(t-1)/rtt 式(3)
28.式(3)中,actual为当前网络状况下的实际吞吐量,cwnd为上一时刻拥塞窗口值,rtt为当前往返时延;
29.步骤2.3、通过式(4)计算理想吞吐量与实际吞吐量的差值,并估计路由器中的缓存量:
[0030][0031]
式(4)中,diff为估计的路由器中的缓存量;
[0032]
步骤2.4、将步骤2.3中估计的路由器缓存大小diff与阈值α和阈值β进行比较,根据式(5)调整拥塞窗口cwnd的大小:
[0033][0034]
步骤2.5、当慢启动门限降为当前窗口的一半,且拥塞窗口变为1个分组大小时,则断开连接并重新建立源端与目的端的连接。
[0035]
所述的步骤3具体包括以下步骤:
[0036]
步骤3.1、通过tcp协议的sack选项选择重传,仅重传丢失的分组,目的端将已经接收并缓存的不连续数据分组信息反馈给源端,源端可根据此信息检查是哪个分组丢失,并发送相应的数据分组给目的端;
[0037]
步骤3.2、目的端通过反向链路发送反馈应答,告诉源端未正确接收的数据分组编号;
[0038]
步骤3.3、源端根据目的端提供的未正确接收的数据分组编号,重新发送未成功传输的数据分组。
[0039]
所述的步骤4具体包括以下步骤:
[0040]
步骤4.1、卫星网络中卫星节点的路由器收到nil分组后,根据收到nil ack分组的数量增大拥塞窗口,每收到一个nil ack分组,将拥塞窗口增加一个数据分组大小;
[0041]
步骤4.2、如果数据分组丢失是由拥塞引起的,路由器则优先丢弃发送的nil分组;
[0042]
步骤4.3、源端根据步骤4.2确定分组丢失是否由拥塞引起,如果存在拥塞,则保持拥塞窗口满足未发生拥塞的最大窗口尺寸;如果是由于误码导致的丢失分组,则发出的没有出现误码的nil分组能够收到nil ack分组,出现误码的nil分组不能收到nil ack分组,拥塞窗口可以恢复到拥塞导致的窗口减半前的大小,当重传阶段又发生丢失分组时,可以在nil分组中也采用sack选项,nil ack分组通知源端已经被目的端接收的分组,至此完成快速恢复并返回步骤2;
[0043]
步骤4.4、源端在给目的端发送建立连接请求信息后,在规定的时间内,目的端没有及时反馈应答信息,则断开连接并重新建立源端与目的端的连接。
[0044]
一种面向长时延高误码通信环境的端到端传输系统,包括:
[0045]
快启动模块:加快启动时分组的发送速率,提高启动吞吐量;
[0046]
拥塞避免模块:当快启动模块出现丢失分组的情况,检测是误码导致的丢失分组还是拥塞导致的丢失分组,根据不同情况实现拥塞避免;
[0047]
快速重传模块:对快启动模块和拥塞避免模块出现的丢失分组情况进行重传,加快重传速率,提升网络吞吐量;
[0048]
快速恢复模块:当快启动模块、拥塞避免模块及快速重传模块进行发送分组时出现窗口拥塞时,使拥塞窗口快速恢复到拥塞避免前的水平,加快提升网络吞吐量。
[0049]
一种面向长时延高误码通信环境的端到端传输设备,包括:
[0050]
存储器:用于存储实现如权利要求1-5任一项所述的一种面向长时延高误码通信环境的端到端传输方法的计算机程序;
[0051]
处理器:用于执行所述计算机程序时实现如权利要求1-5任一项所述的一种面向长时延高误码通信环境的端到端传输方法。
[0052]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的面向长时延高误码通信环境的端到端传输方法。
[0053]
相对于现有技术,本发明的有益效果在于:
[0054]
1、本发明连接建立阶段发送nil分组探测网络资源,在syn分组面临误码或者丢失的情况,nil分组能够作为syn分组的替补,在syn分组发生异常时能够代替syn分组建立连接,有效探测出了网络中的可用资源,在网络资源有限时将窗口扩大至当前适合的窗口值,有效解决了传统传输协议中长时延下启动时间过长的问题,从而提高了网络吞吐量。
[0055]
2、本发明的拥塞避免算法根据往返时延和前一时刻拥塞窗口计算网络实际吞吐量和理想吞吐量的差值,推测网络目前路由器缓存,调整窗口进行拥塞避免。
[0056]
3、本发明在重传阶段,采取了sack技术进行快速重传,降低了数据的重传量,避免了一部分的超时重传,尤其是对于部分连续六十分组的情况具有较好的效果。
[0057]
4、本发明采取发送nil分组进行快速恢复,对于误码导致的丢失分组,nil分组能够在1s内将拥塞窗口值恢复到发生丢失分组之前的大小,对于拥塞导致的丢失分组,能够保持拥塞窗口满足未发生拥塞的最大窗口尺寸,提高吞吐量。
附图说明
[0058]
图1为本发明的方法流程图。
[0059]
图2为本发明实施例提供的网络吞吐量理想情况下的仿真结果图。
[0060]
图3为本发明实施例提供的网络吞吐量在高误码环境下的仿真结果图。
[0061]
图4为本发明实施例提供的网络吞吐量在轻度负载下的仿真结果图。
[0062]
图5为本发明实施例提供的网络吞吐量在重度负载下的仿真结果图。
[0063]
图6为本发明实施例提供的三条连接接入同一路径网络吞吐量的仿真结果图。
具体实施方式
[0064]
下面结合附图对本发明做详细叙述。
[0065]
本发明的使用场景是一个大规模卫星网络,其包含144颗低轨卫星和12颗中轨卫星,低轨卫星轨道高度为1150km,卫星链路速率为100mbps,地面链路速率为44.5mbps,支持地面用户之间的相互通信,也支持地面与卫星节点的通信。
[0066]
参见图1,一种面向长时延高误码通信环境的端到端传输方法,包括以下步骤:
[0067]
步骤1、建立源端与目的端的连接,并发送低优先级nil分组来探测网络可用资源,进行快启动,启动成功,则执行步骤2,启动超时,则断开连接并重新建立源端与目的端的连接;
[0068]
步骤2、当步骤1发生拥塞时,进行拥塞窗口调整,调整成功,则执行步骤3,调整超时,则断开连接并重新建立源端与目的端的连接;
[0069]
步骤3、当步骤1和步骤2中出现丢失分组时,则进行快速重传;
[0070]
步骤4、发送丢失分组,对nil分组进行快速恢复,恢复成功,返回步骤2继续对拥塞窗口进行调整,恢复超时,则断开连接并重新建立连接。
[0071]
所述的步骤1具体包括以下步骤:
[0072]
步骤1.1、源端在发送syn分组建立连接时,nil分组在tcp协议规定的分组格式中

利用未规定的扩展位设置nil标志位,发送不携带数据的nil分组,发送的nil分组数目见式(1):
[0073]
num=ssthresh/seg_size 式(1)
[0074]
式(1)中,num为nil分组数目,ssthresh为慢启动门,seg_size为nil分组的大小;
[0075]
步骤1.2、nil分组设置为低优先级,在中间的地面转发节点及卫星节点中收到分组后进行解析,检查分组中的nil标志位是否为1,当发生拥塞时,丢弃顺序为:nil分组》nil ack分组》非nil分组,避免因发送nil分组对其他业务造成影响;
[0076]
步骤1.3、目的端收到nil分组后,回馈nil ack分组给源端,源端每收到一个nil分组,就在拥塞窗口中增加一个分组大小,为了避免存在部分分组因为某些原因,例如卫星切换导致的延时到达影响拥塞窗口的实时性,在第三次握手连接建立前增加一个分组,当连接建立并开始发送分组后,源端接收到nil分组直接销毁,拥塞窗口不再增加一个分组大小,此时启动成功;
[0077]
步骤1.4、源端在给目的端发送建立连接请求信息后,在规定的时间内,目的端因为网络拥塞或者传输出错没有及时反馈应答信息,则视为启动超时,启动超时则断开连接并重新建立源端与目的端的连接。
[0078]
所述的步骤2具体包括以下步骤:
[0079]
步骤2.1、当步骤1发生拥塞时,通过式(2)计算当前网络情况下的理想吞吐量,理想吞吐量为上一时刻拥塞窗口大小与最小往返时延的比值:
[0080]
expected=cwnd(t-1)/rtt_min 式(2)
[0081]
式(2)中,expected为在当前网络情况下的理想吞吐量,cwnd为上一时刻拥塞窗口值,rtt_min为最小往返时延;
[0082]
步骤2.2、通过式(3)计算,当前网络情况下的实际吞吐量为:
[0083]
actual=cwnd(t-1)/rtt 式(3)
[0084]
式(3)中,actual为当前网络状况下的实际吞吐量,cwnd为上一时刻拥塞窗口值,rtt为当前往返时延;
[0085]
步骤2.3、通过式(4)计算理想吞吐量与实际吞吐量的差值,并估计路由器中的缓存量:
[0086][0087]
式(4)中,diff为估计的路由器中的缓存量;
[0088]
步骤2.4、将步骤2.3中估计的路由器缓存大小diff与阈值α和阈值β进行比较,根据式(5)调整拥塞窗口cwnd的大小:
[0089][0090]
步骤2.5、当慢启动门限降为当前窗口的一半,且拥塞窗口变为1个分组大小时,则视为调整超时,调整超时则断开连接并重新建立源端与目的端的连接。
[0091]
所述的步骤3具体包括以下步骤:
[0092]
步骤3.1、通过tcp协议的sack选项选择重传,仅重传丢失的分组,避免拥塞严重情况下因大量重传导致的连续丢失分组,同时节省网络资源,目的端将已经接收并缓存的不连续数据分组信息反馈给源端,源端可根据此信息检查是哪个分组丢失,并发送相应的数据分组给目的端;
[0093]
步骤3.2、目的端通过反向链路发送反馈应答,告诉源端未正确接收的数据分组编号;
[0094]
步骤3.3、源端根据目的端提供的未正确接收的数据分组编号,重新发送未成功传输的数据分组,重传操作与正常传输操作流程一致。
[0095]
所述的步骤4具体包括以下步骤:
[0096]
步骤4.1、卫星网络中卫星节点的路由器收到nil分组后,根据收到nil ack分组的数量增大拥塞窗口,每收到一个nil ack分组,将拥塞窗口增加一个数据分组大小;
[0097]
步骤4.2、如果数据分组丢失是由拥塞引起的,路由器则优先丢弃发送的nil分组;
[0098]
步骤4.3、源端根据步骤4.2确定分组丢失是否由拥塞引起,如果存在拥塞,则减小发送窗口大小,降低源端发送速率,保持拥塞窗口满足未发生拥塞的最大窗口尺寸;如果是由于误码导致的丢失分组,那么发出的没有出现误码的nil分组能够收到nil ack分组,出现误码的nil分组不能收到nil ack分组,拥塞窗口可以恢复到拥塞导致的窗口减半前的大小,当重传阶段又发生丢失分组时,可以在nil分组中也采用sack选项,nil ack分组通知源端已经被目的端接收的分组,至此完成快速恢复并返回步骤2;
[0099]
步骤4.4、源端在给目的端发送建立连接请求信息后,在规定的时间内,目的端因为网络拥塞或者传输出错没有及时反馈应答信息,则视为恢复超时,恢复超时则断开连接并重新建立源端与目的端的连接。
[0100]
以下结合实施例对本发明的效果进一步说明。
[0101]
实施例的仿真条件:
[0102]
网络包含144颗低轨卫星,分布在12个轨道面上,每轨12颗卫星,卫星高度为1150km;地面链路速率为44.5mbps,卫星链路速率为100mbps,链路误码率从0~0.05%;业务类型为ftp业务,每个用户请求的ftp业务大小为25.6mbit,仿真场景中与业务无关的背
景流为4.26mbit。
[0103]
实施例的仿真内容与结果:
[0104]
以下isl协议为本发明所述的面向长时延高误码通信环境的端到端传输方法。
[0105]
实施例1,将路由器缓存设为无限长,测试理想情况下算法对网络最大吞吐量的探测,理想情况下拥塞控制算法应达到网络的最大速率,仿真结果如图2所示。
[0106]
卫星网络属于长肥网络,时延带宽积较大,导致在tcp协议达到网路最大承载能力的时间较长,参见图2,isl协议能够使数据传输开始达到门限值,速率值较大,达到链路速率最大值也更快,平均吞吐量大于tcp协议,整体传输时间更短。
[0107]
由实施例1可见,与现有tcp协议相比,本发明在数据传输速率方面具有传输时间更短的优势和创新点。
[0108]
实施例2,队列设置无限长,链路误码率设置为0.05%,测试高误码环境本发明与tcp协议的对比,结果如图3所示。
[0109]
参见图3,面对卫星网络长时延和高误码的环境,isl协议能够很好地在避免长时延带来的启动阶段拥塞窗口增加缓慢的问题,同时对于高误码丢包的情况,nil快速恢复能够更快恢复到丢包前的窗口,sack能够减少连续丢包导致的拥塞窗口连续较小,及吞吐量下降的情况。
[0110]
由实施例2可见,与现有tcp协议相比,本发明在启动阶段拥塞窗口增加方面具有更快速增加拥塞窗口的优势和创新点。
[0111]
实施例3,将队列设置为一个带宽时延积大小,链路误码率设置为0.05%,测试网络负载较轻时,并且伴随卫星网络中的高误码环境时,不同协议的吞吐量对比,结果如图4所示。
[0112]
参见图4,网络轻度拥塞情况下,isl协议的最大吞吐量高于tcp协议,这是由于在传输开始时网络并不拥塞,吞吐量下降主要来源于网络的误码导致的,isl协议在一开始就已经达到较高的吞吐量并且对于误码导致的丢包快速恢复,并且isl协议通过拥塞避免算法避免了拥塞导致的丢包,提高了吞吐量。
[0113]
由实施例3可见,与现有tcp协议相比,本发明在网络轻度拥塞情况下,恢复因误码导致的丢包方面,具有在丢包开始时就已经达到较高吞吐量,可更快恢复丢包的优势和创新点。
[0114]
实施例4,将队列设置为一个带宽时延积大小,链路误码率设置为0.05%,测试网络负载较重时,并且伴随卫星网络中的高误码环境时,不同协议的吞吐量对比,结果如图5所示。
[0115]
参见图5,网络重度拥塞的情况下,isl协议的吞吐量能够在开始时达到慢启动门限的值,后续根据网络情况进行拥塞避免,拥塞窗口不像tcp协议盲目上升,很好地避免了网络拥塞导致的吞吐量下降,文件传输时间也小于tcp协议。
[0116]
由实施例4可见,与现有tcp协议相比,本发明在网络重度拥塞的情况下进行拥塞避免方面避免了吞吐量下降,具有文件传输时间更短的优势和创新点。
[0117]
实施例5,公平性反映网络中不同连接能否平等地共享网络资源,测试算法公平性,在不同时间的同一条路径接入三个不同的isl协议连接,比较不同连接的吞吐量,仿真结果如图6所示。
[0118]
参见图6,在网络资源一定时,不同连接的吞吐量差距较小,算法公平性较好。
[0119]
由实施例5可见,本发明在网络资源一定时,不同连接的吞吐量差距较小,算法公平性较好。
[0120]
以上所述仅为本发明优选的仿真结果,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
[0121]
一种面向长时延高误码通信环境的端到端传输系统,包括:
[0122]
快启动模块:加快启动时的发送速率,提高启动吞吐量,用于面向长时延高误码通信环境的端到端传输方法的步骤1;
[0123]
拥塞避免模块:当快启动模块出现丢失分组的情况,检测是误码导致的丢失分组还是拥塞导致的丢失分组,根据不同情况实现拥塞避免,用于面向长时延高误码通信环境的端到端传输方法的步骤2;
[0124]
快速重传模块:对快启动模块和拥塞避免模块出现的丢失分组情况进行重传,加快重传速率,提升网络吞吐量,用于面向长时延高误码通信环境的端到端传输方法的步骤3;
[0125]
快速恢复模块:当快启动模块、拥塞避免模块及快速重传模块进行发送分组时出现窗口拥塞时,使拥塞窗口快速恢复到拥塞避免前的水平,加快提升网络吞吐量,用于面向长时延高误码通信环境的端到端传输方法的对应步骤4。
[0126]
一种面向长时延高误码通信环境的端到端传输设备,包括:
[0127]
存储器:用于存储实现所述的一种面向长时延高误码通信环境的端到端传输方法的计算机程序;
[0128]
处理器:用于执行所述计算机程序时实现所述的一种面向长时延高误码通信环境的端到端传输方法。
[0129]
所述的处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器也可以是任何常规的处理器等,所述处理器是所述面向长时延高误码通信环境的端到端传输设备的控制中心,利用各种接口和线路连接整个面向长时延高误码通信环境的端到端传输设备的各个部分。
[0130]
所述处理器执行所述计算机程序时实现上述面向长时延高误码通信环境的端到端传输的步骤,例如:建立源端与目的端的连接,发送低优先级nil分组探测网络可用资源进行快启动,启动超时则断开连接并重新建立源端与目的端的连接;对发生的拥塞进行拥塞窗口调整,调整超时则断开连接并重新建立源端与目的端的连接;对丢失分组进行快速重传;发送丢失分组,对nil分组进行快速恢复,恢复成功则继续对拥塞窗口进行调整,恢复超时则断开连接并重新建立连接。实现了所述面向长时延高误码通信环境的端到端传输。
[0131]
或者,所述处理器执行所述计算机程序时实现上述系统中各模块的功能,例如:快启动模块:加快启动时的发送速率,提高启动吞吐量;拥塞避免模块:检测是误码导致的丢失分组还是拥塞导致的丢失分组,根据不同情况实现拥塞避免;快速重传模块:加快重传速率,提升网络吞吐量;快速恢复模块:使拥塞窗口快速恢复到拥塞避免前的水平,加快提升
网络吞吐量;输出得到所述面向长时延高误码通信环境的端到端传输的结果。
[0132]
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成预设功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序在所述面向长时延高误码通信环境的端到端传输设备中的执行过程。例如,所述计算机程序可以被分割成快启动模块、拥塞避免模块、快速重传模块、快速恢复模块,各模块具体功能如下:快启动模块:加快启动时的发送速率,提高启动吞吐量;拥塞避免模块:检测是误码导致的丢失分组还是拥塞导致的丢失分组,根据不同情况实现拥塞避免;快速重传模块:加快重传速率,提升网络吞吐量;快速恢复模块:使拥塞窗口快速恢复到拥塞避免前的水平,加快提升网络吞吐量,输出得到所述面向长时延高误码通信环境的端到端传输的结果。
[0133]
所述面向长时延高误码通信环境的端到端传输的设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述面向长时延高误码通信环境的端到端传输的设备可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,上述是面向长时延高误码通信环境的端到端传输的设备的示例,并不构成对面向长时延高误码通信环境的端到端传输的设备的限定,可以包括比上述更多的部件,或者组合某些部件,或者不同的部件,例如所述面向长时延高误码通信环境的端到端传输的设备还可以包括输入输出设备、网络接入设备、总线等。
[0134]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述面向长时延高误码通信环境的端到端传输设备的各种功能。
[0135]
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0136]
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的面向长时延高误码通信环境的端到端传输方法。
[0137]
所述一种面向长时延高误码通信环境的端到端传输系统集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0138]
本发明实现上述面向长时延高误码通信环境的端到端传输中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述面向长时延高误码通信环境的端到端传输的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或预设中间形式等。
[0139]
所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或
装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号、电信信号以及软件分发介质等。
[0140]
需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
[0141]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。
[0142]
本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0143]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

技术特征:
1.一种面向长时延高误码通信环境的端到端传输方法,其特征在于,包括以下步骤:步骤1、建立源端与目的端的连接,并发送低优先级nil分组来探测网络可用资源,进行快启动,启动成功,则执行步骤2,启动超时,则断开连接并重新建立源端与目的端的连接;步骤2、当步骤1发生拥塞时,进行拥塞窗口调整,调整成功,则执行步骤3,调整超时,则断开连接并重新建立源端与目的端的连接;步骤3、当步骤1和步骤2中出现丢失分组时,则进行快速重传;步骤4、发送丢失分组,对nil分组进行快速恢复,恢复成功,返回步骤2继续对拥塞窗口进行调整,恢复超时,则断开连接并重新建立连接。2.根据权利要求1所述的一种面向长时延高误码通信环境的端到端传输方法,其特征在于,所述的步骤1具体包括以下步骤:步骤1.1、源端在发送syn分组建立连接时,nil分组在tcp协议规定的分组格式中

利用未规定的扩展位设置nil标志位,发送不携带数据的nil分组,发送的nil分组数目见式(1):num=ssthresh/seg_size 式(1)式(1)中,num为nil分组数目,ssthresh为慢启动门,seg_size为nil分组的大小;步骤1.2、nil分组设置为低优先级,在中间的地面转发节点及卫星节点中收到分组后进行解析,检查分组中的nil标志位是否为1,当发生拥塞时,丢弃顺序为:nil分组>nil ack分组>非nil分组;步骤1.3、目的端收到nil分组后,回馈nil ack分组给源端,源端每收到一个nil分组,就在拥塞窗口中增加一个分组大小,在第三次握手连接建立前增加一个分组,当连接建立并开始发送分组后,源端接收到nil分组直接销毁,拥塞窗口不再增加一个分组大小,此时启动成功;步骤1.4、源端在给目的端发送建立连接请求信息后,在规定的时间内,目的端没有及时反馈应答信息,则断开连接并重新建立源端与目的端的连接。3.根据权利要求1所述的一种面向长时延高误码通信环境的端到端传输方法,其特征在于,所述的步骤2具体包括以下步骤:步骤2.1、当步骤1发生拥塞时,通过式(2)计算当前网络情况下的理想吞吐量:expected=cwnd(t-1)/rtt_min 式(2)式(2)中,expected为在当前网络情况下的理想吞吐量,cwnd为上一时刻拥塞窗口值,rtt_min为最小往返时延;步骤2.2、通过式(3)计算,当前网络情况下的实际吞吐量为:actual=cwnd(t-1)/rtt 式(3)式(3)中,actual为当前网络状况下的实际吞吐量,cwnd为上一时刻拥塞窗口值,rtt为当前往返时延;步骤2.3、通过式(4)计算理想吞吐量与实际吞吐量的差值,并估计路由器中的缓存量:式(4)中,diff为估计的路由器中的缓存量;
步骤2.4、将步骤2.3中估计的路由器缓存大小diff与阈值α和阈值β进行比较,根据式(5)调整拥塞窗口cwnd的大小:步骤2.5、当慢启动门限降为当前窗口的一半,且拥塞窗口变为1个分组大小时,则断开连接并重新建立源端与目的端的连接。4.根据权利要求1所述的一种面向长时延高误码通信环境的端到端传输方法,其特征在于,所述的步骤3具体包括以下步骤:步骤3.1、通过tcp协议的sack选项选择重传,仅重传丢失的分组,目的端将已经接收并缓存的不连续数据分组信息反馈给源端,源端根据此信息检查是哪个分组丢失,并发送相应的数据分组给目的端;步骤3.2、目的端通过反向链路发送反馈应答,告诉源端未正确接收的数据分组编号;步骤3.3、源端根据目的端提供的未正确接收的数据分组编号,重新发送未成功传输的数据分组。5.根据权利要求1所述的一种面向长时延高误码通信环境的端到端传输方法,其特征在于,所述的步骤4具体包括以下步骤:步骤4.1、卫星网络中卫星节点的路由器收到nil分组后,根据收到nil ack分组的数量增大拥塞窗口,每收到一个nil ack分组,将拥塞窗口增加一个数据分组大小;步骤4.2、如果数据分组丢失是由拥塞引起的,路由器则优先丢弃发送的nil分组;步骤4.3、源端根据步骤4.2确定分组丢失是否由拥塞引起,如果存在拥塞,则保持拥塞窗口满足未发生拥塞的最大窗口尺寸;如果是由于误码导致的丢失分组,则发出的没有出现误码的nil分组能够收到nil ack分组,出现误码的nil分组不能收到nil ack分组,拥塞窗口可以恢复到拥塞导致的窗口减半前的大小,当重传阶段又发生丢失分组时,可以在nil分组中也采用sack选项,nil ack分组通知源端已经被目的端接收的分组,至此完成快速恢复并返回步骤2;步骤4.4、源端在给目的端发送建立连接请求信息后,在规定的时间内,目的端没有及时反馈应答信息,则断开连接并重新建立源端与目的端的连接。6.一种面向长时延高误码通信环境的端到端传输系统,其特征在于,包括:快启动模块:加快启动时分组的发送速率,提高启动吞吐量;拥塞避免模块:当快启动模块出现丢失分组的情况,检测是误码导致的丢失分组还是拥塞导致的丢失分组,根据不同情况实现拥塞避免;快速重传模块:对快启动模块和拥塞避免模块出现的丢失分组情况进行重传,加快重传速率,提升网络吞吐量;快速恢复模块:当快启动模块、拥塞避免模块及快速重传模块进行发送分组时出现窗口拥塞时,使拥塞窗口快速恢复到拥塞避免前的水平,加快提升网络吞吐量。7.一种面向长时延高误码通信环境的端到端传输设备,其特征在于,包括:存储器:用于存储实现如权利要求1-5任一项所述的一种面向长时延高误码通信环境的端到端传输方法的计算机程序;
处理器:用于执行所述计算机程序时实现如权利要求1-5任一项所述的一种面向长时延高误码通信环境的端到端传输方法。8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的面向长时延高误码通信环境的端到端传输方法。

技术总结
一种面向长时延高误码通信环境的端到端传输方法、系统、设备及介质,方法包括:先建立源端与目的端的连接,发送低优先级NIL分组来探测网络可用资源进行快启动,启动超时,则断开连接并重新建立源端与目的端的连接,启动成功,则对发生的拥塞进行拥塞窗口调整,调整超时,则断开连接并重新建立源端与目的端的连接,调整成功,则对丢失分组进行快速重传,再发送丢失分组,对NIL分组进行快速恢复,恢复成功则继续对拥塞窗口进行调整,恢复超时,则断开连接并重新建立连接;系统、设备及介质,用于实现一种面向长时延高误码通信环境的端到端传输方法;本发明通过快启动、拥塞调整、快速重传及快速恢复,提高网络吞吐量,缩短了端到端的传输时延。传输时延。传输时延。


技术研发人员:朱彦 盛敏 谢泽辉 李建东
受保护的技术使用者:西安电子科技大学
技术研发日:2023.04.20
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐