CN105634978A - 数据交换协议UDT-Sat - Google Patents

数据交换协议UDT-Sat Download PDF

Info

Publication number
CN105634978A
CN105634978A CN201410688625.1A CN201410688625A CN105634978A CN 105634978 A CN105634978 A CN 105634978A CN 201410688625 A CN201410688625 A CN 201410688625A CN 105634978 A CN105634978 A CN 105634978A
Authority
CN
China
Prior art keywords
data
udt
sat
window
agreement
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.)
Pending
Application number
CN201410688625.1A
Other languages
English (en)
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.)
ANHUI JOYFULL INFORMATION TECHNOLOGY Co Ltd
Original Assignee
ANHUI JOYFULL INFORMATION TECHNOLOGY Co Ltd
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 ANHUI JOYFULL INFORMATION TECHNOLOGY Co Ltd filed Critical ANHUI JOYFULL INFORMATION TECHNOLOGY Co Ltd
Priority to CN201410688625.1A priority Critical patent/CN105634978A/zh
Publication of CN105634978A publication Critical patent/CN105634978A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

数据交换协议UDT-Sat,该协议是实施在UDP协议之上的应用层协议,完成应用层大容量数据块的安全可靠稳定的传输。在传输的过程中,每个大容量数据块分割成若干个小的数据包,直接发生到接收端或者通过中间节点转发到接收端,接收方收到数据后,将数据包组装成完整的原数据内容,UDT-Sat规定了数据封装、路由和组装的规则。能提供端对端的流量控制和差错控制,为数据的安全可靠传输提供了一个通道。UDT-Sat协议针对卫星通信环境的特点对传输的效率进行了优化,使得能够获得比TCP更高的产出率,同时在地面网络中能够保持高效。

Description

