CN112165355A - 一种面向卫星网络的基于udp的可靠数据传输方法 - Google Patents

一种面向卫星网络的基于udp的可靠数据传输方法 Download PDF

Info

Publication number
CN112165355A
CN112165355A CN202011145034.1A CN202011145034A CN112165355A CN 112165355 A CN112165355 A CN 112165355A CN 202011145034 A CN202011145034 A CN 202011145034A CN 112165355 A CN112165355 A CN 112165355A
Authority
CN
China
Prior art keywords
packet
ack
data
sender
packets
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.)
Granted
Application number
CN202011145034.1A
Other languages
English (en)
Other versions
CN112165355B (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.)
CETC 30 Research Institute
Original Assignee
CETC 30 Research Institute
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 CETC 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CN202011145034.1A priority Critical patent/CN112165355B/zh
Publication of CN112165355A publication Critical patent/CN112165355A/zh
Application granted granted Critical
Publication of CN112165355B publication Critical patent/CN112165355B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • H04B7/18513Transmission in a satellite or space-based system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • H04B7/18519Operations control, administration or maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及卫星通信技术领域,公开了一种面向卫星网络的基于UDP的可靠数据传输方法,包括ACK超时重传机制、NAK精确重传机制和拥塞控制机制,数据发送方每隔一个ACK时间周期会收到接收方反馈的ACK包,当超过设定时间间隔后,仍未收到ACK包,则触发ACK超时重传机制;接收方在接收数据包时,会检测是否有丢包事件发生,当丢包检测成功时,会向发送方传输带有丢包序号的NAK包,发送方会根据NAK包精确重传丢失的数据包;利用丢包及往返时延变化情况,准确判断随机性丢包与链路拥塞丢包,仅当判断为拥塞时进行降速处理。本发明可解决高时延、带宽资源有限及高误码率的卫星网络环境下可靠传输效率低的问题。

Description

