CN102045362A - 一种基于udp协议的数据传输方法和系统 - Google Patents
一种基于udp协议的数据传输方法和系统 Download PDFInfo
- Publication number
- CN102045362A CN102045362A CN2010106151736A CN201010615173A CN102045362A CN 102045362 A CN102045362 A CN 102045362A CN 2010106151736 A CN2010106151736 A CN 2010106151736A CN 201010615173 A CN201010615173 A CN 201010615173A CN 102045362 A CN102045362 A CN 102045362A
- Authority
- CN
- China
- Prior art keywords
- sign
- receiving terminal
- transmitting terminal
- packet
- sliding window
- 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
Links
Images
Abstract
本发明提出了一种基于UDP协议的数据传输方法和系统,属于通讯技术领域。本发明的系统包括:连接模块、数据传输模块;方法包括:发送端与接收端建立连接;建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。本发明实施例可以应用于云计算领域,在现有的UDP协议的基础上进行扩展,在保证高效数据传输的前提下,提高了UDP的可靠性。同时本发明实施例不仅可以为各种云计算应用提供传输服务,还能在不同云计算环境下保证高性能。
Description
技术领域
本发明涉及通讯技术领域,特别涉及一种基于UDP协议的数据传输方法和系统,可以应用于云计算等大型分布式系统,以实现节点之间的数据高效可靠通讯。
背景技术
云计算(cloud computing)是一种基于分布式技术的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成一片电脑云。因此,云计算可以通过大量成本较低的电脑和服务器,实现每秒10万亿次数量级的运算能力。不仅对于云计算这种大规模分布式协作,其他例如远程商业数据集可视化、基于商业数学分析的模拟运算领域中,节点之间的数据通讯都非常重要。首先,网络技术不断发展将高带宽、长延时的网络应用的通信模式正在从点到点通信向多点到点和多点到多点通信方式转变。其次,每个应用云应用都有独特的,跨越多种传输特征的通信需求,如传输速率、延时、丢包率。
在实现本发明的过程中,发明人发现现有技术至少具有以下缺点:
标准的数据传输协议如TCP(transmission control protocol)和UDP(user datagram protocol)已经无法满足需要。只是由于:TCP协议会随着带宽和延时的增长产生相反的作用,从而导致了高带宽长延时网络的低性能;而UDP不关心网络数据传输的一系列状态,虽然可以获得较高的传输性能,支持海量并发连接,但基本上是一个没有保证的最小传输协议。此外,每个云计算应用都有其独特的通信QoS需求,由于TCP和UDP被设计为通用传输协议,它们不可能为每个云计算应用都提供最佳的通信服务。
发明内容
为了解决现有技术中的数据传输协议无法满足当前数据传输的问题,本发明实施例提出了一种基于UDP协议的数据传输方法和系统。所述技术方案如下:
本发明实施例提出了一种基于UDP协议的数据传输方法,包括:
发送端与接收端建立连接;
建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。
作为上述技术方案的优选,所述发送端与接收端建立连接包括:
发送端向接收端发送第一同步序列编号标志,所述第一同步序列编号标志中至少包括用于提示连接的检查序列编号X;
接收端接收到所述第一同步序列编号标志后,返回第一响应标志,所述第一响应标志中至少包括下一个预期的序列编号X+1;且所诉接收端返回第二同步序列编号标志,所述第二同步序列编号标志中至少包括用于提示连接的检查序列编号Y;
发送端接收到所述第二同步序列编号标志后,返回第二响应标志,所述第二响应标志中至少包括下一个预期的序列编号Y+1。
作为上述技术方案的优选,所述建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制包括:
在发送端设置环形的发送端滑动窗口,所述发送端滑动窗口中包括发送窗口、发送队列和重发队列,并通过三个标志箭头隔开;该三个标志箭头分别为已发送的最大消息序号、可发送的最大消息序号、最大按序被应答序号;
在接收端设置环形的接收端滑动窗口,所述接收端滑动窗口中包括接收窗口、乱序队列和按序队列,并通过三个标志箭头隔开;该三个标志箭头分别为已接收的最大消息序号、可接收的最大消息序号、最大按序到达消息序号;
在每一数据包头添加一个标识位;以使发送端对发送的每一数据包进行顺序编号;并以所述标识位作为连接所述发送端滑动窗口和所述接收端滑动窗口的环形,并将输入的消息流作为推动模型运动的动力;接收端滑动窗口和发送端滑动窗口都按照顺时针方向运动,当接收端的已发送的最大消息序号标志箭头与接收端的已接收的最大消息序号标志箭头重合时,接收窗口停止转动,并使发送窗口停止转动。
作为上述技术方案的优选,所述方法还包括:
发送端根据接收到的数据包的标识位,确定丢失的数据包并进行重传;具体为:
接收端将接收到的乱序数据包存储到所述乱序队列中,并设置乱序计数器或乱序定时器;
当该乱序计数器或乱序定时器溢出时,向发送方发送扩展确认信息;该扩展确认信息中至少包括接收端已经收到的最大按序数据包的序号和收到的所有乱序数据包的序号;
发送端接收到该扩展确认数据包后,将根据最大确认序号和接收端接收到的所有乱序数据包的序号,确定丢失的数据包后进行重传。
作为上述技术方案的优选,所述方法还包括:
发送端与接收端通信以关闭连接;具体为:
当所述发送端与接收端通过临时链路进行连接时,当数据全部发送完成后,双方通讯以关闭该临时链路;
当所述发送端与接收端通过永久性链路进行连接时,当发送端和/或接收端在出现错误的情况下进行关闭操作;包括:
发生错误的一方立即停止接收上层发送来的新数据,并将重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源;
另一方在收到主动关闭的一方发来的关闭请求后,立即停止接收上层发送来的新数据,并将重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源。
本发明实施例还提出了一种基于UDP协议的数据传输系统,包括:
连接模块,用于为发送端与接收端建立连接;
数据传输模块,用于建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。
作为上述技术方案的优选,所述连接模块包括:
发送端单元,用于发送端向接收端发送第一同步序列编号标志,所述第一同步序列编号标志中至少包括用于提示连接的检查序列编号X;
接收端单元,用于接收到所述第一同步序列编号标志后,返回第一响应标志,所述第一响应标志中至少包括下一个预期的序列编号X+1;且所诉接收端返回第二同步序列编号标志,所述第二同步序列编号标志中至少包括用于提示连接的检查序列编号Y;
接收端单元还用于接收端发送端接收到所述第二同步序列编号标志后,返回第二响应标志,所述第二响应标志中至少包括下一个预期的序列编号Y+1。
作为上述技术方案的优选,所述数据传输模块包括:
发送端设置单元,用于在发送端设置环形的发送端滑动窗口,所述发送端滑动窗口中包括发送窗口、发送队列和重发队列,并通过三个标志箭头隔开;该三个标志箭头分别为已发送的最大消息序号、可发送的最大消息序号、最大按序被应答序号;
接收端设置单元,用于在接收端设置环形的接收端滑动窗口,所述接收端滑动窗口中包括接收窗口、乱序队列和按序队列,并通过三个标志箭头隔开;该三个标志箭头分别为已接收的最大消息序号、可接收的最大消息序号、最大按序到达消息序号;
标识单元,用于在每一数据包头添加一个标识位;以使发送端对发送的每一数据包进行顺序编号;并以所述标识位作为连接所述发送端滑动窗口和所述接收端滑动窗口的环形,并将输入的消息流作为推动模型运动的动力;
控制单元,用于控制接收端滑动窗口和发送端滑动窗口都按照顺时针方向运动,当接收端的已发送的最大消息序号标志箭头与接收端的已接收的最大消息序号标志箭头重合时,接收窗口停止转动,并使发送窗口停止转动。
作为上述技术方案的优选,所述系统还包括:
重传模块,用于根据接收到的数据包的标识位,确定丢失的数据包并进行重传;
所述重传模块具体为:
接收端存储单元,用于将接收到的乱序数据包存储到所述乱序队列中,并设置乱序计数器或乱序定时器;
信息发送单元,用于当该乱序计数器或乱序定时器溢出时,向发送方发送扩展确认信息;该扩展确认信息中至少包括接收端已经收到的最大按序数据包的序号和收到的所有乱序数据包的序号;
重传单元、发送端接收到该扩展确认数据包后,将根据最大确认序号和接收端接收到的所有乱序数据包的序号,确定丢失的数据包后进行重传。
作为上述技术方案的优选,所述系统还包括:
连接关闭模块,用于使发送端与接收端通信以关闭连接;
所述连接关闭模块具体为:
当所述发送端与接收端通过临时链路进行连接时,当数据全部发送完成后,所述连接关闭模块使双方通讯以关闭该临时链路;
当所述发送端与接收端通过永久性链路进行连接时,当发送端和/或接收端在出现错误的情况下进行关闭操作;所述连接关闭模块使双方通讯以关闭该永久性链路,包括:
发生错误的一方立即停止接收上层发送来的新数据,并将重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源;另一方在收到主动关闭的一方发来的关闭请求后,立即停止接收上层发送来的新数据,并将重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源。
本发明实施例的有益效果是:本发明实施例在现有的UDP协议的基础上进行扩展,在保证高效数据传输的前提下,提高了UDP的可靠性。同时本发明实施例不仅可以为各种云计算应用提供传输服务,还能在不同云计算环境下保证高性能。
附图说明
图1为本发明第一实施例的流程示意图;
图2为本发明第二实施例的流程示意图;
图3为建立连接的示意图;
图4为滑动窗口模型的示意图;
图5为本发明第三实施例的结构示意图;
图6为本发明第四实施例的结构示意图;
图7为举例说明的实现本发明实施例的软件结构图;
图8为本发明实施例与其他传输协议应用在云计算系统中的远距离实时成像中网络吞吐量比较;
图9为本发明实施例与其他传输协议应用在云计算系统中的RTT为60ms连接下端到端消息延时比较;
图10为本发明实施例与其他传输协议应用在云计算系统中的RTT为1ms连接下端到端消息延时比较。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
对于云计算等大型分布式系统来说,对于数据的可靠传输是非常重要的。同时,针对数据传输的性能要求也有区别:一方面,基于密集波分复用(DWDM,dense wavelength division multiplexing)技术的LambdaGrid能将传统的分布式云计算资源与专用的动态带宽技术结合起来,动态配置比传统网络架构高得多的网络性能和QoS。同时,广域云计算中大规模计算与数据共享以及对等计算的出现,推动了通信模式由点到点连接向点到多点和多点到多点的演变。这些因素使得不同的云计算应用具有不同的网络传输特性,以下是3个典型的云计算应用实例,具有一定的普遍性(如表1所示)。
表1 3种云计算应用的传输特征
远距离实时成像:在这种应用中,需要从远端获取数据并且在本地实时显示。此类应用可能需要没有丢包重发功能的固定速率数据传输,优化的目标是获得最小颤抖的特定吞吐量。
快速的消息传递:考虑到集群节点之间或广域云计算资源之间的小消息传递,需要非连接的具有最小端到端延时的可靠传输。
3个应用实例具有截然不同的优化目标,导致了不同的传输特性需求。这些特性可能被2个或3个应用所共有,比如,消息传递和云节点云计算都需要一定的丢包重发次数和超时处理机制,3个应用都需要提供最高传输率限制以获得稳定服务。通过对本发明实施例提出的基于UDP协议的数据传输协议的配置以满足不同的需求。这样用户也可容易构建定制化协议,而无需从头开始为不同的云计算应用设计相应的协议。
实施例1
本发明第一实施例提出了一种基于UDP协议的数据传输方法,其流程如图1所示,包括:
步骤101、发送端与接收端建立连接;
步骤102、建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。
本发明实施例基于标准UDP协议,在保证高效数据传输的前提下,提高了UDP的可靠性。
实施例2
本发明第二实施例提出了一种基于UDP协议的数据传输方法,是在前述的第一实施例的基础上改进而来,其流程如图2所示,包括:
步骤201、发送端与接收端建立连接。这一过程可以采用三次握手的方式来实现,即该过程可以如图3所示的,步骤201可以具体为:
步骤2011、发送端向接收端发送SYN(X)标志,SYN(Synchronize Sequence Numbers,同步序列编号)标志中的X用于提示连接的检查序列编号。
步骤2012、接收端接收到该SYN标志后,返回ACK(X+1),ACK响应标志(Acknowledgement Number,确认编号)中的X+1为下一个预期的序列编号。该ACK响应标志也提示发送方已经成功接收所有数据;同时接收端也发送一个SYN(Y)。
步骤2013、发送端接收到该SYN(Y)标志后,返回一个ACK(Y+1)响应标志,这样就可以在发送端与接收端之间建立连接。
由于发动端和接收端可能会同时发出了连接请求,这时候可以通过预先设置的规则放弃其中一端的请求;例如:可以对比双方的IP地址,将其中IP地址小的一端发起的连接请求丢弃。
步骤202、在发送端设置发送端滑动窗口、在接收端设置接收端滑动窗口;为每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。
其中,步骤202中的滑动窗口可以通过如图4所示的模型,包括发送端环形队列、接收端环形队列、控制环形队列。其中,协议传递的序号采用2个字节无符号整数表示,以数据包为单位,取值范围是0至65535,对应图4中的大循环。其中发送端与接收端的缓冲区大小相同;也组织成环形队列的形式,对应图4中的小循环。如果将输入的消息流看成推动模型运动的动力,则3个循环同步运动。即步骤202可以具体为:
步骤2021、在发送端设置发送端滑动窗口,在如图4所示的模型中,左侧为发送端滑动窗口。发送端滑动窗口中包括发送窗口、发送队列和重发队列,并通过三个标志箭头隔开;该三个标志箭头分别代表:1为已发送的最大消息序号;2为可发送的最大消息序号;3为最大按序被应答序号。
步骤2022、在接收端设置接收端滑动窗口,在如图4所示的模型中,右侧为接收端滑动窗口。接收端滑动窗口中包括接收窗口、乱序队列和按序队列,并通过三个标志箭头隔开;该三个标志箭头分别代表:1为已接收的最大消息序号;2为可接收的最大消息序号;3为最大按序到达消息序号。
步骤2023、在每一数据包头添加一个标识位。在本发明的一个实施例中,该标识位为一个2字节的无符号整数表示,取值范围是0至65535;发送端对发送的每一数据包进行顺序编号。
步骤2024、接收端滑动窗口和发送端滑动窗口都按照顺时针方向运动,当接收端的箭头1(已发送的最大消息序号)与接收端的箭头1(已接收的最大消息序号)重合的时候,接收窗口就停止转动,最终导致发送窗口也停止转动。在接收和发送窗口都不运动的情况下,双方可进行消息的重发、窗口探测、链路保活等操作。
当然,如图4所示的是实现本发明实施例所述的滑动窗口的一种模型,本发明实施例并不对实现这种模型的方式做出限定。本领域内技术人员根据图4的模型,通过任何形式的代码进行实现,而其中的每种实现方式都应在本发明的保护范围之内。当然,在现有的TCP协议中也有滑动窗口协议,本发明实施例的滑动窗口模型虽然与TCP协议的滑动窗口协议有极大的不同,但是其实现方式可以参考TCP协议的滑动窗口协议的实现方式。
进一步的,由于现有的UDP协议是不可靠的数据传输协议,因此本发明实施例在UDP协议的基础上增加了确认机制。即:
步骤203、发送端根据接收到的数据包的标识位,确定丢失的数据包并进行重传。
其中确认机制可以采用现有的TCP协议中的捎带确认、累计确认和超时确认中的一种,或是结合使用。由于发送端在发送数据时,可能由于网络拥塞造成数据包丢失。而接收端接收数据包时是按照顺序接收,当其中一个数据包丢失或延迟时,会将其后的所有数据包都认为是乱序的数据包,并通知发送端从该数据包开始重传,造成网络资源的占用。为了最大限度减少重传,本发明实施例在接收端设有乱序队列,并通过扩展确认信息通知发送端重发丢失的数据包。即:
步骤2031、接收端将接收到的乱序数据包存储到所述乱序队列中,并设置乱序计数器或乱序定时器;
步骤2032、当该乱序计数器或乱序定时器溢出时,向发送方发送扩展确认信息;该扩展确认信息中至少包括接收端已经收到的最大按序数据包的序号和收到的所有乱序数据包的序号;
步骤2033、发送端接收到该扩展确认数据包后,将根据最大确认序号和接收端接收到的所有乱序数据包的序号,确定丢失的数据包后进行重传。
进一步的,在发送端发送的数据量比较大时,会出现接收端滑动窗口中的接收窗口长时间为满的情况,因此本发明实施例中还包括:
步骤204、监控所述接收端滑动窗口的接收窗口,当接收窗口为满时,则发送通知消息以通知所述发送端停止发送数据。
为了降低发送方和接收方的系统开销,步骤204可以具体为:
步骤2041、当接收端接收到一个数据包后,就将接收窗口减小1;当该数据包被提取后才将该接收端口恢复。
步骤2042、可以设定发送端与接收端在满足预设条件时进行通信(例如定时进行通信),以使发送端根据接收端的接收窗口调整发送窗口的大小。
在步骤2042中,由于可能出现接收窗口长时间为零的情况,此时可以通知发送端停止发送数据,即将发送窗口调整为0。当接收方只有在接收窗口增大到一个预设阈值时,才通知发送端修改发送窗口,以防止在大流量时出现网络过度拥塞的现象。
进一步的,所述方法还包括:
步骤205、发送端与接收端通信以关闭连接。
通常关闭连接有两种:
一种是采用临时链路时,数据已经全部发送完成后,双方通讯以关闭该临时链路。具体方法可以采用TCP协议在关闭链路时的四次握手的方式。
另一种是采用永久性链路时,在出现错误的情况下进行关闭操作。即:当发送端或接收端发生错误时,发现错误的一方立即停止接收上层发送来的需要传输的数据,并将自己的重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源。另一方在收到主动关闭的一方发来的关闭请求后,也按照上述方式关闭自己的连接。连接一旦被关闭之后,只有到下次双方要重新进行数据通信之前再次建立连接。
实施例3
本发明第三实施例提出了一种基于UDP协议的数据传输系统,其结构如图1所示,包括:
连接模块1、用于为发送端与接收端建立连接;
数据传输模块2,用于建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。
本发明实施例基于标准UDP协议,在保证高效数据传输的前提下,提高了UDP的可靠性。
实施例4
本发明第四实施例提出了一种基于UDP协议的数据传输系统,是在前述的第三实施例的基础上改进而来,其流程如图5所示,包括:
连接模块1,用于为发送端与接收端建立连接。这一过程可以采用三次握手的方式来实现,即该过程可以如图3所示的,连接模块1包括:
发送端单元11,用于向接收端发送SYN(X)标志,SYN(Synchronize Sequence Numbers,同步序列编号)标志中的X用于提示连接的检查序列编号。
接收端单元12,用于在接收到收到该SYN(X)标志后,返回ACK(X+1),ACK响应标志(Acknowledgement Number,确认编号)中的X+1为下一个预期的序列编号。该ACK响应标志也提示发送方已经成功接收所有数据;同时接收端也发送一个SYN(Y)。
接收端单元11还用于在接收到该SYN(Y)标志后,返回一个ACK(Y+1)响应标志,这样就可以在发送端与接收端之间建立连接。
由于发动端和接收端可能会同时发出了连接请求,这时候可以通过预先设置的规则放弃其中一端的请求;例如:可以对比双方的IP地址,将其中IP地址小的一端发起的连接请求丢弃。
数据传输模块2,用于在发送端设置发送端滑动窗口、在接收端设置接收端滑动窗口;为每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。
其中,数据传输模块2中的滑动窗口可以通过如图4所示的模型,包括发送端环形队列、接收端环形队列、控制环形队列。其中,协议传递的序号采用2个字节无符号整数表示,以数据包为单位,取值范围是0至65535,对应图4中的大循环。其中发送端与接收端的缓冲区大小相同;也组织成环形队列的形式,对应图4中的小循环。如果将输入的消息流看成推动模型运动的动力,则3个循环同步运动。数据传输模块2可以具体为:
发送端设置单元21,用于在发送端设置发送端滑动窗口,在如图4所示的模型中,左侧为发送端滑动窗口。发送端滑动窗口中包括发送窗口、发送队列和重发队列,并通过三个标志箭头隔开;该三个标志箭头分别代表:1为已发送的最大消息序号;2为可发送的最大消息序号;3为最大按序被应答序号。
接收端设置单元22,用于在接收端设置接收端滑动窗口,在如图4所示的模型中,右侧为接收端滑动窗口。接收端滑动窗口中包括接收窗口、乱序队列和按序队列,并通过三个标志箭头隔开;该三个标志箭头分别代表:1为已接收的最大消息序号;2为可接收的最大消息序号;3为最大按序到达消息序号。
标识单元23,用于在每一数据包头添加一个标识位。在本发明的一个实施例中,该标识位为一个2字节的无符号整数表示,取值范围是0至65535;发送端对发送的每一数据包进行顺序编号。
控制单元24,用于使接收端滑动窗口和发送端滑动窗口都按照顺时针方向运动,当接收端的箭头1(已发送的最大消息序号)与接收端的箭头1(已接收的最大消息序号)重合的时候,接收窗口就停止转动,最终导致发送窗口也停止转动。在接收和发送窗口都不运动的情况下,双方可进行消息的重发、窗口探测、链路保活等操作。
当然,如图4所示的是实现本发明实施例所述的滑动窗口的一种模型,本发明实施例并不对实现这种模型的方式做出限定。本领域内技术人员根据图4的模型,通过任何形式的代码进行实现,而其中的每种实现方式都应在本发明的保护范围之内。当然,在现有的TCP协议中也有滑动窗口协议,本发明实施例的滑动窗口模型虽然与TCP协议的滑动窗口协议有极大的不同,但是其实现方式可以参考TCP协议的滑动窗口协议的实现方式。
进一步的,由于现有的UDP协议是不可靠的数据传输协议,因此本发明实施例在UDP协议的基础上增加了确认机制。即所述系统还包括:
重传模块3,用于根据接收到的数据包的标识位,确定丢失的数据包并进行重传。
其中确认机制可以采用现有的TCP协议中的捎带确认、累计确认和超时确认中的一种,或是结合使用。由于发送端在发送数据时,可能由于网络拥塞造成数据包丢失。而接收端接收数据包时是按照顺序接收,当其中一个数据包丢失或延迟时,会将其后的所有数据包都认为是乱序的数据包,并通知发送端从该数据包开始重传,造成网络资源的占用。为了最大限度减少重传,本发明实施例在接收端设有乱序队列,并通过扩展确认信息通知发送端重发丢失的数据包。即:
接收端存储单元31,用于将接收到的乱序数据包存储到所述乱序队列中,并设置乱序计数器或乱序定时器;
信息发送单元32,用于当该乱序计数器或乱序定时器溢出时,向发送方发送扩展确认信息;该扩展确认信息中至少包括接收端已经收到的最大按序数据包的序号和收到的所有乱序数据包的序号;
重传单元33、发送端接收到该扩展确认数据包后,将根据最大确认序号和接收端接收到的所有乱序数据包的序号,确定丢失的数据包后进行重传。
进一步的,在发送端发送的数据量比较大时,会出现接收端滑动窗口中的接收窗口长时间为满的情况,因此本发明实施例中还包括:
监控模块4,用于监控所述接收端滑动窗口的接收窗口,当接收窗口为满时,则发送通知消息以通知所述发送端停止发送数据。
为了降低发送方和接收方的系统开销,监控模块4可以具体为:
接收窗口控制单元41,用于当接收端接收到一个数据包后,就将接收窗口减小1;当该数据包被提取后才将该接收端口恢复。
发送窗口控制单元42,用于使发送端与接收端在满足预设条件时进行通信(例如定时进行通信),以使发送端根据接收端的接收窗口调整发送窗口的大小。
由于可能出现接收窗口长时间为零的情况,此时可以通知发送端停止发送数据,即将发送窗口调整为0。当接收方只有在接收窗口增大到一个预设阈值时,才通知发送端修改发送窗口,以防止在大流量时出现网络过度拥塞的现象。
进一步的,所述系统还包括:
连接关闭模块5,用于使发送端与接收端通信以关闭连接。
通常关闭连接有两种:
一种是采用临时链路时,数据已经全部发送完成后,双方通讯以关闭该临时链路。具体方法可以采用TCP协议在关闭链路时的四次握手的方式。
另一种是采用永久性链路时,在出现错误的情况下进行关闭操作。即:当发送端或接收端发生错误时,发现错误的一方立即停止接收上层发送来的需要传输的数据,并将自己的重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源。另一方在收到主动关闭的一方发来的关闭请求后,也按照上述方式关闭自己的连接。连接一旦被关闭之后,只有到下次双方要重新进行数据通信之前再次建立连接。
为了可以在给定网络中预测本发明实施例的数据传输方法和系统的性能,同时系统地分析影响全局性能的各种因素,2002年芝加哥美国电气与电子工程师学会(HE E,LEIGH J,YU O,et al.Reliable blast UDP:predictable high performance bulk data transfer[A].IEEE Cluster Computing[C].Chicago,2002.317-325.)提出了设计出一个性能分析模型。以下应用该性能分析模型对本发明实施例的方法和系统进行测试。
首先,定义以下变量:Bachievable为可获得的带宽;Bsend为选择发送的速率;Stotal为发送数据的总大小;Sack为确认数据包总大小;Ttotal为预期发送总时间;Tprop为传播时延;TudpSend,i为第i次重复发送数据包的时间;Nresend为重发的次数;Tack为发送确认所占用的时间。
通过模型可以预测出本发明实施例能获得的带宽
根据本发明实施例提出的协议,可以得到Ttotal为
在式(2)中,第一项是发送主要负载的时间,第二项是重新传输丢失包的时间,设为Tresend,最后是发送每一个确认所需的时间。其中,
Li为第i次重复的包丢失百分比;n为获得一次确认需要发送的数据包数,结果如下
在式(3)中,需要考虑2种可能的情况:一是没有丢包情况发生,二是有丢包情况发生。如果没有丢包,可以除去式(3)中间的式子,最佳可获得传输性能用以下公式计算得到
由式(4)可知Bbest与Bsend成正比,同时还可以得到Bbest和Bsend的比率
这里,TRT为往返传输时间TRT2Tprop。
在存在丢包的情况下,本文将提出一个简化的假设,在算法的每一个关口都存在一个固定的丢包率L。而在实际的网络中,重传阶段的后期丢包率是比较小的,不是固定的,因为每一次重复将要重传更少的数据量,这里提出的简化假设作为最坏情况的估计。
给定丢包率L,重传将会发生直到剩下的数据量小于一个包,所以,需要重传的次数可以估计为
重传数据总大小为
将式(6)和式(7)代入式(3)中得出在给定固定丢包率L时Bachievable新的估计值。
云计算技术对于企业提供大范围应用服务的基础设施越来越重要,而功能强大、配置灵活的通信机制则是实现高性能云计算的关键。标准的数据传输协议已无法满足云计算应用千差万别的通信需求。本发明提出了一种基于标准UDP协议的数据传输方法和系统,作为一种面向应用型云计算的高效可配置数据传输协议,在保证高效数据传输的前提下,提高了UDP的可靠性。
本发明实施例的基于标准UDP协议的数据传输方法和系统,底层采用UDP作为承载协议,根据配置增加了相关的功能模块,在满足各种云计算应用的前提下,保证数据高效可靠的传输。本发明实施例主要包括3部分:可靠传输、保活控制(定时探测连接有效性)、高效数据传输。为了提高通信效率和实时性能,在操作系统中利用2个任务模块实现了该协议软件(如图7所示)。2个任务一个作为通信守护任务,负责从UDP套接口接收数据并进行网络字节序处理后派发到协议处理任务;一个作为协议处理任务,负责处理接收到的数据和发送端的数据发送以及整个网络连接维护等操作。组播和单播功能则可以通过UDP特性实现。
本发明实施例主要是通过通信守护、通信处理、数据包接收;数据包发送等过程完成了大部分协议功能。协议的主要过程描述如下。
通信守护:网络套接口需要持续地侦听和维护,通信守护的主要功能是:1)判断套接口上的状态,如果套接口可操作则发送消息给通信处理任务;2)查找关闭的套接口并创建套接口。
通信处理:通信处理过程首先判断消息处理任务接收到的消息类型,消息类型包括:套接口可操作、重传数据包定时器超时、重传检查包定时器超时、服务器保活定时器超时、客户端保活定时器超时。然后根据套接口的状态进行相应的处理(收包、发包或套接口异常处理),包括异常处理和收包、发包。最后根据是否定时超时的类型进行相应的处理。
数据包接收:当接收端接收到数据包后,首先根据功能配置进行确认处理,然后将接收来的数据包进行拆分,把包内的用户消息和数据送至其指定的目的进程中。
数据包发送:发送数据包处理使用通信处理模块传输用户消息时,通信处理模块按照配置决定是否将用户待传输消息进行编号(即序列号),然后打包装入数据包,最后通过UDP套接口发出。如果一定时间内接收不到该数据包的确认则按功能配置进行重发。
下面针对本发明提出的基于标准UDP协议的数据传输方法和系统进行性能评估。
基于Ubuntu 10.04实现了本发明实施例,根据3种典型的云计算应用的背包你发明实施例进行了相应的配置,并在不同的网络环境下与TCP、H-CTP协议进行了实验对比。实验环境为内存2GB,CPU Intel Xenon 2.4GHz组成的本地集群,网络延时和包丢失通过网络模拟器Dummynet进行仿真。
远程实时成像,在此应用情景中,本发明实施例根据表1配置响应的功能模块,稳定速率为200Mbit/s,在吉比特连接的环境下根据RTT(往返传输时间)的变化与TCP和配置为远程实时成像的H-CTP协议比较网络吞吐量。对于大型的云计算系统,特别是跨越不同地区的云计算,RTT为50ms甚至100ms以上是很正常的(如图8所示)。从图8中可以看出,TCP的吞吐量随着带宽和延时的增长而不断降低。可见,在长延时且无法调整的共享网络中,TCP是无法提供高性能的。与之相反,经过配置的本发明实施例(ECUDP)与H-CTP协议却能够随着RTT的变化保持稳定的高吞吐量,同时,由于基于标准UDP协议,本发明实施例的海量数据传输性能要优于H-CTP。
快速的消息传递,在此应用情景下,本发明实施例配置为每包可靠传输,与TCP和配置为消息传递的H-CTP协议在来回传输延时方面进行了比较。实验测量了从发送者传输一个10byte小消息到发送者收到相关确认之间的时间间隔。为了弥补TCP中捎带确认的影响,实验让接收者在发送恢复之前睡眠2s,这个固定的偏移量从1000个测试值的平均数中被减去。图9和10分别显示了在60ms和1ms的RTT连接中,随机包丢失率下的来回传输延时。实验结果显示,本发明实施例(ECUDP)的传输延时要比TCP和H-CTP低得多,尤其是连接中存在较大包丢失率的情况下。TCP的低性能主要是由于它默认的长超时重传机制,而H-CTP则是因为建立在应用层协议上,数据流多层协议处理和格式协商增大了附加延时。本发明实施例的理论值和实际值存在差距是由于分析模型忽略了丢包重传的处理时间。
云计算优化的目标是最小化每个节点发送/接收的通信量。通过对本发明实施例的配置可以实现超时重传机制并能完成节点云计算所需的所有功能。实验比较了本发明实施例、H-CTP及TCP传输包的数量,如表2所示。由于TCP采用积极的确认机制,对于每个新的读数,节点都要发送一个数据包给接收服务器同时接收服务器发回的确认信息。而经过配置的本发明实施例和H-CTP可以采用消极确认机制,当接收服务器以特定的频率接收读数据时可以不发或减少确认包,而且,如果新的读数与原有的比较接近,选择传输功能可以减少云节点发出的数据包。
表2本发明实施例、H-CTP、TCP 读数据所需的数据包比较
云计算技术对于企业提供大范围应用服务的基础设施越来越重要,而功能强大、配置灵活的通信机制则是实现高性能云计算的关键。标准的数据传输协议已无法满足云计算应用千差万别的通信需求。本发明实施例提出了一种面向应用型云计算的高效可配置数据传输协议,基于标准UDP协议,在保证高效数据传输的前提下,提高了UDP的可靠性。并且,通过可配置的功能模块,本发明实施例能够满足不同云计算应用的传输需求。实验结果证明,本发明实施例不仅可以为各种云计算应用提供传输服务,还能在不同云计算环境下保证高性能,性能分析模型也对本发明实施例做出了比较准确的预测。
本发明实施例所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上该仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于UDP协议的数据传输方法,其特征在于,包括:
发送端与接收端建立连接;
建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。
2.根据权利要求1所述的基于UDP协议的数据传输方法,其特征在于,所述发送端与接收端建立连接包括:
发送端向接收端发送第一同步序列编号标志,所述第一同步序列编号标志中至少包括用于提示连接的检查序列编号X;
接收端接收到所述第一同步序列编号标志后,返回第一响应标志,所述第一响应标志中至少包括下一个预期的序列编号X+1;且所诉接收端返回第二同步序列编号标志,所述第二同步序列编号标志中至少包括用于提示连接的检查序列编号Y;
发送端接收到所述第二同步序列编号标志后,返回第二响应标志,所述第二响应标志中至少包括下一个预期的序列编号Y+1。
3.根据权利要求1所述的基于UDP协议的数据传输方法,其特征在于,所述建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制包括:
在发送端设置环形的发送端滑动窗口,所述发送端滑动窗口中包括发送窗口、发送队列和重发队列,并通过三个标志箭头隔开;该三个标志箭头分别为已发送的最大消息序号、可发送的最大消息序号、最大按序被应答序号;
在接收端设置环形的接收端滑动窗口,所述接收端滑动窗口中包括接收窗口、乱序队列和按序队列,并通过三个标志箭头隔开;该三个标志箭头分别为已接收的最大消息序号、可接收的最大消息序号、最大按序到达消息序号;
在每一数据包头添加一个标识位;以使发送端对发送的每一数据包进行顺序编号;并以所述标识位作为连接所述发送端滑动窗口和所述接收端滑动窗口的环形,并将输入的消息流作为推动模型运动的动力;接收端滑动窗口和发送端滑动窗口都按照顺时针方向运动,当接收端的已发送的最大消息序号标志箭头与接收端的已接收的最大消息序号标志箭头重合时,接收窗口停止转动,并使发送窗口停止转动。
4.根据权利要求1所述的基于UDP协议的数据传输方法,其特征在于,所述方法还包括:
发送端根据接收到的数据包的标识位,确定丢失的数据包并进行重传;具体为:
接收端将接收到的乱序数据包存储到所述乱序队列中,并设置乱序计数器或乱序定时器;
当该乱序计数器或乱序定时器溢出时,向发送方发送扩展确认信息;该扩展确认信息中至少包括接收端已经收到的最大按序数据包的序号和收到的所有乱序数据包的序号;
发送端接收到该扩展确认数据包后,将根据最大确认序号和接收端接收到的所有乱序数据包的序号,确定丢失的数据包后进行重传。
5.根据权利要求1所述的基于UDP协议的数据传输方法,其特征在于,所述方法还包括:
发送端与接收端通信以关闭连接;具体为:
当所述发送端与接收端通过临时链路进行连接时,当数据全部发送完成后,双方通讯以关闭该临时链路;
当所述发送端与接收端通过永久性链路进行连接时,当发送端和/或接收端在出现错误的情况下进行关闭操作;包括:
发生错误的一方立即停止接收上层发送来的新数据,并将重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源;
另一方在收到主动关闭的一方发来的关闭请求后,立即停止接收上层发送来的新数据,并将重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源。
6.一种基于UDP协议的数据传输系统,其特征在于,包括:
连接模块,用于为发送端与接收端建立连接;
数据传输模块,用于建立滑动窗口模型,并对每一数据包设置一标识位,所述标识位连续编号;发送端与接收端通过滑动窗口进行消息的收发同步以及流量控制。
7.根据权利要求6所述的基于UDP协议的数据传输系统,其特征在于,所述连接模块包括:
发送端单元,用于发送端向接收端发送第一同步序列编号标志,所述第一同步序列编号标志中至少包括用于提示连接的检查序列编号X;
接收端单元,用于接收到所述第一同步序列编号标志后,返回第一响应标志,所述第一响应标志中至少包括下一个预期的序列编号X+1;且所诉接收端返回第二同步序列编号标志,所述第二同步序列编号标志中至少包括用于提示连接的检查序列编号Y;
接收端单元还用于接收端发送端接收到所述第二同步序列编号标志后,返回第二响应标志,所述第二响应标志中至少包括下一个预期的序列编号Y+1。
8.根据权利要求6所述的基于UDP协议的数据传输系统,其特征在于,所述数据传输模块包括:
发送端设置单元,用于在发送端设置环形的发送端滑动窗口,所述发送端滑动窗口中包括发送窗口、发送队列和重发队列,并通过三个标志箭头隔开;该三个标志箭头分别为已发送的最大消息序号、可发送的最大消息序号、最大按序被应答序号;
接收端设置单元,用于在接收端设置环形的接收端滑动窗口,所述接收端滑动窗口中包括接收窗口、乱序队列和按序队列,并通过三个标志箭头隔开;该三个标志箭头分别为已接收的最大消息序号、可接收的最大消息序号、最大按序到达消息序号;
标识单元,用于在每一数据包头添加一个标识位;以使发送端对发送的每一数据包进行顺序编号;并以所述标识位作为连接所述发送端滑动窗口和所述接收端滑动窗口的环形,并将输入的消息流作为推动模型运动的动力;
控制单元,用于控制接收端滑动窗口和发送端滑动窗口都按照顺时针方向运动,当接收端的已发送的最大消息序号标志箭头与接收端的已接收的最大消息序号标志箭头重合时,接收窗口停止转动,并使发送窗口停止转动。
9.根据权利要求6所述的基于UDP协议的数据传输系统,其特征在于,所述系统还包括:
重传模块,用于根据接收到的数据包的标识位,确定丢失的数据包并进行重传;
所述重传模块具体为:
接收端存储单元,用于将接收到的乱序数据包存储到所述乱序队列中,并设置乱序计数器或乱序定时器;
信息发送单元,用于当该乱序计数器或乱序定时器溢出时,向发送方发送扩展确认信息;该扩展确认信息中至少包括接收端已经收到的最大按序数据包的序号和收到的所有乱序数据包的序号;
重传单元、发送端接收到该扩展确认数据包后,将根据最大确认序号和接收端接收到的所有乱序数据包的序号,确定丢失的数据包后进行重传。
10.根据权利要求6所述的基于UDP协议的数据传输系统,其特征在于,所述系统还包括:
连接关闭模块,用于使发送端与接收端通信以关闭连接;
所述连接关闭模块具体为:
当所述发送端与接收端通过临时链路进行连接时,当数据全部发送完成后,所述连接关闭模块使双方通讯以关闭该临时链路;
当所述发送端与接收端通过永久性链路进行连接时,当发送端和/或接收端在出现错误的情况下进行关闭操作;所述连接关闭模块使双方通讯以关闭该永久性链路,包括:
发生错误的一方立即停止接收上层发送来的新数据,并将重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源;另一方在收到主动关闭的一方发来的关闭请求后,立即停止接收上层发送来的新数据,并将重传队列中的数据进行快速重传,并向对方发送一个关闭请求数据包;然后启动一个超时定时器,定时器超时之后立即关闭本端连接并释放连接资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010615173.6A CN102045362B (zh) | 2010-12-21 | 2010-12-21 | 一种基于udp协议的数据传输方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010615173.6A CN102045362B (zh) | 2010-12-21 | 2010-12-21 | 一种基于udp协议的数据传输方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102045362A true CN102045362A (zh) | 2011-05-04 |
CN102045362B CN102045362B (zh) | 2014-01-15 |
Family
ID=43911132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010615173.6A Expired - Fee Related CN102045362B (zh) | 2010-12-21 | 2010-12-21 | 一种基于udp协议的数据传输方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102045362B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638582A (zh) * | 2012-04-12 | 2012-08-15 | 华为技术有限公司 | 数据通信方法及通信端 |
CN103067301A (zh) * | 2013-01-17 | 2013-04-24 | 广东石油化工学院 | 基于用户数据报协议的快速可靠的拥塞控制改进算法 |
CN103200116A (zh) * | 2013-04-28 | 2013-07-10 | 成都市欧冠信息技术有限责任公司 | 非面向连接的可靠udp传输协议及数据传输方法 |
CN103812923A (zh) * | 2012-11-05 | 2014-05-21 | 国际商业机器公司 | 用于对系统主机活动与本地安装应用同步的方法和系统 |
CN104363248A (zh) * | 2014-11-27 | 2015-02-18 | 广州杰赛科技股份有限公司 | 无线数据传输方法与用户终端 |
CN104486442A (zh) * | 2014-12-29 | 2015-04-01 | 成都致云科技有限公司 | 分布式存储系统的数据传输方法、装置 |
CN104580171A (zh) * | 2014-12-24 | 2015-04-29 | 北京高森明晨信息科技有限公司 | Tcp协议的传输方法、装置和系统 |
CN104579597A (zh) * | 2013-10-28 | 2015-04-29 | 三星Sds株式会社 | 利用面向非连接的协议的数据通信 |
CN104601955A (zh) * | 2015-01-13 | 2015-05-06 | 北京科技大学 | 一种基于嵌入式的图像处理及传输系统 |
CN105376173A (zh) * | 2014-09-02 | 2016-03-02 | 中兴通讯股份有限公司 | 一种发送窗口流量控制方法和终端 |
CN106063205A (zh) * | 2013-11-06 | 2016-10-26 | 卡尔加里科技股份有限公司 | 远程访问环境中客户端流量控制的装置和方法 |
CN106131043A (zh) * | 2016-08-03 | 2016-11-16 | 大连环宇移动科技有限公司 | 一种基于udp协议以提高数据传输可靠性的方法 |
CN107078861A (zh) * | 2015-04-24 | 2017-08-18 | 柏思科技有限公司 | 用于估计丢失数据的方法和系统 |
CN107743057A (zh) * | 2017-09-29 | 2018-02-27 | 国信优易数据有限公司 | 一种数据传输系统和方法 |
CN107979449A (zh) * | 2016-10-25 | 2018-05-01 | 杭州海康威视数字技术股份有限公司 | 一种数据传输方法及装置 |
CN108650244A (zh) * | 2018-04-24 | 2018-10-12 | 网宿科技股份有限公司 | 一种域名解析方法、终端及递归dns服务器 |
CN109379355A (zh) * | 2018-10-11 | 2019-02-22 | 无锡威孚力达催化净化器有限责任公司 | 基于udp协议的自适应可靠多窗口数据传输方法 |
CN109560901A (zh) * | 2018-11-14 | 2019-04-02 | 广州虎牙信息科技有限公司 | 一种数据重传方法、装置、终端设备及存储介质 |
CN109691019A (zh) * | 2016-12-20 | 2019-04-26 | 华为技术有限公司 | 执行通信网络业务模拟的设备和方法 |
CN105262569B (zh) * | 2014-06-20 | 2019-06-04 | Tcl集团股份有限公司 | 一种提高udp传输可靠性的方法及系统 |
CN109936510A (zh) * | 2017-12-15 | 2019-06-25 | 微软技术许可有限责任公司 | 多路径rdma传输 |
CN110830472A (zh) * | 2019-11-07 | 2020-02-21 | 西北工业大学 | 基于tcp/ip协议的灵活数据传输协议的灵活数据传输方法 |
CN112637149A (zh) * | 2020-12-11 | 2021-04-09 | 广东电力通信科技有限公司 | 一种不对称安全策略分区间的数据通信方法 |
US11005685B2 (en) | 2009-12-23 | 2021-05-11 | Pismo Labs Technology Limited | Methods and systems for transmitting packets through aggregated end-to-end connection |
US11201699B2 (en) | 2009-12-23 | 2021-12-14 | Pismo Labs Technology Limited | Methods and systems for transmitting error correction packets |
CN115118392A (zh) * | 2022-06-10 | 2022-09-27 | 网宿科技股份有限公司 | D-sack的确定方法、处理器与通信系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040160957A1 (en) * | 2003-02-14 | 2004-08-19 | Coffman Stephen Blaine | Wireless datagram transaction protocol system |
CN101030959A (zh) * | 2006-02-27 | 2007-09-05 | 中兴通讯股份有限公司 | 一种实时确定传输的以太网通讯方法 |
CN101184052A (zh) * | 2007-12-25 | 2008-05-21 | 北京广视通达网络技术有限公司 | 一种实现可靠udp传输的拥塞控制方法 |
-
2010
- 2010-12-21 CN CN201010615173.6A patent/CN102045362B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040160957A1 (en) * | 2003-02-14 | 2004-08-19 | Coffman Stephen Blaine | Wireless datagram transaction protocol system |
CN101030959A (zh) * | 2006-02-27 | 2007-09-05 | 中兴通讯股份有限公司 | 一种实时确定传输的以太网通讯方法 |
CN101184052A (zh) * | 2007-12-25 | 2008-05-21 | 北京广视通达网络技术有限公司 | 一种实现可靠udp传输的拥塞控制方法 |
Non-Patent Citations (2)
Title |
---|
《计算机工程与应用》 20060531 王继刚 等, "可靠UDP 数据传输协议的研究与设计" 第113-116页 1-10 , * |
王继刚 等,: ""可靠UDP 数据传输协议的研究与设计"", 《计算机工程与应用》, 31 May 2006 (2006-05-31), pages 113 - 116 * |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11201699B2 (en) | 2009-12-23 | 2021-12-14 | Pismo Labs Technology Limited | Methods and systems for transmitting error correction packets |
US11943060B2 (en) | 2009-12-23 | 2024-03-26 | Pismo Labs Technology Limited | Methods and systems for transmitting packets |
US11005685B2 (en) | 2009-12-23 | 2021-05-11 | Pismo Labs Technology Limited | Methods and systems for transmitting packets through aggregated end-to-end connection |
US11677510B2 (en) | 2009-12-23 | 2023-06-13 | Pismo Labs Technology Limited | Methods and systems for transmitting error correction packets |
CN102638582A (zh) * | 2012-04-12 | 2012-08-15 | 华为技术有限公司 | 数据通信方法及通信端 |
CN103812923A (zh) * | 2012-11-05 | 2014-05-21 | 国际商业机器公司 | 用于对系统主机活动与本地安装应用同步的方法和系统 |
CN103067301A (zh) * | 2013-01-17 | 2013-04-24 | 广东石油化工学院 | 基于用户数据报协议的快速可靠的拥塞控制改进算法 |
CN103200116A (zh) * | 2013-04-28 | 2013-07-10 | 成都市欧冠信息技术有限责任公司 | 非面向连接的可靠udp传输协议及数据传输方法 |
CN103200116B (zh) * | 2013-04-28 | 2015-10-14 | 成都市欧冠信息技术有限责任公司 | 非面向连接的可靠udp传输协议及数据传输方法 |
CN104579597A (zh) * | 2013-10-28 | 2015-04-29 | 三星Sds株式会社 | 利用面向非连接的协议的数据通信 |
CN106063205A (zh) * | 2013-11-06 | 2016-10-26 | 卡尔加里科技股份有限公司 | 远程访问环境中客户端流量控制的装置和方法 |
CN106063205B (zh) * | 2013-11-06 | 2018-06-29 | 卡尔加里科技股份有限公司 | 远程访问环境中客户端流量控制的装置和方法 |
CN105262569B (zh) * | 2014-06-20 | 2019-06-04 | Tcl集团股份有限公司 | 一种提高udp传输可靠性的方法及系统 |
WO2016033948A1 (zh) * | 2014-09-02 | 2016-03-10 | 中兴通讯股份有限公司 | 一种发送窗口流量控制方法和终端 |
CN105376173A (zh) * | 2014-09-02 | 2016-03-02 | 中兴通讯股份有限公司 | 一种发送窗口流量控制方法和终端 |
CN105376173B (zh) * | 2014-09-02 | 2020-04-28 | 中兴通讯股份有限公司 | 一种发送窗口流量控制方法和终端 |
CN104363248A (zh) * | 2014-11-27 | 2015-02-18 | 广州杰赛科技股份有限公司 | 无线数据传输方法与用户终端 |
CN104580171A (zh) * | 2014-12-24 | 2015-04-29 | 北京高森明晨信息科技有限公司 | Tcp协议的传输方法、装置和系统 |
CN104580171B (zh) * | 2014-12-24 | 2018-01-12 | 北京高森明晨信息科技有限公司 | Tcp协议的传输方法、装置和系统 |
CN104486442B (zh) * | 2014-12-29 | 2018-08-24 | 成都极驰科技有限公司 | 分布式存储系统的数据传输方法、装置 |
CN104486442A (zh) * | 2014-12-29 | 2015-04-01 | 成都致云科技有限公司 | 分布式存储系统的数据传输方法、装置 |
CN104601955B (zh) * | 2015-01-13 | 2018-03-30 | 北京科技大学 | 一种基于嵌入式的图像处理及传输系统 |
CN104601955A (zh) * | 2015-01-13 | 2015-05-06 | 北京科技大学 | 一种基于嵌入式的图像处理及传输系统 |
CN107078861B (zh) * | 2015-04-24 | 2020-12-22 | 柏思科技有限公司 | 用于估计丢失数据的方法和系统 |
CN107078861A (zh) * | 2015-04-24 | 2017-08-18 | 柏思科技有限公司 | 用于估计丢失数据的方法和系统 |
CN106131043A (zh) * | 2016-08-03 | 2016-11-16 | 大连环宇移动科技有限公司 | 一种基于udp协议以提高数据传输可靠性的方法 |
CN107979449B (zh) * | 2016-10-25 | 2020-11-20 | 杭州海康威视数字技术股份有限公司 | 一种数据传输方法及装置 |
CN107979449A (zh) * | 2016-10-25 | 2018-05-01 | 杭州海康威视数字技术股份有限公司 | 一种数据传输方法及装置 |
CN109691019A (zh) * | 2016-12-20 | 2019-04-26 | 华为技术有限公司 | 执行通信网络业务模拟的设备和方法 |
CN107743057A (zh) * | 2017-09-29 | 2018-02-27 | 国信优易数据有限公司 | 一种数据传输系统和方法 |
CN109936510A (zh) * | 2017-12-15 | 2019-06-25 | 微软技术许可有限责任公司 | 多路径rdma传输 |
US11934340B2 (en) | 2017-12-15 | 2024-03-19 | Microsoft Technology Licensing, Llc | Multi-path RDMA transmission |
CN108650244A (zh) * | 2018-04-24 | 2018-10-12 | 网宿科技股份有限公司 | 一种域名解析方法、终端及递归dns服务器 |
CN109379355A (zh) * | 2018-10-11 | 2019-02-22 | 无锡威孚力达催化净化器有限责任公司 | 基于udp协议的自适应可靠多窗口数据传输方法 |
CN109560901B (zh) * | 2018-11-14 | 2021-09-21 | 广州虎牙信息科技有限公司 | 一种数据重传方法、装置、终端设备及存储介质 |
CN109560901A (zh) * | 2018-11-14 | 2019-04-02 | 广州虎牙信息科技有限公司 | 一种数据重传方法、装置、终端设备及存储介质 |
CN110830472A (zh) * | 2019-11-07 | 2020-02-21 | 西北工业大学 | 基于tcp/ip协议的灵活数据传输协议的灵活数据传输方法 |
CN112637149A (zh) * | 2020-12-11 | 2021-04-09 | 广东电力通信科技有限公司 | 一种不对称安全策略分区间的数据通信方法 |
CN112637149B (zh) * | 2020-12-11 | 2023-09-01 | 广东电力通信科技有限公司 | 一种不对称安全策略分区间的数据通信方法 |
CN115118392A (zh) * | 2022-06-10 | 2022-09-27 | 网宿科技股份有限公司 | D-sack的确定方法、处理器与通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102045362B (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102045362B (zh) | 一种基于udp协议的数据传输方法和系统 | |
WO2018205688A1 (zh) | 一种数据传输的方法、装置和系统 | |
KR102046792B1 (ko) | 송신 노드로부터 목적지 노드로의 데이터 전송 방법 | |
CN103346963A (zh) | 一种基于预测到达时间的mptcp数据调度方法 | |
US9444751B1 (en) | Backpressure with adaptive redundancy | |
CN101212401B (zh) | 面向网格的可配置数据传输方法及系统 | |
WO2016099357A1 (en) | Methods and first network node for managing a stream control transmission protocol association | |
CN103731409A (zh) | 用于具有tcp加速的嵌入式汽车采集设备的分布式测量装置 | |
CN102769520A (zh) | 基于sctp协议的无线网络拥塞控制方法 | |
Hegde et al. | FAST TCP in high-speed networks: An experimental study | |
Dunaytsev et al. | Modeling TCP SACK performance over wireless channels with completely reliable ARQ/FEC | |
CN101883047B (zh) | 多网络接口设备的数据并发传输方法 | |
Gu et al. | Udt: An application level transport protocol for grid computing | |
CN102694736A (zh) | 吞吐率的获取方法和装置 | |
CN104580171A (zh) | Tcp协议的传输方法、装置和系统 | |
CN109586931A (zh) | 组播方法及终端设备 | |
CN116566914B (zh) | 旁路tcp加速方法、装置、设备及介质 | |
Thammadi | Reliable user datagram protocol (RUDP). | |
Srijith et al. | Worst-case performance limitation of TCP SACK and a feasible solution | |
Franceschinis et al. | Using wsn technology for industrial monitoring: A real case | |
Raitahila | Congestion Control Algorithms for the Constrained Application Protocol (CoAP) | |
Nada | Service Time Analysis of Go-Back-N ARQ Protocol | |
Ninagawa | Cloud-Side Network Communication Performance Analysis | |
Dhara et al. | A performance enhanced transmission control protocol for inter-planetary networks | |
Uslu et al. | Ds+: Reliable distributed snapshot algorithm for wireless sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180201 Address after: 100176 Beijing Beijing economic and Technological Development Zone Culture Park, No. 6, courtyard No. 30, No. 18, 1803 Patentee after: Beijing Yunhu Times Technology Co., Ltd. Address before: 100020 Chaoyang District, Chaoyang District, Beijing, Beijing Patentee before: Beijing Grandison & JM Information Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140115 Termination date: 20201221 |