APP下载

基于ARUDP的指挥控制网络数据传输协议*

2016-08-03王运明

火力与指挥控制 2016年4期

陈 波,陶 威,王运明,2

(1.大连大学信息工程学院,辽宁 大连 116622;2.南京理工大学自动化学院,南京 210094)

基于ARUDP的指挥控制网络数据传输协议*

陈波1,陶威1,王运明1,2

(1.大连大学信息工程学院,辽宁大连116622;2.南京理工大学自动化学院,南京210094)

摘要:针对目前指挥控制网络采用UDP协议进行大数据传输时存在长时延及高丢包率的问题,提出了一种基于UDP改进的ARUDP(Augmented Reliable UDP)协议。该协议针对UDP传输过程中存在的乱序到达问题,提出了基于乱序重构的管理机制,降低了丢包率;在接收端根据网络相对单向队列时延检测网络状态,并利用改进的A-AIAD控制方法自适应调整数据发送速率,减小了队列排队时延,提高了数据传输效率。仿真实验表明,ARUDP协议发送速率平滑,在保持UDP高效的前提下,提高了传输的可靠性和实时性,降低了网络的丢包率,提高了网络资源利用率。

关键词:指挥控制网络,ARUDP,拥塞控制,乱序重构

0 引言

随着信息化的高速发展,指挥控制网络作为网络中心战的重要组成部分,在信息化战争中的地位日益突出。然而,在有限的网络资源中,各种并存的通信信道都面临越来越多的信息可靠交互的需求,大量指挥控制与态势感知等信息交互对现有战场网络提出更高的要求,即要求更高的传输速率、支持可靠传输业务等。传统的TCP[1]协议网络拥塞以丢包为中心,可以保证数据的可靠传输,但是在指挥控制网络环境下,指挥控制网络多对一传输的收敛特性和带宽资源的限制极易造成网络拥塞,从而导致较高的分组丢失和较大的队列时延,影响指挥网本身的通信流畅程度。

目前实现数据可靠传输的协议主要有UDT协议、RUDP协议或者RTP。UDT协议采用基于时间的选择性确认机制,即接收端每接收到一个数据包就向发送端发送ACK包,虽然提高了数据传输的可靠性,但是大量的确认和处理确认的时间,降低了传输效率。RUDP协议可靠传输的控制机制使用了类似于TCP的确认重传机制,过多的确认信息和响应时间不仅占用过多的带宽而且增加了延时,不适于大数据的快速传输。RTP协议的可靠传送机制建立在按顺序传送数据包,并提供流量控制和拥塞控制,但是接收端的ACK包是采用TCP协议来传输,不利于在广播中使用[2-5]。

文献[6]提出了一种面向非连接的PUDP协议,将数据包传输控制机制糅合到流量控制当中,实现了报文被动式传输,减轻了服务器端的工作负担。但是简化的连接过程是面向非连接的,网络状态不稳定的情况下,这种连接很有可能会进行多次,并不能很好地保证数据的可靠性,并且又额外地占用网络资源。

文献[7]提出了具有补发机制的ERUDP协议。发送端维护一个发送指针和一个重发指针,发送指针不断地向接收端发送数据包并且不需要接收端的确认,重发指针在接收到来自接收端的重传请求后寻找重传数据包并完成重新发送[7],不仅减少了确认消息占用的网络资源,而且提高了传输的效率。但是仍然存在这些不足之处:UDP采用非面向连接的传输策略,不保证数据按序到达,接收端根据接收到的包号大于需要的数据包号来决定补发,没有考虑数据包产生乱序到达的情况,是不合理的。

针对指挥控制网络实际运行环境和参考已有文献的基础上,本文提出了一种新型可靠数据传输协议ARUDP。该协议通过增加用于可靠传输的协议头,根据网络相对单向队列时延检测网络状态,采用改进的A-AIAD动态平滑地调整数据发送速率,提高了传输效率,在保持UDP高效的前提下,提高了传输的可靠性和实时性,降低了网络的丢包率,提高了网络资源利用率,使之能满足指挥控制网络实时性和可靠性的要求。