一种面向卫星网络的基于UDP的可靠数据传输方法
技术领域
本发明涉及卫星通信技术领域,尤其涉及一种面向卫星网络的基于UDP的可靠数据传输方法。
背景技术
随着卫星通信技术的不断发展,其提供的可用带宽也越来越高,且由于卫星通信网络具有通信距离远、覆盖范围广、通信方式灵活等特点,使其成为目前地面通信网络的一种重要补充手段。而与传统的有线网络及4G无线网络相比,卫星通信网络也存在着一些进行数据传输时需要克服的限制:(1)传播时延长,其单向传播时延便达到250ms到600ms,同时由于卫星高速运转导致其传输路径随时间动态变化,也会引起较大的时延抖动;(2)卫星网络的上、下行链路存在不对称的情况,容易影响信令的正确交互,且带宽资源非常有限。(3)由于空间环境的各种大气效应和较大的链路距离,卫星链路的质量会出现快速恶化导致较高的误码情况出现,进而造成数据包丢失,整体吞吐量降低,降低网络资源利用率。
在传统地面通信网络中通常提供TCP(传输控制协议)和UDP(用户数据报协议)两种数据传输方式。TCP协议可以提供可靠的、面向连接的数据传输功能,但是在复杂的卫星网络环境中,随机性丢包不可避免,而TCP协议的速率控制和拥塞控制是以丢包作为控制的信号,进而导致基于TCP的高速传输协议无法充分利用网络带宽,其次,TCP的可靠传输是以复杂的传输控制和较大的网络开销为代价,对于带宽资源有限的卫星网络开销过大,故传统TCP协议不能提供较好的QoS保障。而UDP协议提供面向无连接的服务,具有小的开销和发送时延,但UDP协议没有拥塞控制,及不提供可靠传输,对于文件传输等需要可靠性保障的应用来说将导致其无法正常工作。
发明内容
为了解决上述问题,本发明提出一种面向卫星网络的基于UDP的可靠数据传输方法,可解决高时延、带宽资源有限及高误码率的卫星网络环境下可靠传输效率低的问题。
本发明的一种面向卫星网络的基于UDP的可靠数据传输方法,将传输过程中的包分类为数据包和控制包,控制包包括ACK包和NAK包,其中ACK包表明该包之前的所有数据包均已收到,NAK包用于精确指明需要重传的数据包,该方法包括以下机制:
ACK超时重传机制:数据发送方每隔一个ACK时间周期会收到接收方反馈的ACK包,当超过设定时间间隔后,仍未收到ACK包,则触发ACK超时重传机制,即重新发送未被确认的拥塞窗口大小的数据包,其中拥塞窗口表示发送方能够发送出去的但还未收到ACK包的最大数据包数量;ACK包带有用于拥塞控制的参数,包括带宽估计、往返时延和拥塞窗口大小;
NAK精确重传机制:接收方在接收数据包时,会检测是否有丢包事件发生,当丢包检测成功时,会向发送方传输带有丢包序号的NAK包,发送方会根据NAK包精确重传丢失的数据包,避免重复发送接收方已收到的数据包;
拥塞控制机制:每收到一个NAK包,发送方会根据是否连续丢包来判断是随机性丢包,还是链路拥塞,当判断为拥塞时则进行降速处理;发送方会利用往返时延的变化情况来进一步判断网络是否拥塞,增加拥塞判定的准确性,并以此动态调节发送速率,以避免随机性丢包引起的降速处理;若判定为拥塞,则动态调整发送数据包的发包间隔TSND和/或拥塞窗口大小。
进一步的,发送方和接收方会分别维持一个丢失列表,令LLR={d1,d2,…,dn}表示接收方丢失列表,LLS={d1,d2,…,dn}表示发送方丢失列表;接收方收到数据后,首先检查是否出现丢包:假设接收方当前已收到数据包的序号为dmax,当收到的数据包序号di>dmax+1,则表明出现丢包情况,将丢失数据包序号加入接收方丢失列表:LLR=LLR∪{dmax+1,dmax+2,…,di-1};然后接收方会将接收方丢失列表LLR中的序号嵌入到NAK包并发回给发送方,发送方收到后将其加入到发送方丢失列表LLS中;发送方在发送数据包时,会优先发送发送方丢失列表中的数据。
进一步的,发送方数据发送步骤如下:
步骤11:检查发送方丢失列表LLS是否为空,若不为空,则重传发送方丢失列表LLS头部序列号的数据包,并在发送方丢失列表中删除重传的序列号;
步骤12:等待包发送间隔时间TSND,直到有数据包需要被发送;
步骤13:如果未应答数据包个数超过拥塞窗口大小,等待直到收到ACK包时,跳转到步骤11,超时未收到ACK包时,将未确认的数据包放入发送方丢失列表LLS,跳转到步骤11。
进一步的,接收方数据接收步骤如下:
步骤21:接收数据包,检查是否有数据包丢失,将丢失数据包序号加入到接收方丢失列表LLR;如果当前数据包序号小于收到的最大数据包序列号dmax,则将该序列号从接收方丢失列表LLR中删除;
步骤22:检查ACK定时器是否期满:每隔1秒封装一个ACK包,如果接收方丢失列表LLR为空,则将ACK包序号设置为dmax+1,否则将ACK包序号设置为接收方丢失列表LLR列表中的最小值,然后将ACK包封装完成后发送给发送方;
步骤23:检查NAK定时器是否期满:搜索接收方丢失列表LLR,找出所有的最后反馈时间在k*RTT之前的包序列号,变量k初始值为1.5,随着反馈次数自增1,然后将找出的包序列号压缩后,封装成一个NAK包反馈给发送方;
步骤24:更新收到的最大序号dmax,跳转到步骤21。
进一步的,数据传输开始时会进入慢启动阶段,当收到NAK包或者超时未收到ACK包时,终止慢启动阶段,进入拥塞控制阶段。
进一步的,慢启动阶段包括以下步骤:
步骤31:设置拥塞窗口大小CWND;
步骤32:发送方发送CWND个数据包;
步骤33:如果收到NAK包或者超时未收到带有第CWND+1数据包序号的ACK包时,终止慢启动阶段,进入拥塞控制阶段;
步骤34:当收到ACKi包时,计算当前ACKi包带有的数据包序号和上一次收到的ACKi-1包带有的数据包序号的差值,令CWND=ACKi-ACKi-1,跳转到步骤12。
进一步的,拥塞控制阶段以速率控制即动态调整发送数据包的发包间隔TSND为主,拥塞窗口大小控制为辅;主要采用NAK精确重传机制处理丢包情况,以避免重复发送接收方收到的数据包,采用ACK超时重传机制进一步保障数据传输的可靠性和完整性;每收到一个NAK包时,如果NAK包中带有的丢包序号只有1个即丢包个数为1,则认为发生随机性丢包,链路状态良好,不进行降速处理;如果NAK包中带有的丢包序号大于1,则认为链路发生拥堵,发送方将发送速率降低。
进一步的,接收方每隔1秒会传输一个ACK包给发送方,发送方收到ACK包后,立即反馈一个ACK2包,表示已确认收到该ACK包;接收方收到ACK2包后计算往返时延值,并将其绑定到下一个ACK包中反馈给数据发送方;
发送方收到ACK包后,更新带宽估计值、往返时延和拥塞窗口大小,并根据带宽估计值调整发包间隔TSND
进一步的,调整后的的发包间隔TSND′为:
Figure BDA0002739438380000051
其中,SYN表示发包间隔TSND更新周期,且满足:
Figure BDA0002739438380000052
其中,α(x)为发送速率的增长幅度,单位:包/秒;M表示带宽估计值,单位:bits/秒;C(x)表示当前发送速率,单位:bits/秒;L表示包的大小,单位:字节。
进一步的,还包括拥塞窗口更新机制:
令AS表示包到达速率,CSYN为拥塞窗口CWND的更新周期,则一个CSYN时间后,接收方计算新的拥塞窗口:
CWND′=CWND×λ+AS×(SYN+RTT)×(1-λ)
其中,λ为平滑系数;
计算完成后,将CWND′嵌入到下一次发送的ACK包中。
进一步的,还包括基于时延的拥塞机制:
发送方维持一个往返时延RTT窗体,记录最近收到的n个ACK包中的RTT值,计算往返时延RTT平均值Artt,以及标准差S:
Figure BDA0002739438380000061
Figure BDA0002739438380000062
其中,n为往返时延RTT窗体大小;如果其中有若干个ACK包的往返时延RTT值大于Artt+2S,且连续多个往返时延RTT值之间的差值成上升趋势,则判定为拥塞,降低发送速度。
本发明的有益效果在于:
本发明基于UDP协议进行数据传输,相比于传统TCP协议可有效减少一部分网络资源开销。在使用ACK超时重传机制确保数据传输可靠性的同时,本发明利用NAK精确重传机制避免重复发送接收方已经收到的数据包,进一步降低网络资源消耗,更好的适应于带宽资源受限的卫星网络。针对卫星网络中的丢包问题,本发明利用丢包数量及时延变化情况准确区分拥塞丢包和随机性丢包,并根据不同情况进行不同的拥塞处理,进一步提升传输效率。
附图说明
图1是本发明中发送方的数据发送步骤流程图;
图2是本发明的可靠数据传输方法总体流程图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明提供了一种面向卫星网络的基于UDP的可靠数据传输方法,首先将传输过程中的包分类为数据包和控制包,其中,数据包表示将文件分成大小相同的数据块,且每一个数据包带有一个单独的序号;控制包包括ACK包和NAK包,其中ACK包用于收包确认功能,包中带有一个数据包序号,表明该包之前的所有数据包均已收到,NAK包用于精确指明需要重传的数据包。此外,ACK包带有用于拥塞控制的参数,包括带宽估计、往返时延和拥塞窗口大小。
利用丢失重传机制来确保数据传输的可靠性,具体采用ACK超时重传和NAK精确重传两种机制。
ACK超时重传机制:数据发送方每隔一个ACK时间周期会收到接收方反馈的ACK包,当超过设定时间间隔后,仍未收到ACK包,则触发ACK超时重传机制,即重新发送未被确认的拥塞窗口大小的数据包,其中拥塞窗口表示发送方能够发送出去的但还未收到ACK包的最大数据包数量。
NAK精确重传机制:接收方在接收数据包时,会检测是否有丢包事件发生,当丢包检测成功时,会向发送方传输带有丢包序号的NAK包,发送方会根据NAK包精确重传丢失的数据包,避免重复发送接收方已收到的数据包。
具体的,发送方和接收方会分别维持一个丢失列表,令LLR={d1,d2,…,dn}表示接收方丢失列表,LLS={d1,d2,…,dn}表示发送方丢失列表;接收方收到数据后,首先检查是否出现丢包:假设接收方当前已收到数据包的序号为dmax,当收到的数据包序号di>dmax+1,则表明出现丢包情况,将丢失数据包序号加入接收方丢失列表:LLR=LLR∪{dmax+1,dmax+2,…,di-1};然后接收方会将接收方丢失列表LLR中的序号嵌入到NAK包并发回给发送方,发送方收到后将其加入到发送方丢失列表LLS中;发送方在发送数据包时,会优先发送发送方丢失列表中的数据。
实施例2
本实施例在实施例1的基础上,如图1所示,发送方的数据发送步骤如下:
步骤11:检查发送方丢失列表LLS是否为空,若不为空,则重传发送方丢失列表LLS头部序列号的数据包,并在发送方丢失列表中删除重传的序列号;
步骤12:等待包发送间隔时间TSND,直到有数据包需要被发送;
步骤13:如果未应答数据包个数超过拥塞窗口大小,等待直到收到ACK包时,跳转到步骤11,超时未收到ACK包时,将未确认的数据包放入发送方丢失列表LLS,跳转到步骤11。
实施例3
本实施例在实施例1的基础上,接收方的数据接收步骤如下:
步骤21:接收数据包,检查是否有数据包丢失,将丢失数据包序号加入到接收方丢失列表LLR;如果当前数据包序号小于收到的最大数据包序列号dmax,则将该序列号从接收方丢失列表LLR中删除;
步骤22:检查ACK定时器是否期满:每隔1秒封装一个ACK包,如果接收方丢失列表LLR为空,则将ACK包序号设置为dmax+1,否则将ACK包序号设置为接收方丢失列表LLR列表中的最小值,然后将ACK包封装完成后发送给发送方;
步骤23:检查NAK定时器是否期满:搜索接收方丢失列表LLR,找出所有的最后反馈时间在k*RTT之前的包序列号,变量k初始值为1.5,随着反馈次数自增1,然后将找出的包序列号压缩后,封装成一个NAK包反馈给发送方;
步骤24:更新收到的最大序号dmax,跳转到步骤21。
实施例4
本实施例在实施例1的基础上:
在卫星网络环境中,由于随机性丢包的存在,仅依靠丢包来进行拥塞判定会导致不必要的降速情况发生,从而降低了带宽利用率,影响数据传输效率。在网络数据传输过程中,当发包速率大于网络节点处理数据包的速率时,网络会出现排队、往返时延增加、丢包率增加等现象,即网络拥塞。
本实施例采用拥塞控制机制,可有效避免随机性丢包引起的降速处理。拥塞控制机制:利用往返时延的变化情况来进行拥塞判定,并以此动态调节发送速率,以避免随机性丢包引起的降速处理;若判定为拥塞,则动态调整发送数据包的发包间隔TSND和/或拥塞窗口大小。
如图1所示,数据传输开始时会进入慢启动阶段,当收到NAK包或者超时未收到ACK包时,终止慢启动阶段,进入拥塞控制阶段。
其中,慢启动阶段包括以下步骤:
步骤31:设置拥塞窗口大小CWND(例如CWND=16);
步骤32:发送方发送CWND个数据包;
步骤33:如果收到NAK包或者超时未收到带有第CWND+1数据包序号的ACK包时,终止慢启动阶段,进入拥塞控制阶段;
步骤34:当收到ACKi包时,计算当前ACKi包带有的数据包序号和上一次收到的ACKi-1包带有的数据包序号的差值,令CWND=ACKi-ACKi-1,跳转到步骤32。
拥塞控制阶段具体如下:
拥塞控制阶段以速率控制即动态调整发送数据包的发包间隔TSND为主,拥塞窗口大小控制为辅。为避免卫星网络中出现的随机性丢包而引起拥塞判定,此阶段以NAK包用于精确重传为主,超时未收到ACK包而连续重传为辅。
由于卫星网络的带宽限制及随机性丢包情况的存在,应区分拥塞丢包情况和随机性丢包情况,用ACK超时重传机制处理拥塞丢包,用NAK精确重传机制处理随机性丢包的情况。
接收方每隔1秒会传输一个ACK包给发送方,发送方收到ACK包后,立即反馈一个ACK2包,表示已确认收到该ACK包;接收方收到ACK2包后计算往返时延值,并将其绑定到下一个ACK包中反馈给数据发送方;
发送方收到ACK包后,更新带宽估计值、往返时延和拥塞窗口大小,并根据带宽估计值调整发包间隔TSND
实施例5
本实施例在实施例4的基础上:
根据带宽估计值调整发包间隔TSND的计算方法如下:
Figure BDA0002739438380000111
其中,TSND′为调整后的的发包间隔,SYN表示发包间隔TSND更新周期,且满足:
Figure BDA0002739438380000121
其中,α(x)为发送速率的增长幅度,单位:包/秒;M表示带宽估计值,单位:bits/秒;C(x)表示当前发送速率,单位:bits/秒;L表示包的大小,单位:字节。
实施例6
本实施例在实施例4的基础上:
本实施例提供一种拥塞窗口更新机制:令AS表示包到达速率,CSYN为拥塞窗口CWND的更新周期,则一个CSYN时间后,接收方计算新的拥塞窗口:
CWND′=CWND×λ+AS×(SYN+RTT)×(1-λ)
其中,λ为平滑系数,通常取值为0.8。
计算完成后,将CWND′嵌入到下一次发送的ACK包中。
实施例7
本实施例在实施例4的基础上:
发送方维持一个往返时延RTT窗体,记录最近收到的n个ACK包中的RTT值,计算往返时延RTT平均值Artt,以及标准差S:
Figure BDA0002739438380000122
Figure BDA0002739438380000131
其中,n为往返时延RTT窗体大小,这里取值为12。如果其中有5个点的往返时延RTT值大于Artt+2S,且连续8个往返时延RTT值之间的差值成上升趋势,则判定为拥塞,降低发送速率1/9。
当收到丢包反馈NAK包后,数据发送端会检查该NAK包中带有的丢包个数,当一个NAK包中带有的丢包个数为1时,不作处理;当一个NAK包中丢包个数大于1时,发送速率降低1/9。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (10)

