[发明专利]一种面向卫星网络的基于UDP的可靠数据传输方法有效
申请号: | 202011145034.1 | 申请日: | 2020-10-23 |
公开(公告)号: | CN112165355B | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 彭黎;文军;陈志辉;郑平;陈儒侠;闫石;古毅 | 申请(专利权)人: | 中国电子科技集团公司第三十研究所 |
主分类号: | H04B7/185 | 分类号: | H04B7/185 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 徐静 |
地址: | 610000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 卫星网络 基于 udp 可靠 数据传输 方法 | ||
1.一种面向卫星网络的基于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。
2.根据权利要求1所述的一种面向卫星网络的基于UDP的可靠数据传输方法,其特征在于,接收方数据接收步骤如下:
步骤21:接收数据包,检查是否有数据包丢失,将丢失数据包序号加入到接收方丢失列表LLR;如果当前数据包序号小于收到的最大数据包序列号dmax,则将该序列号从接收方丢失列表LLR中删除;
步骤22:检查ACK定时器是否期满:每隔1秒封装一个ACK包,如果接收方丢失列表LLR为空,则将ACK包序号设置为dmax+1,否则将ACK包序号设置为接收方丢失列表LLR列表中的最小值,然后将ACK包封装完成后发送给发送方;
步骤23:检查NAK定时器是否期满:搜索接收方丢失列表LLR,找出所有的最后反馈时间在k*RTT之前的包序列号,变量k初始值为1.5,RTT 为往返时延,随着反馈次数自增1,然后将找出的包序列号压缩后,封装成一个NAK包反馈给发送方;
步骤24:更新收到的最大序号dmax,跳转到步骤21。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十研究所,未经中国电子科技集团公司第三十研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011145034.1/1.html,转载请声明来源钻瓜专利网。