1 ARUDP协议设计

1.1ARUDP报文结构

本文设计的ARUDP协议是在UDP协议的基础上填充一些字段与UDP头一起构成ARUDP的头部,如图1所示。

图1 ARUDP报文头结构

MsgType(消息类型):用于区分各种数据包的消息类型,占2 bit。例如:请求消息、发送消息、反馈消息等;

NetState(网络状态):接收端根据网络相对单向队列时延获取到网络状态信息,用于接收端发送反馈消息数据包时使用,占2 bit;

TimStamp(时间戳):记录数据包发送时间,占用2 bit;

Degree(发送级别):用于确定当前包的发送级别,控制发送速率,占2 bit;

Len(包总长度):用于表示自定义消息头格式及数据包的总长度,占2 bit;

DataSequence(数据包序号):标识符,用于标示发送端发送的数据包的序号,占用4 bit。

1.2数据连接的建立过程

ARUDP在数据传输时采用了类似TCP协议的3次握手机制,既保证了数据的可达,又检测了网络故障。该过程是一个握手而无连接的建立,保证了低开销。

数据传输请求:接收端向发送端发送传输请求;数据传输应答:将要传输的数据大小等信息通知给接收端;数据传输确认:接收端收到数据传输应答后,确认是否接受连接,拒绝连接则结束此次请求,确认连接则开始数据传输。

3次握手采用超时重传、超次放弃的方法,必须保证这3次握手的成功才可以开始数据的传输[7]。

1.3乱序重构管理机制

针对文献[7]报文乱序到达的情况,本文提出了乱序重构的管理机制。乱序重构管理机制是建立在接收端缓冲区上的一种序列重排机制。发送端发送的每一组数据包都有一个序号,通过序号可以知道这组数据在传输数据中的位置。在接收端建立一个接收缓冲区和一个补发队列,当接收端接收的下一个数据包不为期望数据包时,则将接收的序列消息存入缓冲区,并从缓冲区查找之前存入的数据包。如果未找到,则认为期望数据包丢失并写入补发队列,进行补发请求。在将接收的序列消息存入缓冲区之前找到正确的序列存放的位置,并直接写入到对应的缓冲区间内,实现对乱序的数据包序列进行重构。如下页图2所示。

图2 乱序重构原理图

接收端缓冲区大小的设定也会影响到ARUDP的效率。如果缓冲区太大,在极端的情况下,接收端一直要查找到缓冲区的末尾才会丢弃第1个数据包,开始处理第2个数据包,从而造成较大的延迟;如果缓冲区太小,极端的情况下,缓冲区为零,此时将失序作为丢包处理,必然导致较高的包丢失率。因此,经实验本文将缓冲区的大小设为10个包。如果在缓冲区满之前仍等不到期望的数据包,则认为该包丢失了,并将丢失的包放入补发队列,然后向发送端发送ACK包。发送端依据接收端的ACK包对补发队列进行更新,并且在每次发送待发送队列前都检查补发队列是否更新,优先发送丢失的数据包。

2 拥塞控制策略

传统的拥塞控制策略是基于AIMD的拥塞控制算法,这种算法表现为较大的振荡性,不利于网络数据的实时传输。本文根据网络相对单向队列时延检测网络状态,并采用了自适应参数设置的A-AIAD速率控制方式,动态调整数据的发送速率,不但减少了拥塞级别的判断时间间隔,而且缩短了ARUDP的速率调整间隔。

2.1网络状态检测

设连续数据包n与n-1间的发送时间间隔和到达接收方的时间间隔分别为STn和RTn,则连续数据包的相对单向队列时延Dqn为:

相对单向队列时延变化率ΔDqn为:

计算第n个包的相对单向队列时延变化率与第n-1个包的相对单向队列时延变化率的比值DRn为:

