柏长帅,孙荣平,曲媛媛
(1.海军航空工程学院 青岛校区,山东 青岛 266041;2. 91033 部队二大队三中队,山东 青岛 266041)
近几年,数据链在空战中的重要性日益突出,以美国为代表的世界军事列强都在加快对航空数据链的开发研究。由于空中飞行器的移动速度极快,飞行轨迹无章可循,这就使得数据链网络拓扑结构呈高动态的变化,各个飞行器必须具有分布控制和多跳组网的能力,而目前使用的航空数据链网络在运行中仍然依赖航空中主节点和地面固定基站的支持,节点的拓扑结构和通信链路也是预先设定好而不可变的,所以不能完全满足战时航空数据链应用的需求。基于MANET 的航空数据链网络正是在此背景下提出。
数据链(data link,DL)又称战术数字信息链(TADIL)或战术数据链(TDL)是链接数字化战场上的指挥中心、作战部队、武器平台的一种信息处理、交换和分发系统,是采用无线网络通信技术和应用协议,实现机载、陆基和舰载各类信息源和数据终端互联互通,从而最大限度地发挥作战效能的信息系统[1-2]。航空数据链即为主要应用于空地、空空节点间的数据链网络,其结构如图1 所示。
图1 航空数据链网络示意图
移动无线自组织网络(mobile ad hoc network,MANET)是一种多跳、无中心、自组织无线网络,其整个网络没有固定的基础设施,又称为多跳(multi-hop network)、无基础设施网(infrastructureless network)或自组织网(self-or-ganizing network)[3]。MANET 具有其独特的优点,首先MANET 中的每个节点可以自由移动,通过无线连接组成任意的网络拓扑结构,这就使得它具有很高的生存能力和灵活性。其次,MANET 中的节点除了具备普通的终端功能外,还具有路由和报文转发的功能,因此特别适合用于机动通信和不易建设固定通信设施的特殊场合。所以将MANET 用于航空数据链中可以适应空战环境瞬息万变的特点,保证空地、空空之间战术信息的实时传递。
MANET 对用户来说是一个复杂的网络系统,将其应用于航空数据链仍有许多关键技术有待进一步研究解决,其中传输控制协议(transmission control protocol,TCP)的应用就是研究热点问题之一。TCP 是一个根据有效网络带宽控制其承载载荷(通过调整其窗口大小)的自适应传输协议,一种面向连接的可靠传输层协议,最初是针对有线网络而设计的。传统TCP 认为丢包的原因是由于网络拥塞所导致。在MANET 中,无线链路的高误码率和节点高速移动等会导致丢包,多路径路由和节点路由切换等会导致乱序。而TCP 并没有考虑非拥塞因素所引起的乱序和丢包,如果不加改进地把传统TCP 应用于MANET 中,它会把非拥塞乱序和包丢失也当作是网络拥塞导致,从而错误地进入拥塞控制机制,这将导致航空数据链吞吐量减小,性能下降,严重影响网络的效能[4-5]。
TCP 协议在无线自组织网络中的性能有明显的下降,这是因为TCP 面临着MANET 网络中固有的一系列问题,这些问题使得传输层以下的网络架构不像有线网络的情况那么理想化。
MANET 网络的资源非常有限,而且随着节点的增多以及TCP 流发送端和接收端跨度的增加,网络有效带宽将变得很小;另外,,传统TCP 发送端的cwnd 往往趋于一个较大的值,拥塞窗口控制算法在MANET 中显得过于激进,这会严重加剧MANET 中的拥塞。
MANET 网络采用无线链路进行数据传输。无线链路是开放的有损传输媒介,影响其质量的因素有很多,如多径衰落、阴影效应和噪声等,使之具有比较高的比特误码。而比特误码会引起数据报文的丢失和延迟。如果网络出现了比特误码,TCP 会认为是网络出现了拥塞,这样会使TCP 频繁调用慢启动算法,造成TCP 吞吐量的下降[6]。
由于节点的自由移动加上无线信道的竞争,常常造成路由失效。当路由中断后,在新的路由没发现之前,不应该立即重传数据报文,因为重传仍然到达不了目的节点,网络资源被浪费。当路由恢复后,TCP 进入慢启动阶段降低数据的发送速率。传统的TCP 协议不能检测路由中断是否恢复,只在RTO 超时后重发丢失的数据报。当节点移动的频率比较高时,路由频繁失效会极大地降低TCP 在MANET 网络的性能。
由于节点可以随意地移动位置,有时位置的移动常常会引起网络分割的问题。网络分割就是由于节点在移动后导致某条链路断开,网络被分割成2 个独立的网络,如图2所示。
图2 网络分割
在MANET 网络中,往往使用多路径路由协议(如TORA:temporally-ordered routing algorithm)来解决因节点移动而导致的路由中断,而路由的频繁切换容易产生数据报乱序问题,这会引起重复确认ACK 事件,发送端也会进行重传。这不仅浪费了网络资源,而且可能会因为进入拥塞避免阶段而降低TCP 的吞吐量[7]。
在MANET 中,由于节点所处位置的不同,TCP 会出现短期不稳定性或长期不兼容性。隐藏点问题将加剧短期的不公平性,同时也让一些节点长期竞争不到信道[8]。
针对MANET 网络环境下,传统的TCP 性能下降问题,近年来,国内外研究人员对此进行了大量的研究和探讨,提出了许多TCP 优化方案,TCP 优化方案分类如图3 所示。
图3 TCP 优化方案分类
网络反馈的优化方案主要利用OSI 参考模型中2 层或2层以上的信息交互来完成,通过下层代理为上层提供更多的信息(例如指明丢包的非拥塞原因)来协助上层更好地识别网络状态和数据传输情况。
TCP-F(tcp-feedback),如图4,当中间节点检测到当前路径出现故障,立刻向发送端发送路由不可达通告RFN(route failure notification)。发送端接收到RFN 后,进入冻结状态(冻结当前的状态变量),并停止发送数据分组。当发送端接收到中间节点发送的路由重建通告RRN(route re-establishment notification)时,立刻解冻并按之前的状态变量传输数据。为了防止TCP 一直处于冻结状态,当收到RFN 时,TCP发送端开启路由故障计时器,一旦路由故障计时器超时,则认为网络发生了拥塞,拥塞控制机制被触发。通过仿真表明,TCP-Feedback 方案与原始TCP 相比,明显提高了MANET的吞吐量,使得TCP 发送端在路由重建后能够继续以较大的窗口进行分组传输。
图4 TCP-F 工作流程
ATCP(Ad hoc TCP)[9]:在发送端的传输层和网络层之间插入中间层ATCP,该中间层监听来自网络层的信息。发送端TCP 具有3 个状态:坚持状态(persist state)、拥塞控制状态、重传状态。当发送端接收到来自ICMP 的“主机不可达”消息时,TCP 进入坚持状态(探测路由是否重建),保存当前状态变量,直到收到路由重建通告再发送分组。当收到显式拥塞通告(ECN)时,TCP 拥塞控制机制立即被触发。TCP通过监测接收到的重复确认分组Ack 数量来判定信道的优劣。当ATCP 收到3 个重复的分组确认ACK 时,TCP 进入重传状态并重传丢失的分组直到收到下一个分组确认。ATCP不仅可以解决TCP 在MANET 网络中因网络拓扑频繁变化导致的路由故障问题,还可以解决诸如高误比特率,网络拥塞,以及分组排序的问题,这使得ATCP 方案大大提高了TCP在MANET 中的性能。
EPLN and BEAD(early packet loss notification and best-effort ack delivery)[10]:核心思想是中间节点一旦检测到数据分组丢失便会通知发送端,一旦检测到确认分组丢失便会利用缓存路由重传确认分组。研究人员考虑3 种分组可能遇到路由故障:数据分组(data packets),确认分组(ACKs)以及分组丢失通告(packet loss notifications)。网络层总是尽它的最大努力让TCP 发送端知道数据分组丢失的发生,它也会重传ACK。这2 种反馈机制能够适用于任何路由协议,因为它们解决了网络层常见的问题——路由故障导致的分组丢失。路由缓存在这两种机制中扮演了很重要的角色。通过和TCP-ELFN 进行对比,结果表明应用了EPLN 和BEAD 机制的TCP 性能比应用了TCP-ELFN 机制的性能有了30%的提高,把TCP-ELFN、EPLN 和BEAD 3 种机制组合起来的性能提高了70%。实验表明这2 种机制在节点高速移动(20 m/s)的情况下也表现出了良好的性能。
端到端的优化思想与基于网络反馈的改进思想不同,直接对传统TCP 协议进行改进,包括对拥塞机制和发送窗口的改进,使其更好地支持MANET 中TCP 传输的需要。
Fixed RTO[11]:不需要网络层信息的反馈,而是根据MANET 网络的特点对标准TCP 进行了一定的修改。当连续两次发生超时事件时,发送端TCP 假定网络路由出现了故障,并立即重传未被确认的分组,但是重传计时器并不加倍而是保持原值直到收到重传分组的确认。通过仿真表明,采用按需路由协议时RTO 技术使得TCP 性能有所提高。
TCP DOOR(tcp detection of out-of-order and response)[12]:通过检测收到的分组是否存在“OOO”来判断路由是否出现故障。在发送端,TCP 通过确认分组ACK 的序列号来检测乱序事件是否发生,因此需要在ACK 分组中添加一字节字段ADSN (ACK Duplication Sequence Number,ACK 分组序列号),接收端每确认一个分组,都会增加ADSN 值,这样使得发送端能够依据此字段来检测收到的重复ACK 是否乱序从而判断网络是否出现故障。对于接收端,TCP 需要两个字节字段TPSN(tcp packet sequence number,TCP 分组序列号)来检测乱序事件。每发送一个分组,TPSN 均增加,不管这个分组是否是重传的。接收端检测到乱序事件发生时,便通过在ACK 分组头部设置OOO 位向发送端告知乱序事件发生。TCP 发送端得知乱序事件发生时,有2 种反应机制:临时屏蔽拥塞控制机制和拥塞避免间的快速恢复机制。临时屏蔽拥塞控制机制是指发送端在特定时间内(T1)屏蔽掉拥塞控制机制从而保存当前状态变量。拥塞避免间的快速恢复机制是指如果在此之前的特定时间内(T2),TCP 启用了拥塞控制机制,则TCP 发送端应立刻恢复到启用拥塞控制机制之前的状态(T1和T2被设置为了RTT 的函数)。仿真表明TCP DOOR 比TCP 性能提高了50%,但若在自组网中采用多径路由进行数据传输则会导致更多的乱序事件发生,此时如何区分分组乱序事件的缘由则有待进一步的研究。
TCP 缓存方案保持了TCP 端到端的语义,在中间节点增加探测代理机制,用中间节点来缓存探测数据包的发送和确认信息,使中间节点能准确区分拥塞或其它原因产生的传输错误,根据情况决定是否重发缓存中的数据包,并提供选择性的重发。
TCP-BuS(tcp buffering capability and sequence information)[13],同TCP-F 一样需要与中间节点的合作,新增2 个分组类型:显式路由故障通告和显式路由重建通告。但是不同之处在于TCP-BuS 提高了移动节点的缓存能力,在路由重建过程中,从源节点到中间节点的分组被缓存起来,当路由重建以后,继续发送这些被缓存的分组。通过仿真表明,基于ABR(associativity-based routing)协议,TCP-BuS 明显优于标准TCP 和TCP-F 的性能。然而,遗留的问题是在新的路由长时间不能够重建的情况下,这些分组是继续缓存还是丢弃的解决方案。
Split TCP[14]:引入分割TCP,目的是把逻辑上多跳的TCP 连接分割成短的局部分段,提高TCP 连接的吞吐量和解决TCP 的不公平性问题。代理节点(同属于2 个局部分段的中间节点)截获TCP 分组并缓存它们,然后向发送端或者前面一个代理节点发送一个本地LACK。同样,代理节点也能够以一定的速率继续传递分组,一旦收到LACK(从下一代理节点或者终端),便释放缓存分组。为了保证源端到目的端的可靠性,仿真结果表明,3 ~5 跳的距离设置一个代理节点对TCP 吞吐量和公平性有很大的改善,采用分割TCP 可提高TCP 性能达30%。但是,这也会导致代理节点需要大量缓存和网络过载,使得代理节点过于复杂。
通过表1、表2 比较跨层方案与分层方案的优缺点。
表1 跨层方案优缺点
表2 分层方案优缺点
跨层方案与分层方案各有利弊,每种优化方案都从不同的角度对其性能有所提升,在今后的研究中,要根据航空数据链的实际需求,着重从减少网络拥塞、减小数据传输时延、提高网络吞吐量等方面提高TCP 的性能。
[1]王莹.战术数据链Link11 的仿真研究[D].成都:西南交通大学,2008.
[2]张磊.航空数据链组网技术研究[D].西安:西安电子科技大学,2010.
[3]王旖. 无线移动自组织网络[J]. 科技向导,2011(17):326.
[4]倪长宝.Ad Hoc 网络TCP 性能分析及改进研究[D].大连:大连理工大学,2012.
[5]孙长永.无线移动自组织网络传输控制协议分析研究[D].成都:电子科技大学,2010.
[6]张晓琴,梁靓.MANET 中TCP 性能改进研究[J].通信技术,2009(7):239-241.
[7]孙伟,温涛,郭权.MAENT 中TCP 数据包的乱序问题及其解决方案[J].计算机科学,2009(8):82-85.
[8]任伟,金海.TCP 在多跳移动Ad Hoc 网络中的公平性研究[J].计算机工程与科学,2007(9):1-8.
[9]Liu J,Singh S.ATCP:TCP for mobile ad hoc networks[J].IEEE JSAC,2001,19(7):1300-1315.
[10]Xin Yu.TCP performance over mobile ad hoc networks[J].MobiCom’04,Philadelphia,Pennsylvania,2004(1):26.
[11]Dyer T,Boppana R.A comparison of TCP performance over three routing protocols for mobile ad hoc networks[C]//In Proc.of ACM MOBIHOC. Long Beach,CA,USA,2001:56-66.
[12]Wang F,Zhang Y.Improving TCP performance over mobile ad hoc networks with out-of-order detection and response[C]//In Proc.of ACM MOBIHOC.Lausanne,Switzerland,2002(7):217-225.
[13]Kim D,Toh C,Choi Y.TCP-BuS:Improving TCP performance in wireless ad hoc networks[J].Journal of Communications and Networks,2001(7):175-186.
[14]Kopparty S,Krishnamurthy S,Faloutous M. Split TCP for mobile ad hoc networks[C]//In Proc. of IEEE GLOBECOM.[S.l.]:[s.n.],2002.
[15]杨光,周经伦,王文政.数据链仿真研究[J].火力与指挥控制,2011(5):4-7.
[16]王永安,李世忠,关成斌.数据链航迹与ESM 间断航迹融合跟踪精度研究[J]. 海军航空工程学院学报,2012(4):401-408.