1.一种面向卫星网络的基于UDP的可靠数据传输方法,将传输过程中的包分类为数据包和控制包,控制包包括ACK包和NAK包,其中ACK包表明该包之前的所有数据包均已收到,NAK包用于精确指明需要重传的数据包,其特征在于,包括:
ACK超时重传机制:数据发送方每隔一个ACK时间周期会收到接收方反馈的ACK包,当超过设定时间间隔后,仍未收到ACK包,则触发ACK超时重传机制,即重新发送未被确认的拥塞窗口大小的数据包,其中拥塞窗口表示发送方能够发送出去的但还未收到ACK包的最大数据包数量;ACK包带有用于拥塞控制的参数,包括带宽估计、往返时延和拥塞窗口大小;
NAK精确重传机制:接收方在接收数据包时,会检测是否有丢包事件发生,当丢包检测成功时,会向发送方传输带有丢包序号的NAK包,发送方会根据NAK包精确重传丢失的数据包,避免重复发送接收方已收到的数据包;
拥塞控制机制:每收到一个NAK包,发送方会根据是否连续丢包来判断是随机性丢包,还是链路拥塞,当判断为拥塞时则进行降速处理;发送方会利用往返时延的变化情况来进一步判断网络是否拥塞,增加拥塞判定的准确性,并以此动态调节发送速率,以避免随机性丢包引起的降速处理;若判定为拥塞,则动态调整发送数据包的发包间隔TSND和/或拥塞窗口大小。
2.根据权利要求1所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,发送方和接收方会分别维持一个丢失列表,令LLR={d1,d2,…,dn}表示接收方丢失列表,LLS={d1,d2,…,dn}表示发送方丢失列表;
接收方收到数据后,首先检查是否出现丢包:假设接收方当前已收到数据包的序号为dmax,当收到的数据包序号di>dmax+1,则表明出现丢包情况,将丢失数据包序号加入接收方丢失列表:LLR=LLR∪{dmax+1,dmax+2,…,di-1};
然后接收方会将接收方丢失列表LLR中的序号嵌入到NAK包并发回给发送方,发送方收到后将其加入到发送方丢失列表LLS中;发送方在发送数据包时,会优先发送发送方丢失列表中的数据。
3.根据权利要求2所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,发送方数据发送步骤如下:
步骤11:检查发送方丢失列表LLS是否为空,若不为空,则重传发送方丢失列表LLS头部序列号的数据包,并在发送方丢失列表中删除重传的序列号;
步骤12:等待包发送间隔时间TSND,直到有数据包需要被发送;
步骤13:如果未应答数据包个数超过拥塞窗口大小,等待直到收到ACK包时,跳转到步骤11,超时未收到ACK包时,将未确认的数据包放入发送方丢失列表LLS,跳转到步骤11。
4.根据权利要求2所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,接收方数据接收步骤如下:
步骤21:接收数据包,检查是否有数据包丢失,将丢失数据包序号加入到接收方丢失列表LLR;如果当前数据包序号小于收到的最大数据包序列号dmax,则将该序列号从接收方丢失列表LLR中删除;
步骤22:检查ACK定时器是否期满:每隔1秒封装一个ACK包,如果接收方丢失列表LLR为空,则将ACK包序号设置为dmax+1,否则将ACK包序号设置为接收方丢失列表LLR列表中的最小值,然后将ACK包封装完成后发送给发送方;
步骤23:检查NAK定时器是否期满:搜索接收方丢失列表LLR,找出所有的最后反馈时间在k*RTT之前的包序列号,变量k初始值为1.5,随着反馈次数自增1,然后将找出的包序列号压缩后,封装成一个NAK包反馈给发送方;
步骤24:更新收到的最大序号dmax,跳转到步骤21。
5.根据权利要求1所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,数据传输开始时会进入慢启动阶段,当收到NAK包或者超时未收到ACK包时,终止慢启动阶段,进入拥塞控制阶段。
6.根据权利要求5所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,慢启动阶段包括以下步骤:
步骤31:设置拥塞窗口大小CWND;
步骤32:发送方发送CWND个数据包;
步骤33:如果收到NAK包或者超时未收到带有第CWND+1数据包序号的ACK包时,终止慢启动阶段,进入拥塞控制阶段;
步骤34:当收到ACKi包时,计算当前ACKi包带有的数据包序号和上一次收到的ACKi-1包带有的数据包序号的差值,令CWND=ACKi-ACKi-1,跳转到步骤12。
7.根据权利要求5所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,拥塞控制阶段以速率控制即动态调整发送数据包的发包间隔TSND为主,拥塞窗口大小控制为辅;主要采用NAK精确重传机制处理丢包情况,以避免重复发送接收方收到的数据包,采用ACK超时重传机制进一步保障数据传输的可靠性和完整性;每收到一个NAK包时,如果NAK包中带有的丢包序号只有1个即丢包个数为1,则认为发生随机性丢包,链路状态良好,不进行降速处理;如果NAK包中带有的丢包序号大于1,则认为链路发生拥堵,发送方将发送速率降低。
8.根据权利要求7所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,接收方每隔1秒会传输一个ACK包给发送方,发送方收到ACK包后,立即反馈一个ACK2包,表示已确认收到该ACK包;接收方收到ACK2包后计算往返时延值,并将其绑定到下一个ACK包中反馈给数据发送方;
发送方收到ACK包后,更新带宽估计值、往返时延和拥塞窗口大小,并根据带宽估计值调整发包间隔TSND
9.根据权利要求8所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,调整后的的发包间隔TSND′为:
Figure FDA0002739438370000041
其中,SYN表示发包间隔TSND更新周期,且满足:
Figure FDA0002739438370000051
其中,α(x)为发送速率的增长幅度,单位:包/秒;M表示带宽估计值,单位:bits/秒;C(x)表示当前发送速率,单位:bits/秒;L表示包的大小,单位:字节。
10.根据权利要求9所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,还包括拥塞窗口更新机制和基于时延的拥塞机制;
拥塞窗口更新机制包括:
令AS表示包到达速率,CSYN为拥塞窗口CWND的更新周期,则一个CSYN时间后,接收方计算新的拥塞窗口:
CWND′=CWND×λ+AS×(SYN+RTT)×(1-λ)
其中,λ为平滑系数;
计算完成后,将CWND′嵌入到下一次发送的ACK包中;
基于时延的拥塞机制包括:
发送方维持一个往返时延RTT窗体,记录最近收到的n个ACK包中的RTT值,计算往返时延RTT平均值Artt,以及标准差S:
Figure FDA0002739438370000052
Figure FDA0002739438370000053
其中,n为往返时延RTT窗体大小;如果其中有若干个ACK包的往返时延RTT值大于Artt+2S,且连续多个往返时延RTT值之间的差值成上升趋势,则判定为拥塞,降低发送速度。
CN202011145034.1A 2020-10-23 2020-10-23 一种面向卫星网络的基于udp的可靠数据传输方法 Active CN112165355B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011145034.1A CN112165355B (zh) 2020-10-23 2020-10-23 一种面向卫星网络的基于udp的可靠数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011145034.1A CN112165355B (zh) 2020-10-23 2020-10-23 一种面向卫星网络的基于udp的可靠数据传输方法