数据交换协议UDT-Sat
技术领域:
本发明涉及及一种数据交换模型,具体涉及无法进行布线、必须使用无线或卫星这样的环境中一个数据交换协议UDT-Sat。
背景技术:
针对无法进行布线、必须使用无线或卫星这样的环境,我们设计实现了一个数据交换协议UDT-Sat,该协议是实施在UDP(UserDatagramProtocol,RFC768)协议之上的应用层协议,完成应用层大容量数据块(或文件)的安全可靠稳定的传输。在传输的过程中,每个大容量数据块(或文件)分割成若干个小的数据包,直接发生到接收端或者通过中间节点转发到接收端,接收方收到数据后,将数据包组装成完整的原数据内容,UDT-Sat规定了数据封装、路由和组装的规则。
发明内容:
本发明的目的在于提供数据交换协议UDT-Sat,它能提供端对端的流量控制和差错控制,为数据的安全可靠传输提供了一个通道。UDT-Sat协议针对卫星通信环境的特点对传输的效率进行了优化,使得能够获得比TCP更高的产出率,同时在地面网络中能够保持高效。UDT-Sat使用基于滑动窗口的机制进行流量控制,采用负反馈机制进行差错控制。
本发明采用以下技术方案:针对无法进行布线、必须使用无线或卫星这样的环境中高延迟和高错误率(与有线相比)的数据交换模型,该协议是实施在UDP(UserDatagramProtocol,RFC768)协议之上的应用层协议,完成应用层大容量数据块的安全可靠稳定的传输。在传输的过程中,每个大容量数据块分割成若干个小的数据包,直接发生到接收端或者通过中间节点转发到接收端,接收方收到数据后,将数据包组装成完整的原数据内容,UDT-Sat规定了数据封装、路由和组装的规则。
UDT-Sat协议是一个应用层的协议,提供端对端的流量控制和差错控制,为数据的安全可靠传输提供了一个通道。UDT-Sat协议针对卫星通信环境的特点对传输的效率进行了优化,使得能够获得比TCP更高的产出率,同时在地面网络中能够保持高效。UDT-Sat使用基于滑动窗口的机制进行流量控制,采用负反馈机制进行差错控制。
滑动窗口描述了数据发送方的数据缓冲区中能够发送数据的大小,发送方发生的数据不能超出这个范围,而当发送的数据没有被确认需要发送端进行重传。这个窗口称为拥塞控制窗口cwnd。窗口有以下三种变化方式:(1)窗口合拢:当窗口从左边向右边靠近的时候,这种现象发生在数据被发送和确认的时候。(2)窗口张开:当窗口的右边沿向右边移动的时候,这种现象发生在接受端处理了数据以后,发送端发送了更多的数据。(3)窗口收缩:当窗口的右边沿向左边移动的时候,一般是发生拥塞以后缩减拥塞窗口所致。
拥塞控制过程将根据网络的状况对拥塞控制窗口cwnd进行调整,使得尽量充分利用网络资源但不会发生拥塞。拥塞控制的另一个重要的目标是能够保证多个连接的公平性以及对其它协议的友好性。
UDT-Sat中需要计算两个重要的变量用于拥塞控制:网络带宽估计值和网络拥塞状态。
本发明具有以下有益效果:能提供端对端的流量控制和差错控制,为数据的安全可靠传输提供了一个通道。UDT-Sat协议针对卫星通信环境的特点对传输的效率进行了优化,使得能够获得比TCP更高的产出率,同时在地面网络中能够保持高效。
附图说明:
为了易于说明,本发明有下述的具体实施及附图作以详细描述。
图1是本发明中SNACK缓存状态图;
图2是本发明中SNACK状态图。
具体实施方式:
本具体实施方式采用以下技术方案:拥塞控制过程将根据网络的状况对拥塞控制窗口cwnd进行调整,使得尽量充分利用网络资源但不会发生拥塞。拥塞控制的另一个重要的目标是能够保证多个连接的公平性以及对其它协议的友好性。
UDT-Sat中需要计算两个重要的变量用于拥塞控制:网络带宽估计值和网络拥塞状态。
a)估计网络带宽:
UDT-Sat中的带宽估计在接收端进行。带宽估计值表示了当前能够达到的产出率,可以用在判断拥塞状态算法中,也用于拥塞控制中。由于在数据包传递的方向上,瓶颈链路基本处于饱和状态,接收端接收到数据包的间隔更接近于瓶颈链路传输一个数据包所需要的时间,因此可以用来更准确的估计链路带宽。
设在接收端tk时刻到达的数据包携带的数据量为dk,则有实时带宽估计值bk和使用指数平滑得到带宽估计值BWE分别为:
b k = d k t k - t k - 1 - - - ( 1 )
BWE k = α * BWE k - 1 + ( 1 - α ) ( b k + b k - 1 ) 2 - - - ( 2 )
α为平滑因子。
b)分辨网络拥塞:
应用层协议无法直接获取网络是否发生拥塞或误码,不能区分分组的拥塞丢失和随机丢失,无法直接判断拥塞状态。UDT-Sat协议通过观测RTT的变化来做近似的判断。网络从空闲到饱和再到发生拥塞,在路径上传递数据包的往返时间RTT需要经历一个从恒定不变到慢慢增加的过程。最小的RTT一般记为BaseRTT,它完全由通信节点的距离来决定,数据包在传递过程中不发生延迟。
UDPSat直接计算在瓶颈路径上积累的数据包的个数来衡量拥塞的程度:
N=BWE*(RTT–BaseRTT)=Diff*BaseRTT
如果N大于等于预设值β,则认为网络处于拥塞状态,此时发生的丢包认为是拥塞丢包,否则认为网络尚未饱和,此时发生的丢包认为是误码造成的。
c)拥塞控制算法:
拥塞控制过程中,除了使用估计的带宽值和拥塞状态值,还需要计算RTT。协议中在返回的ACK中复制了发送数据报文的时间戳,这样当确认数据的ACK到达时便可以计算往返时间,由此可以获得最小往返时间RTTmin,同时可以计算平均RTT及其标准偏差以便判断超时。
UDT-Sat的拥塞控制算法使用被称为“线性增加、加速递减”(AIMD,AdditiveIncreaseandMultiplicativeDecrease)的方式更新拥塞窗口cwnd。其中包括互相关联的四个过程:慢启动、拥塞避免、快速重传和快速恢复。
慢启动:
慢启动(Slow-Start,SS)算法用于在连接建立初期使UDT快速增大cwnd,达到网络容量极限。源端使用状态变量慢启动门限ssthresh来保存它试探出的网络容量。链接建立时,初始化cwnd为1,ssthresh为某预设常数(由操作系统决定),源端可以发送一个分组。
在每收到一个新确认后,cwnd增加1,这时源端可以再发送两个分组。在一个RTT内,源端发送了cwnd个的分组,相应地会收到cwnd个的确认,cwnd将增大为原来的两倍。因此在慢启动阶段,cwnd呈指数级增长,每个RTT增大一倍。如果在SS阶段源端发现分组丢失,则认为这时cwnd过大,ssthresh=cwnd/2,是试探出的网络容限。同时设cwnd为ssthresh,即将cwnd大小折半,源端进入拥塞避免阶段。
拥塞避免:
在拥塞避免(CongestionAvoidance,CA)阶段,UDT-Sat认为当前的cwnd已经超过了网络容限,不能继续快速增大cwnd,而是应该以较慢的速度增大。
在CA阶段,每个RTT时间内cwnd的增加不超过一个分组。源端在每收到一个确认后,cwnd增加1/cwnd,在一个RTT内,源端发出cwnd个分组,并收到cwnd个确认,从而cwnd近似增大1。
当收到3个重复的ACK后,判断拥塞状态,如果网络拥塞,将ssthresh设为cwnd/2,否则将ssthresh设为BWE*RTTmin。cwnd设为min(cwnd,ssthresh),继续拥塞避免。
当发生超时后,设置sshresh为max(BWE*RTTmin,2),cwnd为1,进入慢启动。
快速重传:
UDT-Sat针对卫星网络环境的特点设计了一个可以容忍高误码的基于选择性负反馈(SelectiveNegativeAcknowledgement,SNACK)的快速重传机制,它也能适应普通的网络环境。
SNACK反映接收端缓存中没有正确接收到的数据包信息。SNACK包含接收缓存的起止序号S和E,以及其间的间断空隙,每个间断的空隙用一个NAK表示。例如图1所示为某时刻接收缓存状态,其间包含了两个间断空隙(序号相对于S):0,[ij),此时的SNACK如图1和图2所示,序号前有一个比特置为0或1来表明这是单个丢包还是与下一个序号构成一个的丢包区段。
发送端在收到带有SNACK的ACK后,对所有NAK中出现的数据包,在发送缓存中增加它的NAKed次数,且如果当前不处于快速恢复过程,记录当前发送序号smax,计算滞留在信道中的数据包的最大可能数目pipe=smax-E,并进入快速恢复过程。pipe的值在发送数据包后增加1,收到ACK后减小1。在快速恢复过程中,当pipe<cwnd时可以发送数据包,发送的数据包可以是NAKed次数达到3次且尚未重传的数据包,这就是快速重传;也可以发送新的处于cwnd内的数据包,以便能够连续的推进发送窗口。快速恢复过程在收到序号为smax的ACK后结束。
快速恢复:
每收到一个dupack,cwnd增大1,源端可以发出一个新的分组,每个dupack意味着有一个新的分组离开网络到达目的端,虽然差错仍然没有恢复,但源端可以再向网络中发送一个分组,而不会造成拥塞;注意这时cwnd被不断扩大;如果收到的不是dupack,而是确认了新的数据,源端认为差错己经恢复,设置cwnd=ssthresh,进入拥塞避免阶段。

