当前位置: 首页 > 专利查询>复旦大学专利>正文

一种基于UDT协议的高速网络可靠传输的控制方法技术

技术编号:16302553 阅读:50 留言:0更新日期:2017-09-26 20:46
本发明专利技术属于高速网络数据传输技术领域,具体为一种在高速网络中基于UDT协议的可靠传输的控制方法。本发明专利技术首先在发送方添加ACK控制包计数器和丢失重传列表两个功能部件;ACK控制包计数器用于对具有相同ACK序列号的控制包进行统计,以便确认重传数据包的时间;丢失重传列表用于记录发送方已经重传但是还没有被ACK控制包确认过的丢失数据包的序列号;控制传输的具体步骤为:发送方启动ACK控制包计数器,获取接收到ACK的统计信息;通过统计ACK控制包计数器的信息,估测重传的数据包是否发生丢包现象,根据所设阈值确定重新重传数据包的时间:本发明专利技术可以减轻链路的拥塞状态,并做到及时重传,不会对传输的速度产生较大幅度的影响。

Method for controlling reliable transmission of high speed network based on UDT protocol

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,为了减少处理时间,只包含确认序号,用于在高速网络环境中及时更新ACK确认信息。接收方和发送方都维持了一个数据结构丢失链表用于存储丢失包的序列号,当出现丢包现象时,接收方会发送NAK控制包给发送方,在NAK控制包中有检测到的丢失数据包的序列号,发送方在收到NAK控制包之后,将控制包中的序列号加入到丢失列表中,优先发送丢失列表中的数据包,丢失的数据包发送之后将其序列号从发送方丢失列表中删除,接收方接收到重传的数据后,将此数据包的序列号从接收方的丢失列表中删除。当重传的数据丢失时,接收方无法判断数据包是否再次发生了丢包,不会发送重复的NAK控制包,发送方将丢失列表中的数据发送完之后,会继续发送正常的数据包,也没有对数据包有可靠性的控制。在高速网络的环境中,UDT发送方将接收窗口中可发送的数据包发送完后,一直没有收到对丢失数据包的ACK确认控制信息,等待一段时间后启动超时重传,从未确认的数据包开始重传数据包,发送速度从0开始增长。UDT协议在处理丢包的时候,只重传丢失的数据包,这样做可以省去不必要的数据包重传,提高网络上带宽的有效利用率,但是一旦启动超时重传,因为超时的原因并不知道,会从未确认的数据包开始重传,这对传输速度有很大的影响,特别是在高速网络环境中,传输速度无法占满可用带宽。这种由于重传数据的可靠性而引发的超时重传是可以避免的,因为在发送方窗口中的数据未发送完之前,发送方会收到接收方发送的具有相同ACK序列号的控制包,特别是lightACK控制包,lightACK控制包与发送方发送的数据包数量有关。相同的ACK序列号意味着有数据包丢失了并且重传的数据接收方也没有收到,此时发送方需要进一步的可靠性控制,防止超时重传对传输速度的影响。UDT协议作为高速传输网络的一种解决方案,对文件传输的可靠性控制方面有严重的不足,使得可用的网络带宽造成浪费。
技术实现思路
本专利技术的目的在于克服现有UDT传输协议的缺点和不足,提供一种基于UDT协议的可靠传输的控制方法。在现有的传输协议中,UDT接收方对重传的数据没有可靠性的控制,一旦丢包,就会导致数据包的重传,造成不必要的资源消耗,并且影响传输速度。本专利技术提出的在高速网络环境中基于UDT协议的可靠传输的控制方法,首先要在发送方添加ACK控制包计数器和丢失重传列表两个功能部件。ACK控制包计数器主要用于对具有相同ACK序列号的控制包进行统计,以便确认重传数据包的时间;丢失重传列表主要用于记录发送方已经重传但是还没有被ACK控制包确认过的丢失数据包的序列号。控制传输的具体步骤为:发送方启动ACK控制包计数器,获取接收到ACK的统计信息;其中,ACK控制包计数器记录上一个接收到的ACK控制包的序列号Sack、接收到相同ACK序列号的次数Tack以及重传阈值,记录上一个接收到的ACK控制包的序列号用于判断ACK控制包是否相同;当传输的数据包发生丢失时,将接收方将数据包的序列号加入到丢失列表中,通过传输NAK控制包,显示将丢包信息反馈给发送方,发送方重传丢失的数据包;发送方通过统计ACK控制包计数器的信息,估测重传的数据包是否发生丢包现象,根据所设阈值,确定重新重传数据包的时间:若超过阈值,则认为重传有丢包现象,将丢失重传列表中的序列号重新加入到丢失列表中,重传这些未确认的数据包。原始的UDT协议可靠性控制方式是通过一次重传和超时重传的组合方式来实现的,尽量使数据在一次重传之后就可靠的接收,但是在实际传输过程中,当链路条件不是很好的情况下,会造成重传的数据包丢失。重传的数据包若丢失了,接收方没有反馈机制告知发送方,只能通过超时重传的方式进行重传,严重影响传输速度。使用ACK控制包计数器可以及早的发现丢包情况,并采取一定措施避开链路拥塞的时机。本专利技术中,所述UDT协议的ACK控制包计数器的实现逻辑如下,对于发送方接收到的ACK控制包进行统计,比较当前接收到的数据包ACK序列号的值和Sack的值,当两个值相同时,表示ACK控制包确认的是同一个序列号,则Tack+1,否则清零Tack;比较Tack和重传阈值大小,若大于重传阈值,则启动重传机制,重传丢失列表中未得到确认的数据包,否则,不做任何处理。本专利技术中,重传机制是保证UDT可靠性的核心部分,在原始UDT当接收方确认丢失数据包的序号时,会显示发送NAK控制包到发送方,发送方接收到NAK控制包后会将序列号加入到丢失列表中重传丢失列表中的数据包,由于UDT丢失列表中的数据包具有最高传输优先权,数据包重传后需要将丢失列表中的序列号删除。本专利技术中,为了保证传输的可靠性,维持了一个已重发但未确认的丢失列表即丢失重传列表用来重发丢失列表中未得到确认的数据包。当丢失列表中的数据重传后会加入到丢失重传列表中,若网络链路条件不好,ACK控制包计数器统计值达到一定的阈值后,表明重传的数据包可能发生丢失,这时退避一段时间后,重传未确认的丢失数据包。本专利技术中,发送方的可靠性控制方法会结合上述的两个功能部件,当ACK控制包计数器的统计数据到达合理的阈值时,若发送方丢失列表不为空,继续重传丢失列表中的数据包,ACK控制包计数器不清零;若发送方的丢失列表为空,而丢失重传列表中存在数据,就将丢失重传列表中的序列号加入到发送方的丢失列表中,在下一个发送周期中优先发送这些数据包,ACK控制包计数器清零;若发送方丢失列表为空且丢失重传列表中也为空,根据重传次数设置等待时间,等待时间为了避免加重网络负担,因为此时的链路状况一定是不好的,一段等待时间后,从ACK控制包确认的序列号开始发送数据包,及时重传数据,ACK控制包计数器清零,更新计数器重传阈值。本专利技术本文档来自技高网
...
一种基于UDT协议的高速网络可靠传输的控制方法

【技术保护点】
一种基于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所述的基...

【专利技术属性】
技术研发人员:吴杰邢璐严明
申请(专利权)人:复旦大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1