显然,Dqn在围绕1上下浮动。当DRn<1时,表示当前接收到的包的相对单向时延相比前一个包的较小;当DRn>1时,表示当前接收到的包的相对单向时延相比前一个包的较大。

初始化计数器D为0。当DRn>1时,使D增加1;当DRn<1时,使D减少1。数据包在网络的延迟程度由计数器D的大小直接反映,同时D的大小也间接反映了网络的拥塞程度,D越大,延迟越大。本文将D的取值范围划分为3个等级,如表1所示。

表1 拥塞级别的划分

表中,dload为低负载状态的上限值,uload为轻度拥塞状态的下限值。本文取dload为-20,uload为+20。它们的取值影响拥塞状态的判断。

2.2速度调整

α和β的随网络拥塞状态自适应取值并调节发送速率,提高了发送速率的稳定性。当网络发生轻度拥塞时,为了平滑的减少发送速率,β的变化范围一般为5%~15%;当网络欠载比较严重时,为了更加快速地利用网络资源,α的变化范围一般为10%~20%。

3 协议评价与分析

本文采用了如图3所示经典的单瓶颈链路实验方案。两端与中间路由器的带宽为100 Mb/s,路由器R1与R2之间的带宽为10 Mb/s。显然,所有数据流共同竞争一条瓶颈链路,容易造成拥塞产生丢包和延时。

图3 仿真网络拓扑图

目前常用的拥塞控制算法是基于丢包率或往返时延来触发拥塞的检测[8-13]。故在仿真实验中用它们和本文的拥塞控制算法进行性能比较。S1向D1发送3种具有拥塞控制机制的UDP数据流,分别为基于丢包率、基于往返时延和基于相对单向队列时延拥塞控制的UDP数据流,持续时间为60 s。设置发送端的初始发送速率均为150 KB/s,变化区间为[50 KB/s,250 KB/s]。S2向D2发送采用CBR数据源的UDP数据报,在0 s~10 s的发送速率为8 MB/s,10 s~50 s速率从8 MB/s逐渐增加到12 MB/s,50 s~60 s速率从12 MB/s逐渐降低到8 MB/s,形成网络从空闲到拥塞再到空闲的干扰背景。

图4 不同拥塞控制算法下接收端的吞吐量变化

图4的测量结果可以看出,在网络空闲状态,ARUDP能够充分地利用网络,当网络即将发生拥塞时,ARUDP根据相对单向队列时延检测网络拥塞,能更好地判断网络的拥塞状况,此外采用A-AIAD自适应的速率控制方式进行速率调整,使得速率的变化较平缓,具有更公平地利用网络带宽和更稳定的网络传输优势。然而基于丢包率的拥塞控制在网络发生拥塞后10 s左右才采取措施,无法做到拥塞的早期检测。基于往返时延的拥塞控制通过发送端向接收端定时发送探测包来估算往返时延,理论上做到了拥塞的早期检测,但是在具有大量指挥控制与态势感知等信息交互的复杂指挥控制网络中,往返时延是很难计算准确的,其表现出的不稳定性将导致每个时段的发送速率方差较大,从而造成吞吐量的抖动。

图5 不同拥塞控制算法下UDP流的丢包率

在图5的测量结果中显示,在瓶颈链路出现严重拥塞时,由于基于丢包率和基于往返时延的拥塞控制数算法拥塞检测不及时,算法出现接近2%的丢包率,而本文采用的基于相对单向队列时延的拥塞控制算法根据判断拥塞级别,对网络状况的感知比其他两种好一些,将丢包率控制在较小的范围内,改善了算法的灵敏性,并且有效地利用了网络资源,提高传输效率。能有效地解决指挥控制网络多对一传输的收敛特性和带宽资源的限制造成的网络拥塞,降低了分组丢失和队列时延,保证了指挥控制网络的通信流畅。

4 结论