Claims (5)

1.数据交换协议UDT-Sat,其特征在于该协议是实施在UDP协议之上的应用层协议,完成应用层大容量数据块的安全可靠稳定的传输;在传输的过程中,每个大容量数据块分割成若干个小的数据包,直接发生到接收端或者通过中间节点转发到接收端,接收方收到数据后,将数据包组装成完整的原数据内容,UDT-Sat规定了数据封装、路由和组装的规则。
2.根据权利要求1所述的数据交换协议UDT-Sat,其特征在于数据交换协议UDT-SatUDT-Sat协议是一个应用层的协议,提供端对端的流量控制和差错控制,为数据的安全可靠传输提供了一个通道;UDT-Sat协议针对卫星通信环境的特点对传输的效率进行了优化,使得能够获得比TCP更高的产出率,同时在地面网络中能够保持高效;UDT-Sat使用基于滑动窗口的机制进行流量控制,采用负反馈机制进行差错控制。
3.根据权利要求2所述的数据交换协议UDT-Sat,其特征在于滑动窗口描述了数据发送方的数据缓冲区中能够发送数据的大小,发送方发生的数据不能超出这个范围,而当发送的数据没有被确认需要发送端进行重传;这个窗口称为拥塞控制窗口cwnd;窗口有以下几种变化方式:(1)窗口合拢:当窗口从左边向右边靠近的时候,这种现象发生在数据被发送和确认的时候;(2)窗口张开:当窗口的右边沿向右边移动的时候,这种现象发生在接受端处理了数据以后,发送端发送了更多的数据;(3)窗口收缩:当窗口的右边沿向左边移动的时候,一般是发生拥塞以后缩减拥塞窗口所致。
4.根据权利要求3所述的数据交换协议UDT-Sat,其特征在于拥塞控制过程将根据网络的状况对拥塞控制窗口cwnd进行调整,使得尽量充分利用网络资源但不会发生拥塞;拥塞控制的另一个重要的目标是能够保证多个连接的公平性以及对其它协议的友好性。
5.根据权利要求1所述的数据交换协议UDT-Sat,其特征在于UDT-Sat中需要计算两个重要的变量用于拥塞控制:网络带宽估计值和网络拥塞状态。
CN201410688625.1A 2014-11-26 2014-11-26 数据交换协议UDT-Sat Pending CN105634978A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410688625.1A CN105634978A (zh) 2014-11-26 2014-11-26 数据交换协议UDT-Sat

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410688625.1A CN105634978A (zh) 2014-11-26 2014-11-26 数据交换协议UDT-Sat