Publications (2)

Publication Number Publication Date
CN112165355A true CN112165355A (zh) 2021-01-01
CN112165355B CN112165355B (zh) 2022-03-22

Family

ID=73866161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011145034.1A Active CN112165355B (zh) 2020-10-23 2020-10-23 一种面向卫星网络的基于udp的可靠数据传输方法

Country Status (1)

Country Link
CN (1) CN112165355B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037440A (zh) * 2021-05-25 2021-06-25 腾讯科技(深圳)有限公司 数据重传处理方法、装置、计算机设备和存储介质
CN113271316A (zh) * 2021-06-09 2021-08-17 腾讯科技(深圳)有限公司 多媒体数据的传输控制方法和装置、存储介质及电子设备
CN114095129A (zh) * 2021-11-17 2022-02-25 厦门勇仕网络技术股份有限公司 一种移动端游戏网络传输的通信方法及系统
CN114268416A (zh) * 2021-12-16 2022-04-01 无锡联云世纪科技股份有限公司 数据传输方法、装置及电子设备
CN114598377A (zh) * 2022-02-21 2022-06-07 北京富通亚讯网络信息技术有限公司 基于卫星网络下的可靠数据传输系统
CN114710446A (zh) * 2022-03-23 2022-07-05 维沃移动通信有限公司 数据传输方法、装置、电子设备和存储介质
CN114866476A (zh) * 2022-04-12 2022-08-05 北京邮电大学深圳研究院 一种无损高效的rdma传送方法
CN115277564A (zh) * 2022-07-21 2022-11-01 深圳证券通信有限公司 一种自适应带宽的数据传输机制
CN115378556A (zh) * 2022-10-27 2022-11-22 北京超摩科技有限公司 基于超时的数据重传方法及设备
CN116684359A (zh) * 2023-05-06 2023-09-01 铜仁职业技术学院 一种网络拥塞控制方法、装置及存储介质
CN117255038A (zh) * 2023-11-14 2023-12-19 西安明赋云计算有限公司 一种tcp数据包丢失监测方法
CN117579135A (zh) * 2024-01-17 2024-02-20 广东世炬网络科技有限公司 非地面网络传输中的重传阈值动态调整方法及装置

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1405994A (zh) * 2002-11-08 2003-03-26 清华大学 Tp-s卫星信道专用传输协议及传输方法
CN1642125A (zh) * 1999-02-22 2005-07-20 B·G·罗伯特 包含多个流动访问结点的无线通信网络
CN1946078A (zh) * 2006-10-27 2007-04-11 清华大学 一种适用于卫星网络的高效交互传输方法
CN100382478C (zh) * 2004-05-21 2008-04-16 三星电子株式会社 移动自组织网中发送数据的方法及利用该方法的网络设备
CN101325539A (zh) * 2007-06-15 2008-12-17 中兴通讯股份有限公司 一种局域网内可靠通信的方法
CN101645765A (zh) * 2009-08-03 2010-02-10 四川大学 面向高误码率、长时延特性网络的可靠传输加速方法
CN103636157A (zh) * 2013-06-20 2014-03-12 华为技术有限公司 一种ack信息的发送方法及装置
CN103905328A (zh) * 2012-12-25 2014-07-02 中国移动通信集团公司 一种数据传输控制系统、方法及相关装置
CN104980365A (zh) * 2014-04-01 2015-10-14 广西大学 一种基于连续丢包拥塞判断的tcp传输加速方法
CN105141542A (zh) * 2015-09-18 2015-12-09 北京百度网讯科技有限公司 基于tcp通信协议的拥塞窗口的控制算法和系统
US20170034060A1 (en) * 2015-07-28 2017-02-02 Brocade Communications Systems, Inc. Application Timeout Aware TCP Loss Recovery
CN107172658A (zh) * 2017-05-22 2017-09-15 广州市暨联牧科信息技术有限公司 一种应用于物联网传输的拥塞控制方法
CN107204834A (zh) * 2017-05-25 2017-09-26 复旦大学 一种基于udt协议的高速网络可靠传输的控制方法
CN109194450A (zh) * 2018-08-15 2019-01-11 西安电子科技大学 天地一体化网络通信的snack-p应答系统及方法、无线通信系统
US20200280902A1 (en) * 2015-12-14 2020-09-03 Huawei Technologies Co.,Ltd. Method and apparatus for transmitting data packets using dual sequence numbers

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1642125A (zh) * 1999-02-22 2005-07-20 B·G·罗伯特 包含多个流动访问结点的无线通信网络
CN1405994A (zh) * 2002-11-08 2003-03-26 清华大学 Tp-s卫星信道专用传输协议及传输方法
CN100382478C (zh) * 2004-05-21 2008-04-16 三星电子株式会社 移动自组织网中发送数据的方法及利用该方法的网络设备
CN1946078A (zh) * 2006-10-27 2007-04-11 清华大学 一种适用于卫星网络的高效交互传输方法
CN101325539A (zh) * 2007-06-15 2008-12-17 中兴通讯股份有限公司 一种局域网内可靠通信的方法
CN101645765A (zh) * 2009-08-03 2010-02-10 四川大学 面向高误码率、长时延特性网络的可靠传输加速方法
CN103905328A (zh) * 2012-12-25 2014-07-02 中国移动通信集团公司 一种数据传输控制系统、方法及相关装置
CN103636157A (zh) * 2013-06-20 2014-03-12 华为技术有限公司 一种ack信息的发送方法及装置
CN104980365A (zh) * 2014-04-01 2015-10-14 广西大学 一种基于连续丢包拥塞判断的tcp传输加速方法
US20170034060A1 (en) * 2015-07-28 2017-02-02 Brocade Communications Systems, Inc. Application Timeout Aware TCP Loss Recovery
CN105141542A (zh) * 2015-09-18 2015-12-09 北京百度网讯科技有限公司 基于tcp通信协议的拥塞窗口的控制算法和系统
US20200280902A1 (en) * 2015-12-14 2020-09-03 Huawei Technologies Co.,Ltd. Method and apparatus for transmitting data packets using dual sequence numbers
CN107172658A (zh) * 2017-05-22 2017-09-15 广州市暨联牧科信息技术有限公司 一种应用于物联网传输的拥塞控制方法
CN107204834A (zh) * 2017-05-25 2017-09-26 复旦大学 一种基于udt协议的高速网络可靠传输的控制方法
CN109194450A (zh) * 2018-08-15 2019-01-11 西安电子科技大学 天地一体化网络通信的snack-p应答系统及方法、无线通信系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ZANHUA LI: "Design of adaptive backstepping congestion controller for TCP networks with UDP flows based on minimax", 《ISA TRANSACTIONS》 *
许光利: "基于UDP的安全管理通信模块的设计", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
郭秦超: "卫星通信网络的SCPS-TP拥塞控制研究", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
陆世林: "基于RTT的传输层网络拥塞控制研究", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037440A (zh) * 2021-05-25 2021-06-25 腾讯科技(深圳)有限公司 数据重传处理方法、装置、计算机设备和存储介质
CN113271316A (zh) * 2021-06-09 2021-08-17 腾讯科技(深圳)有限公司 多媒体数据的传输控制方法和装置、存储介质及电子设备
CN114095129A (zh) * 2021-11-17 2022-02-25 厦门勇仕网络技术股份有限公司 一种移动端游戏网络传输的通信方法及系统
CN114095129B (zh) * 2021-11-17 2024-05-17 厦门勇仕网络技术股份有限公司 一种移动端游戏网络传输的通信方法及系统
CN114268416A (zh) * 2021-12-16 2022-04-01 无锡联云世纪科技股份有限公司 数据传输方法、装置及电子设备
CN114268416B (zh) * 2021-12-16 2023-10-24 无锡联云世纪科技股份有限公司 数据传输方法、装置及电子设备
CN114598377A (zh) * 2022-02-21 2022-06-07 北京富通亚讯网络信息技术有限公司 基于卫星网络下的可靠数据传输系统
CN114598377B (zh) * 2022-02-21 2022-12-06 北京富通亚讯网络信息技术有限公司 基于卫星网络下的可靠数据传输系统
CN114710446B (zh) * 2022-03-23 2024-04-26 维沃移动通信有限公司 数据传输方法、装置、电子设备和存储介质
CN114710446A (zh) * 2022-03-23 2022-07-05 维沃移动通信有限公司 数据传输方法、装置、电子设备和存储介质
CN114866476A (zh) * 2022-04-12 2022-08-05 北京邮电大学深圳研究院 一种无损高效的rdma传送方法
CN115277564A (zh) * 2022-07-21 2022-11-01 深圳证券通信有限公司 一种自适应带宽的数据传输机制
CN115378556A (zh) * 2022-10-27 2022-11-22 北京超摩科技有限公司 基于超时的数据重传方法及设备
CN116684359B (zh) * 2023-05-06 2024-02-06 铜仁职业技术学院 一种网络拥塞控制方法、装置及存储介质
CN116684359A (zh) * 2023-05-06 2023-09-01 铜仁职业技术学院 一种网络拥塞控制方法、装置及存储介质
CN117255038B (zh) * 2023-11-14 2024-01-26 西安明赋云计算有限公司 一种tcp数据包丢失监测方法
CN117255038A (zh) * 2023-11-14 2023-12-19 西安明赋云计算有限公司 一种tcp数据包丢失监测方法
CN117579135A (zh) * 2024-01-17 2024-02-20 广东世炬网络科技有限公司 非地面网络传输中的重传阈值动态调整方法及装置
CN117579135B (zh) * 2024-01-17 2024-06-11 广东世炬网络科技股份有限公司 非地面网络传输中的重传阈值动态调整方法及装置