针对指挥控制网络对网络数据实时性及可靠性高的实际需求,本文根据网络相对单向队列时延检测网络状态,使发送端能及时了解网络拥塞状况,动态调整数据的发送速率;根据UDP可能出现乱序传输的问题,提出了基于乱序重构管理机制,保证数据的可靠性。仿真实验表明,ARUDP改善了降低了丢包率,提高了吞吐量等性能,有效地利用了网络的带宽,传输效率更高,具有较强的拥塞自适应能力,比较适合指挥控制网络对带宽资源的需要。

参考文献:

[1]POSTEL J.User datagram protocol[J].IETF,1980(2):768.

[2]王艳芳,戴永,刘东华,等.基于UDP的数据可靠传输技术研究与应用[J].计算机工程与应用,2010,46(3):105-108.

[3]GU Y H,GROSSMAN R L.UDT:UDP-based data transfer for high-speed wide area networks[J].ComputerNetworks,2007,51(7):1777-1799.

[4]赵福奎,卢雷.基于CPN的RUDP建模与分析[J].计算机工程,2012,38(20):290-293.

[5]WAGNER M,KOPILOVIC I.Towards an RTP profile for IPTV[J].IEEE Transactions on Broadcasting,2009,55(2):343-352.

[6]牛同壮,徐世波.基于UDP的被动式可靠报文传输协议研究[J].计算机应用与软件,2013,30(10):232-235.

[7]靳海力,李俊.具有补发机制的增强型可靠UDP的实现[J].小型微型计算机系统,2010,31(5):904-907.

[8]任勇毛,唐海娜,李俊,等.高速长距离网络.传输协议[J].计算机学报,2010,21(7):1576-1588.

[9]BEN E,HE X B,WU Q S.Performance adaptive UDP for high-speed bulk data transfer over dedicated links[C]// Proceedings of the 2008 IEEE International Symposium on Parallel and Distributed Processing,2008:1-10.

[10]李如玮,鲍长春.VoIP丢包处理技术的研究进展[J].通信学报,2007,28(6):103-110.

[11]冯伟,陈元琰,王斌,等.基于往返延迟抖动区分丢包的TCPW 改进[J].计算机工程与设计,2011,32(4):1203-1206.

[12]朱利,周俊辉,郑志军,等.基于往返时延的自适应拥塞控制研究[J].计算机学报,2000,23(7):705-710.

[13]李一鸣,任勇毛,李俊.基于UDP的传输协议性能比较与分析[J].计算机应用研究,2010,27(10):3906-3910.

中图分类号:TP393

文献标识码:A

文章编号:1002-0640(2016)04-0157-04

收稿日期:2015-03-08修回日期:2015-04-13

*基金项目:国家“863”计划基金(2013AAXX);辽宁省教育厅科学技术研究基金资助项目(L2014495)

作者简介:陈波(1972-),男,四川武胜人,教授,博士。研究方向:指挥控制网络。

Command and Control Network Data Transmission Protocol Based on ARUDP

CHEN Bo1,TAO Wei1,WANG Yun-ming1,2
(1.School of Information Engineering,Dalian University,Dalian 116622,China;2.School of Automatic,Nanjing University of Science and Technology,Nanjing 210094,China)

Abstract:Aiming at the command and control network using UDP protocol has the problem of long delay and high packet loss rate for large data transmission,an improved ARUDP(Augmented Reliable UDP)protocol based on UDP is proposed.The protocol for the exist in transmission process of UDP arrived disordered,an management mechanism of out-of-order reconstruction is put forward and the packet loss rate is reduced,detect the network status based on the network relative state one-way queue delay,and the use of improved A-AIAD control method of adaptive adjustment of the data transmission rate,reducing the queue delay and improve the data transmission efficiency.Simulation results show that the ARUDP protocol's sending rate smoothly while maintaining the UDP high efficiency.It also improves the transmission reliability and real-time,reduces the network packet loss rate and improves the utilization ratio of network resource.

Key words:command and control network,ARUDP,congestion control,out-of-order reconstruction