The invention belongs to the technical field of high-speed network data transmission, in particular to a control method for reliable transmission based on UDT protocol in a high-speed network. The invention firstly in the sender add ACK control packet loss retransmission counter and a list of two functional units; ACK control packet counter is used to control with the same sequence number of ACK packet statistics, in order to confirm the retransmission time of packet loss retransmission; list is used for recording the sender has retransmission but has not been confirmed ACK control package the sequence number of the packet loss; the specific steps of transmission control: the sender ACK control packet counter, receiving the statistical information of the ACK; control packet counter information through the ACK statistical estimation, the retransmission of packets or packet loss, according to the set threshold to determine the packet retransmission time the invention can reduce the congestion state of the link, and timely retransmission, impact greatly on the transmission speed will not.
【技术实现步骤摘要】
一种基于UDT协议的高速网络可靠传输的控制方法
本专利技术属于高速网络数据传输
,具体涉及一种在高速网络中基于UDT协议的可靠传输的控制方法。
技术介绍
随着高速网络的发展,传统的TCP传输协议随着RTT传输时延和丢包的增加,TCP数据流并没有占满可用带宽,而此时基于UDP的传输协议具有更大的传输优势,一方面基于UDP的传输协议传输代价更小、速度快、资源消耗更少,可以获得较高的吞吐量;另一方面,基于UDP的应用层传输协议可以调整流控和拥塞控制机制使之更适合当前网络的传输特性以最大效率的利用高速网络的传输带宽。当然由于UDP协议是不可靠的传输协议,不提供数据包的分组、组装以及乱序到达处理的功能,应用层协议想要实现可靠的文件传输功能需要在UDP协议之上实现可靠性。UDP-baseddatatransfer(UDT)协议是一个基于UDP的应用层传输协议,UDT协议是一个传输协议的框架,应用程序可以调用UDT协议的提供的API实现可靠的文件传输功能,UDT协议将基于速率的拥塞控制机制和基于窗口的流控机制相结合,一方面速率控制可以更新发送分组的时间间隔,控制当前发送数据包的发送速率,另一方面基于窗口的流控机制解决了突发流量时数据包缓存的问题,并且限制未接收到应答的数据包的个数。UDT协议中,每一个数据包都有一个序列号,接收方对接收到的数据周期性的触发ACK控制包确认已收到的数据包。接收方会发送两种类型的ACK控制包,一种是由定时器发出的常规ACK控制包,包含RTT、确认序号、预估链路带宽等信息,另一种是lightACK,为了减少处理时间,只包含确认序号,用于在 ...
【技术保护点】
一种基于UDT协议的可靠传输的控制方法,其特征在于,在发送方添加ACK控制包计数器和丢失重传列表两个功能部件;ACK控制包计数器主要用于对具有相同ACK序列号的控制包进行统计,以便确认重传数据包的时间;丢失重传列表主要用于记录发送方已经重传但是还没有被ACK控制包确认过的丢失数据包的序列号;控制传输的具体步骤为:发送方启动ACK控制包计数器,获取接收到ACK的统计信息;其中,ACK控制包计数器记录上一个接收到的ACK控制包的序列号Sack 、接收到相同ACK序列号的次数Tack以及重传阈值,记录上一个接收到的ACK控制包的序列号用于判断ACK控制包是否相同;当传输的数据包发生丢失时,将接收方将数据包的序列号加入到丢失列表中,通过传输NAK控制包,显示将丢包信息反馈给发送方,发送方重传丢失的数据包;发送方通过统计ACK控制包计数器的信息,估测重传的数据包是否发生丢包现象,根据所设阈值,确定重新重传数据包的时间:若超过阈值,则认为重传有丢包现象,将丢失重传列表中的序列号重新加入到丢失列表中,重传这些未确认的数据包。
【技术特征摘要】
1.一种基于UDT协议的可靠传输的控制方法,其特征在于,在发送方添加ACK控制包计数器和丢失重传列表两个功能部件;ACK控制包计数器主要用于对具有相同ACK序列号的控制包进行统计,以便确认重传数据包的时间;丢失重传列表主要用于记录发送方已经重传但是还没有被ACK控制包确认过的丢失数据包的序列号;控制传输的具体步骤为:发送方启动ACK控制包计数器,获取接收到ACK的统计信息;其中,ACK控制包计数器记录上一个接收到的ACK控制包的序列号Sack、接收到相同ACK序列号的次数Tack以及重传阈值,记录上一个接收到的ACK控制包的序列号用于判断ACK控制包是否相同;当传输的数据包发生丢失时,将接收方将数据包的序列号加入到丢失列表中,通过传输NAK控制包,显示将丢包信息反馈给发送方,发送方重传丢失的数据包;发送方通过统计ACK控制包计数器的信息,估测重传的数据包是否发生丢包现象,根据所设阈值,确定重新重传数据包的时间:若超过阈值,则认为重传有丢包现象,将丢失重传列表中的序列号重新加入到丢失列表中,重传这些未确认的数据包。2.根据权利要求1所述的基于UDT协议的可靠传输的控制方法,其特征在于,所述UDT协议的ACK控制包计数器的实现逻辑为:对于发送方连续接收到的ACK控制包进行统计,ACK控制包确认的是同一个序列号则增加计数器的值,若接收的是不同的序列号,则计数器清零,发送方根据当前的网络环境和重传设定阈值初始值,并在传输的过程中动态调整,当计数器的值超过阈值时,重发丢失列表中未得到确认的数据包,计数器清零。3.根据权利要求2所述的基...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。