Publications (1)

Publication Number Publication Date
CN105634978A true CN105634978A (zh) 2016-06-01

Family

ID=56049494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410688625.1A Pending CN105634978A (zh) 2014-11-26 2014-11-26 数据交换协议UDT-Sat

Country Status (1)

Country Link
CN (1) CN105634978A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526644A (zh) * 2017-08-18 2017-12-29 北京北信源软件股份有限公司 一种进程间通信系统、方法、可读介质和存储控制器
CN113839840A (zh) * 2021-11-24 2021-12-24 北京航空航天大学 一种卫星网络瓶颈链路的带宽自适应估计方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526644A (zh) * 2017-08-18 2017-12-29 北京北信源软件股份有限公司 一种进程间通信系统、方法、可读介质和存储控制器
CN113839840A (zh) * 2021-11-24 2021-12-24 北京航空航天大学 一种卫星网络瓶颈链路的带宽自适应估计方法和系统

Similar Documents

Publication Publication Date Title
JP4654926B2 (ja) 通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラム
US7965698B2 (en) Method for preventing unnecessary retransmission due to delayed transmission in wireless network and communication device using the same
US9876747B2 (en) Utilizing multiple interfaces when sending data and acknowledgement packets
EP1568180B1 (en) A method for enhancing transmission quality of streaming media
US20050259577A1 (en) Method for transmitting data in mobile ad hoc network and network apparatus using the same
US9391878B2 (en) Reliable packet delivery with overlay network (RPDON)
US8923123B2 (en) ECN-enabled multicast protocol for wireless communication systems under blockage
US9369923B2 (en) Transmission method in an ad hoc multi-hop IP network
CN105024940A (zh) 基于链路自适应的异构网络tcp拥塞控制方法
US20060259845A1 (en) Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems
CN105406915B (zh) 一种面向星地链路的文件传输方法
CN104796235B (zh) 基于丢包率的卫星通信自适应拥塞控制方法
CN105634978A (zh) 数据交换协议UDT-Sat
CN108718226A (zh) 一种水下长延时传感器网络传输层数据传输方法
Subramanya et al. Performance evaluation of high speed TCP variants in dumbbell network
Khelage et al. Survey and Simulation based Performance Analysis of TCP-Variants in terms of Throughput, Delay and drop Packets over MANETs
Liu et al. A unified tcp enhancement for wireless mesh networks
Paul et al. Comparative analysis of different TCP variants in mobile ad-hoc network
Zafar et al. Throughput Analysis of TCP SACK in comparison to TCP Tahoe Reno and New Reno against Constant Rate Assignment (CRA) of 2500 and 4500 bps
Pradeep et al. Comparison of drop rates in different TCP variants against various routing protocols
CN113766561B (zh) 基于跨层优化的无人集群网络拥塞控制方法
Islam et al. Exploring Congestion Control Mechanism of TCP Vari-ants over Wired & Wireless Networks
Carletto et al. Shallow window reduction for congestion control under TCP
Bandi et al. Performance Evaluation of TCP Congestion Control Mechanisms in Wired Networks
EP1601152A1 (en) Method and apparatus for transmitting data packets in a communication network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160601

WD01 Invention patent application deemed withdrawn after publication