Also Published As

Publication number Publication date
CN112165355B (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
CN112165355B (zh) 一种面向卫星网络的基于udp的可靠数据传输方法
EP2068510B1 (en) Communication system, communication device, and communication method
US7974195B2 (en) Method and apparatus for network congestion control
JP4016387B2 (ja) データフロー制御方法
US9660912B2 (en) Control of packet transfer through a multipath session comprising a single congestion window
KR100597425B1 (ko) 무선 네트워크 환경에서 전송 지연으로 인한 불필요한 재전송을 감소시키기 위한 방법 및 이를 이용한 통신 장치
US7607062B2 (en) System for fast recovery from losses for reliable data communication protocols
US7061856B2 (en) Data throughput over lossy communication links
US7808910B2 (en) Communication terminal, congestion control method, and congestion control program
US7782758B2 (en) Efficient loss recovery architecture for loss-decoupled TCP
KR100533686B1 (ko) 모바일 애드 혹 네트워크에서의 데이터 전송 방법 및 이를이용한 네트워크 장치
EP1568180B1 (en) A method for enhancing transmission quality of streaming media
US7376737B2 (en) Optimised receiver-initiated sending rate increment
US20020150048A1 (en) Data transport acceleration and management within a network communication system
US20080101290A1 (en) Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof
CN111193577B (zh) 使用传输超时的网络系统通信方法及通信装置
US7760638B2 (en) High-throughput communication system, communication terminal, session relay, and communication protocol
CN106789702B (zh) 控制tcp传输性能的方法及装置
US20060059256A1 (en) Signaling a state of a transmission link via a transport control protocol
JP2002521960A (ja) 通信システムにおけるデータ・パケットの伝達方法および装置
WO2000065782A1 (en) Overload control method for a packet-switched network
US7154850B1 (en) Wireless data transmission using time out control
Attiya New strategy for congestion control based on dynamic adjustment of congestion window
KR100913897B1 (ko) 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법
JP2003224547A (ja) フロー制御方法

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