黄星河 ,李艾静 , ,王 海
(1.中国人民解放军陆军工程大学 通信工程学院,江苏 南京 210007;2.上海交通大学 电子信息与电气工程学院,上海 200240)
随着社会的发展,有限的基础设施已经无法满足人们对于信息获取日益增长的需求。特别是在一些人口稀疏、环境恶劣、基础设施受到严重破坏的地区,如我国西北部地区、汶川灾区以及战场中。在这类地区中,部署基础设施成本高、效率低,人们希望能够出现一种方便部署且成本较低的数据传输网络。随着智能手机、便携计算机、无人机等无线设备的普及,移动无线通信网络的研究越来越受到广泛关注。移动无线通信网络由移动无线节点构成,用户可以在没有基站等基础设施的情况下传输数据,因此移动无线通信网络有希望成为缺乏基础设施地区的新型网络。
移动Ad-hoc网络(Mobile Ad-hoc NETworks,MANET)和延迟/中断容忍网络(Delay/Disruption-Tolerant Network,DTN)是目前发展较成熟的移动无线通信网络架构模型。但是,由于MANET和DTN有着完全不同的网络架构模型与传输模式,导致MANET与DTN在性能特点上各有不同。在节点覆盖率高、节点移动速度慢的网络环境中,节点与节点之间可以形成较稳定的链路。在这种网络中,MANET网络能提供较可靠的通信保证,而DTN由于特殊的传输模式,在链路稳定的网络中相比于MANET效率较低。但是,在用户密度较低、节点运动能力较强的网络中,节点与节点很难形成稳定可靠的链路。在这种网络中,MANET的性能急剧下降,但是此时DTN却能提供较为可靠的通信保障[1]。
DTN与MANET各有优势与不足,两者在性能上可以形成有效的互补。为了能够提高移动节点组网通信性能,本文提出了一种有效利用MANET和DTN的融合网络传输协议。该协议以移动节点的密度和需要发送的数据大小为参考变量,通过制定合适的策略在DTN与MANET中进行切换。通过使用仿真平台进行验证,结果表明提出的自适应融合网络协议能够有效提升无线通信网络的性能。
本文安排如下:第1节介绍了融合网络设计背景以及需要解决的问题;第2节通过仿真平台分析DTN与MANET的网络性能;第3节介绍了自适应网络的协议设计;第4节介绍了仿真实验结果;第5节中总结了未来的研究方向。
在MANET中,所有节点与其他节点交换路由控制消息,并根据从其他节点接收到的消息构建路由表。所有数据都基于建立的路由表选择路径,源节点的数据经中间节点传递至目的节点。如果一条链路断开,则网络根据路由协议重新确定路径至目的节点。源节点和目标节点之间采用双向链接,是端到端数据交互的可靠保证。数据利用协议层在移动网络中传递,协议层为数据在网络中传递提供服务,服务是在服务接入点提供给上层使用的。另外,MANET网络架构中存在许多路由协议与之配套相关。节点通过选择合适的路由方案建立链路,然后将数据传输至目的节点[2]。例如,优化链路状态路由(OLSR)和按需距离矢量(AODV)都是经典路由协议的代表。但是,在不稳定的网络链接中,基于TCP/IP协议的MANET网络无法获得理想的性能。这是因为不可靠的网络连接环境导致节点之间频繁的中断,使得依靠快速返回确认的TCP/IP协议失效,且在这种网络环境中,路由表的准确性在很短时间内会迅速降低,大大降低了网络连接性和可靠性。
DTN延迟/中断容忍网络又被称为机会连接网络,可以工作在缺乏可靠链路的网络中。当源节点有数据需要发送时,数据会被首先存放至节点的Bundle层中。该层位于应用层之下传输层之上,具有缓存数据等功能[3]。Bundle层中的协议代理会查询其自身的路由表,寻找该数据需要转发的下一跳地址。当下一跳节点在通信范围以内时,Bundle层中的协议代理将该数据发送至下一跳节点的Bundle层中。当下一跳节点不在通信范围内时,Bundle层中的协议代理会启动TTL生存时间计时器。如果该数据包在生存时间到期前未能被传递至下一跳节点,那么该数据包会被丢弃。移动节点(如卫星、无人机、汽车、卡车)被用作数据轮渡,以从多个数据源收集、存储和携带数据到目的节点。DTN使用逐跳确认机制与“存储-携带-转发”的传输方式,来对抗网络延迟和中断带来的影响。但是,因为节点使用这种特殊的方式传递数据,所以不能保证端到端的通信。多个相邻节点通过复制数据达到传递的目的,因此在链路可靠的网络中,DTN消耗的网络资源比MANET多。此外,由于所有需要发送或者转发的数据都需要在Bundle层中进行缓存,所以会带来额外的延迟。
DTN与MANET各有优势与不足,因此已经有研究者尝试设计了一系列的协议流程,使用DTN与MANET网络相结合优化全网整体性能。例如,文献[4]采用一种分布式混合方法,将网络架构的选择权分配到所有节点上,每个节点收到数据后会根据自身的网络状态做出决策,选择使用哪种网络体系架构将数据包转发出去;文献[5]对节点进行分组,在组内使用MANET通信,在组与组之间使用DTN通信;文献[6]提出了基于信任度的路由参数计算的混合MANET-DTN候选节点选择机制;文献[7-8]中,节点根据自身状态如缓存区大小、运动速度等和周围的网络环境,选择合适的网络架构传输数据。文献[9-10]使用DTN的主动路由协议配合MANET提高在应急环境下的通信性能。这些方法的基本原理都为当源节点无法找到通往目的节点的可用链路时采用DTN作为备选方案用于数据传输,但是忽略了DTN在传输大数据时的优势和MANET在传输过程中链路中断的风险。因此,设计的融合网络协议仍需要进一步完善。
在MANET网络中,网络的传输效率与节点的密度、通信半径、信道状态等因素有关。为了探究各种影响因素对MANET网络造成的影响,本文进行了一系列实验。
MANET链路上的比特错误需要修正(需要更多比特和更多处理)或重传整个数据包(这会导致更多的网络流量)。当链路错误率一定时,MANET模式下的端到端重传数据量会随着跳数的增加而呈指数型增加。因此,链路的传输性能随着跳数的增加呈指数型下降。为了获得准确的数据,本文在现实中搭建了MANET的实验床测试MANET的网络性能。实验床硬件采用树莓派3B,路由协议使用OLSR路由协议,无线信道使用树莓派自带的WiFi信道。本文使用Iptables通过屏蔽部分节点的MAC地址控制节点形成的拓扑结构。通过收集大量的数据计算均值,得到了链路跳数与带宽的关系,如图1所示。
图1 MANET中链路跳数与带宽的关系
通过收集的数据可以看出,链路跳数是影响DTN与MANET网络性能的关键因素。跳数的增加不仅影响链路的带宽,随着跳数的增加和节点的移动,在数据传输完成前,链路改变的可能性也随之增加,且由于带宽随着链路跳数的增加而降低,导致传输完成时间加长,增加了链路改变的概率。
本文假设节点运动模型,如图2所示。节点相对移动速度为v m/s,数据包在网络拓扑不改变的前提下传输完成需要的时间为t s,节点的通信半径为R m,节点从任意方向角度进入到对方的通信范围。本文首先计算当节点相互位于一跳范围内时数据在传输完成前断开的概率。
图2 节点运动模型
为了简化计算复杂度,本文假设在传输过程中网络的带宽不会随着信道的状态改变而发生改变,且节点只作匀速直线运动。在图1传输模型中,假设一跳的平均带宽为G Mb/s,需要传输的数据包大小为M Mb。因此,预计传输时间t=M/G,源节点会在任意时刻任意位置发送数据。如果在传输数据这段时间内数据节点移出了对方的通信范围,则传输失败。因此,数据传输成功的概率如下:
(1)当vt<2R时,传输成功的概率为0;
(2)当vt>2R时,传输成功的概率为:
MANET端到端的带宽影响因素很多,其中传输经过的链路跳数是一个重要方面。传输过程中,链路的带宽会随着跳数的增加而减小,且其传输链中断的可能性也会大大增加。本文设使用MANET在跳数为n的链路中的传输带宽为Gn,所有节点均相互独立、随机移动,因此得到在传输完成前通往目的节点的链路改变的概率Pn为:
传统的DTN与MANET混合协议,在使用MANET转发过程中,由于节点的移动很有可能造成通往目的节点的可用链路中断或者链路状态变差,造成传输失败。一般情况下,数据包越大,传输的时间越长,链路变化的可能性越大。为了探索使用MANET时数据包大小、节点密度与带宽的关系,本文进行了仿真实验,并且收集了相关数据。如果数据传输前链路存在,在传输过程中链路断开,且无其他可用链路通往目的节点,则传输失败,带宽记为0;如果在传输过程中链路改变为其他跳数的链路,则按照共同传递完成该数据包的平均带宽计算,结果如图3所示。
从图3可以看出,发送数据包大小一定时,全网的平均带宽随着节点密度增加而降低。当节点密度一定时,全网的平均带宽随着数据包的增大而降低。这是由于随着数据包的增大,数据被完全传输完成前链路变化的可能性随之增加,而网络由连接变为中断,或者网络性能变差的可能性也随之增加。随着节点密度的增加,这种变化趋于平缓。因为当节点密度增大时,网络变化的波动幅度会随之变小,链路断开或者更差链路的可能性也随之降低。
与MANET网络不同,DTN是一种机会型网络,其使用“存储-携带-转发”的模式传递数据。因此,DTN的性能与MANET的网络性能会有很大不同。为了探索DTN与MANET性能上的差别,本文在与MANET相同的仿真环境下对DTN进行了测试。DTN使用直接路由算法。这种路由算法只有当源节点与目的节点相遇时才会传递数据。首先,本文将数据包大小固定为100 Mb,寻找节点密度与DTN全网平均带宽之间的关系。本文通过收集在单位时间内到达目的节点的数据量计算均值获得全网平均带宽,仿真结果如图4所示。
图4 DTN全网平均带宽与节点密度的关系
从仿真结果可以看出,使用直接路由方案时,DTN全网的平均带宽与节点密度相关性不强,这主要是因为节点之间独立运动,且选择的目的节点是随机的,所以节点与节点相遇的概率是均等的。因此,得到的DTN全网平均带宽与节点密度没有必然关系。
在理论中猜测DTN的带宽与数据包的大小有关,因此本文更改数据包大小,探索数据包大小与全网平均带宽的关系。仿真环境与上述实验相同,节点数量选择100个,结果如图5所示,并不和预期的一样,DTN的带宽并不会随着数据包大小的增加而一直增加。究其原因,主要是本文使用的是直接路由算法传递数据,只有当源节点与目的节点相遇时才会传递数据,但是当数据包过大时,节点在一跳范围内传输速度有限,且节点相遇时间有限,随着数据包的增大,数据不能在一次相遇的时间内完成传输,当数据包大小超过两节点一次相遇所能传输的极限值后,其平均带宽反而减小。
图5 DTN网络中数据包大小和全网平均带宽的关系
该自适应融合网络协议主要由节点密度、节点速度、节点通信半径、当前通往目的节点可用链路的跳数、当前通往目的节点链路的最大带宽和需要发送的数据包的大小等参数组成。其中,当前通往目的节点链路的最大带宽会随着无人机所处环境的改变出现较大波动,因此该参数具有很强的不确定性。虽然有些研究者提出了一些关于带宽与节点所处网络环境之间关系的数学模型,但是使用这些数学模型会带来两个问题。第一,这些数学模型在估计当前链路带宽时需要大量的周围环境参数,增加了协议设计的复杂度。第二,这些数学模型只是对当前链路带宽的估计,并不能真实反映当前的链路带宽。本文假定节点能通过使用一些辅助软件如iptable等直接测量当前链路的实时带宽,以降低协议设计的复杂度。
当数据需要发送时,源节点首先检查是否有通往目的节点的可用链路。如果没有可用链路通往目的节点,则将该数据存储在Bundle层中使用DTN进行传输;如果有通往目的节点的可用链路,则分别计算使用DTN和MANET的期望带宽,通过选择能够获得更大期望带宽的传输方式将该数据传输至目的节点。
期望带宽的计算由两部分组成。
第一部分,字典建立过程。在先前的研究中发现,MANET网络中影响其全网平均带宽的主要因素为节点密度和发送数据包的大小,如图3所示。而在DTN网络中,影响全网平均带宽的主要因素为需要发送的数据包大小和节点的移动速度,如图5所示。因此,当需要发送的数据包大小、节点的移动速度以及全网无人机密度三个参数确认后,使用MANET和DTN网络转发该数据包的全网平均带宽,便可以通过仿真得到。因此,该自适应融合网络协议假设在无人机网络中所有源节点均预先保留一本字典,该字典记录的内容为在节点密度为m、需要发送数据包大小为d、节点运动速度为s的网络中,使用MANET与DTN网络所能获得的全网平均带宽分为Hm,s,d和Ds,d。
第二部分,根据第一部分建立的字典,将需要发送的数据大小、节点密度以及节点速度映射为全网平均带宽,并根据全网平均带宽计算当前链路的期望带宽。在DTN中,当前链路的期望带宽与全网平均带宽一致,为Ds,d。在MANET中,使用式(2)计算得到使用当前链路传输完成前链路改变的概率P。由于改变的趋势是不确定的,当前链路经过改变后可能变好也可能变差,但是其改变后的带宽期望和全网的期望带宽相同。因此,得到了当前链路下使用MANET发送该数据包的期望带宽为:
其中Hn为当前链路通过iptable等工具测量的实测带宽。
本文利用该协议进行仿真收集的数据,得到使用该协议的全网理论平均带宽,并对传统的未改进的DTN与MANET的混合算法进行了仿真。在上述环境中,假设当节点数为100时收集到了全网平均带宽与数据包大小的相关数据如图6所示。
图6 各网络协议间的对比
从图6可以看出,相比于传统的DTN与MANET混合协议,改进的DTN与MANET的混合算法有效增加了全网的平均带宽,且与传统的DTN与MANET相比,提出的方法在保证数据能够有效到达目的节点的前提下,有效提升了网络性能。
DTN与MANET有着两种完全不同的体系架构和传输模式,各有优势。在可靠网络中,MANET表现优异;在不可靠网络中,DTN能够提供较可靠的通信保证。本文在传统DTN与MANET网络协议的架构基础上,提出了融合网络协议新方法,并且通过仿真实验验证了该理论的有效性。但是,从仿真结果看,相对于其他网络架构,提出的改进的自适应混合网络模型性能提升不明显,这主要是由于本文选择的DTN路由算法效率较低。后续研究中将尝试对不同的路由算法进行分析,得到能获得更大效益的路由算法组合。此外,随着社会的发展,人类对信息的依赖程度越来越高,如何有效提高网络性能是未来很长一段时间需要研究解决的问题。