基于NS-3的声电协同网络实现及路由性能分析
2022-06-25江子龙钟雪峰陈芳炯官权升
江子龙 王 焱 钟雪峰 陈芳炯*④ 官权升 季 飞
①(华南理工大学电子与信息学院 广州 510641)
②(东莞理工学院计算机科学与技术学院 东莞 523808)
③(自然资源部海洋环境探测技术与应用重点实验室 广州 510641)
④(通信网信息传输与分发技术重点实验室 石家庄 050081)
1 引言
海洋蕴含着丰富的资源,具有极高的科研与经济价值[1]。人类对海洋的开发与研究逐渐具有面向远洋、走向深海的趋势。在这样的趋势下,水下无线通信设备自组织构成的通信网络是不可或缺的基础设施。
目前,水下通信的主要手段包括超低频无线电通信、水下可见光通信、磁感应通信与水声通信等。其中超低频无线电需要耗资巨大的配套设备,仅限于军用[2]。而水下可见光通信与磁感应通信都仅适用于短距离的高速传输[3-5]。水声通信是目前水下中远距离无线通信的主要手段,其有效传输距离可达千米级。但声信号在水中传播速度相较于光速慢5个数量级,水声信道存在严重的路径损耗、多径效应、多普勒效应及其他噪声等问题,水声信道的可用带宽极其有限[6]。
在常见的水声通信网中,常会使用数个同时配备无线电与水声收发机的浮标节点用于信息在不同介质载体之间切换。浮标节点联结水下声通信网络与水面无线电网络形成声电混合网络[7]。大量的水声网络研究都是考虑使用这样的声电混合网络,实现水下数据的长期采集与水下环境的实时观测。这种场景中的信息流一般是水下节点到水面浮标的单向传输,其中水声路由协议的设计目标是减少转发次数完成数据从水下递送到水面浮标。而水面浮标作为水声网络的信宿,极少参与到路由协议的运作中。
在水下考古、水下沉船考察和水下矿产资源勘探等应用场景中,为了提升工作效率,往往需要多个自主水下机器人进行协同作业[8];而在未来海洋监测网络的建设中,由于条件限制,需要多个相隔甚远的水下节点协同执行监测任务。例如,在分布式海洋监测网络中多个观测节点需要协同、持续对目标进行跟踪监测。在这种场景下,为水下终端之间提供高速、低时延的通信服务有着现实的研究需求。与水声链路相比,水面无线电链路具有更加优异的性能表现。因为无线电链路协助水声链路进行信息转发,可以弥补网络中水声链路的性能短板,从而提高网络的总体性能。在这种思想的指导下,声电协同网的概念被提出[9,10]。
合理的路由协议可以充分发挥网络的性能。目前,声电协同网中的路由问题研究还没有充分展开,迫切需要找到一种适合在声电协同网中使用的路由协议。基于矢量的转发路由协议(Vector Based Forwarding, VBF)是一种基于向量转发的经典水下路由协议[11],其特点是在源节点与目的节点之间建立一个虚拟管道,这样才能使管道中的节点有机会参与数据转发。基于每一跳节点的矢量转发路由协议(Hop-by-Hop Vector-Based Forwarding, HHVBF)是根据VBF改进而来的,其工作原理是在每次转发中都重新建立虚拟管道,以增强路径的指向性,提升转发效率[12]。VBF及其衍生协议限制了数据转发的区域,有效减少了能量损耗。但其在路径选择时依赖地理位置信息,这在水下环境中是较为困难的。基于深度的路由协议(Depth-Based Routing,DBR)是一种基于深度信息进行路径选择的路由协议[13]。传感器节点根据自己的深度和上一个转发者的深度,做出数据包转发决策。DBR协议依赖深度信息进行数据转发,使用场景仅限于水下传感器向水面浮标的单向传输,无法普遍应用于水下节点之间的通信场景。
与水下路由协议相比,Ad-hoc路由协议更具普适性,所以本文中选择Ad-hoc协议作为研究对象。无线自组网按需平面距离向量路由协议(Ad-hoc On-demand Distance Vector routing, AODV)是一种经典的Ad-hoc被动路由协议[14],被动路由的特点是当有通信需求产生时才发起路由建立过程。AODV具有可靠性高和低冗余数据包的优点。本文分析了AODV协议,发现AODV的距离向量度量在声电协同网(Coordinate Radio-Acoustic Network,CRAN)中可以优先选择无线电链路进行信息传输,从而提升网络的传输性能。在仿真验证中,选取了以OLSR为代表的主动路由协议作为对比[15]。主动路由的特点是主动建立并维护网络中的全局路由。优化链路状态路由协议(Optimized Link State Routing, OLSR)的优点是在产生通信需求时,立即可以找到可用路由进行发送;缺点是路由建立维护所需信令开销较大,在水声通信中使用容易引起数据包碰撞,严重时甚至导致路由无法成功建立。
本文其余部分安排如下:在第2节介绍声电协同网络的设计思想;第3节介绍声电协同网络中声电浮标节点、声电混合协议栈、数据包和队列的设计与在NS-3网络仿真器中的实现;第4节基于声电协同网,对AODV协议进行分析;最后,本文在网络模拟器3(Network Simulator, NS-3)中选取AODV和OLSR协议, 分别在水声通信网和声电协同网中进行仿真分析。
2 声电协同网络
从网络的组成结构上来说,目前常用的海洋信息传输网是水声通信网与无线电网络共同组成的异构混合网络。其中,浮标节点是网络中完成信息跨介质间传输的关键节点。在现有的研究中,声电混合网络被视为是两个独立网络分别开展研究[16]。浮标节点作为水声数据包的信宿和无线数据包的信源,承担混合网络之间的数据中继任务。在这种网络架构下,信息流的传输往往是水下终端至水面浮标的单向传输。海洋信息传输网的瓶颈在于水声通信网,其路由在寻路的过程中无法有效地整合无线与水声链路资源,这限制了网络中端到端的链路性能。然而,随着研究的进步,越来越多的应用场景需要考虑水下终端之间、水下终端与水面终端之间的双向信息交互。因此,CRAN目的在将水面无线电网络与水声通信网进行深度的融合。CRAN利用水面无线电网络快速、高效的传输特性来改善水声通信网的性能,为水下终端之间、水面与水下终端之间的双向信息传输场景提供高速、低时延、高传输成功率的通信服务。
以图1中场景为例,节点1需要与节点3执行协同水下科考任务,这需在节点1和节点3之间建立通信链路。在水声通信网中,节点1发送的数据包需要通过节点2向节点3转发。在CRAN中,节点1发送的数据包将沿着1-4-5-6-3的路径转发。在这一转发过程中,节点1首先将数据发送至水面浮标网关节点,浮标网关节点通过水面无线电链路转发数据包,然后再将数据包回传至水下,最终由节点3完成接收。虽然CRAN中的数据传输过程比在UAN中需要更多的转发跳数,但却可能比在UAN中拥有更短的时延与更高的传输成功率。同时,更多的数据包通过水面无线电链路进行转发,也可以降低水下节点的能量消耗。
图1 声电协同网络架构
3 声电协同网络在NS-3中的实现
在传统水声通信网络的研究中,水声网络协议更倾向于关注水下传感器向水面浮标节点的数据发送过程,较少考虑无线电链路的参与。因此,浮标节点常常被分别抽象化为1个水声网络中的节点与1个无线网络中的节点。水声网络节点作为水声通信网的信宿,无线网络节点则作为无线电网络的信源。而在CRAN中,需要考虑水面无线电网络与水声通信网的有机融合,因此需要将水声设备和无线设备集成到同一个节点容器中,从而使声电浮标节点具备设备切换和选择的功能。由于CRAN在网络层及网络层以上进行了融合,需要设计适用于CRAN的协议栈。进一步地,在浮标节点中由于配备了两套速率差距极大的通信设备,可能会出现速率失配的现象,因此需要设计相应的队列缓存数据。
3.1 节点构造
CRAN中有两种不同的节点类型,本文在NS-3中分别对这两种节点进行了建模,如图2所示。水下节点是携带水声通信设备的单模节点,可以使用水声信道进行通信。声电浮标节点是一种同时集成了水声网络设备与无线电网络设备的双模节点,可以同时使用水声信道和无线电信道进行通信。水声信号和无线电信号在声电浮标节点中进行融合与转发。
图2 声电协同网络中的节点
3.2 声电协同网络协议栈
声电浮标节点协议栈具体架构如图3所示,应用层使用网络套接字进行数据包的发送和接收。传输层采用了用户数据报协议(User Datagram Protocol,UDP),协议提供无连接的传输层服务,以减少控制信令的发送以降低能耗。在CRAN中有两种不同的链路存在,即实现两种链路间的信息交互。由于网络层与各层之间不存在耦合的关系,所以本文将两种链路的数据在网络层统一为IP数据报文,实现了水声信息与无线电信息在CRAN中的交互融合。声电浮标节点拥有两个IP地址,在网络中承担网关的工作。链路层的水声设备中本文采用无确认的Aloha协议,这种简单的介质访问控制(Media Access Control, MAC)协议可以更加直观地对网络本身的性能进行分析。
图3 声电浮标节点协议栈
声电浮标节点的无线电物理层使用IEEE 802.11b模式,在物理层的设备使用信噪比作为判断数据包接收成功或失败的参数。水声网络设备的物理层同样使用信噪比来判定信号是否能被成功接收。在水声信道中,本文使用Thorp传播模型来计算信号在水声信道中的传输损耗。当信号频率f≥0.4 kHz时,水声信号的能量吸收系数∂(f)可由式(1)表示,当信号频率f<0.4 kHz时,∂(f)可由式(2)表示
如图4所示,声电浮标节点中有两种缓存队列。一种是网络层缓存队列,另一种是MAC缓存队列。网络层缓存队列的作用是在路由还未建立时,存储已经产生等待发送的数据包。MAC缓存队列用来存储物理层设备未及时发送的数据包。所有的队列依据先入先出的准则,当队列被数据装满时,位于队列尾部的数据将最先被丢弃,这种队列也被称为丢尾队列。
图4 声电浮标节点中的队列设置
声电浮标节点根据路由协议,选择可达下一跳节点的发送设备进行数据包转发。声电浮标节点中同时集成着水声通信设备和无线电通信设备,在这两种设备中分别有一个MAC缓存队列。水声通信机发送数据的符号速率低,通常在数百bps至数十kbps数量级之间。在水声通信系统中,可能会出现物理层的发送速率跟不上更高层数据产生速率的情况,因此需要在链路层设置MAC缓存队列。
4 声电协同网中的路由协议分析
现有水声路由协议如DBR, VBF以及它们的衍生协议中,大部分基于特定的应用场景或需要节点的位置信息。本文重点关注适用于一般CRAN的路由协议。下面将分析无线自组网经典AODV路由协议在CRAN的应用。
4.1 无线自组网路由协议
无线自组网路由协议相比于水声路由协议具有更广泛的适用性。但是在水声通信网中,由于信号传输速度慢,在信令和数据的传输过程中容易引起碰撞,导致路由建立失败。AODV是一种被动路由协议,在有数据包发送时才检查源节点是否存在到达目的节点的路由链路。如果路由链路存在,则发送数据包;如果不存在到达目的节点的路由链路,则需要建立新的连接;等连接完成后,再发送数据包。按需路由机制不需要水下节点维护全量的路由表,这在一定程度上减少了路由发现与维护的通信开销。AODV协议使用序列号机制,每个路由请求都会有一个序号,节点使用序列号机制避免重复响应相同的路由请求。
AODV使用距离向量作为度量标准选择下一跳节点。图5所示的通信场景描述了在相同传输介质中,距离向量度量优先选择直达径,实现最短时延路径选择的原理。节点2和节点3都在节点1的通信范围之内,节点1发出的信号直达径先到达节点3。由于序列号机制的使用,节点3不再响应后到达的转发径信号。在以电磁波为信息载体的有线或无线链路中,直达径的时延要小于转发径的时延,更多的转发次数带来更长的时延。AODV实际通过选择最少时延的链路来实现距离向量度量,表现为最短时延路径等效于转发次数最少的路径。
图5 相同信道中的数据转发
而在CRAN中,时延最短的路径不一定是转发次数最少的路径。注意到在CRAN中,无线电链路的传输速度要远大于水声链路的传输速度,AODV在路径选择时的最短传输时延度量方式将会优先选取水面无线电链路进行转发,这与CRAN中优先选择无线电链路转发数据的标准相符。由此本文推断,AODV协议与CRAN配合使用可以降低水下终端间的通信时延,同时减少水下碰撞发生概率从而提高数据包传输成功率。
4.2 AODV路由建立过程
本节将比较AODV在水声通信网与CRAN中的路由建立过程。首先介绍AODV的路由选择度量如何优先选择无线电链路,然后说明CRAN相比于水声通信网在路由建立用时、通信时延和数据包投递率等方面的性能提升。
AODV属于表路由协议,当有数据包需要发送时,通过查找路由表来确定目的地址和下一跳网关地址。协议通过周期性广播hello信息来维护其邻居列表。源节点有信息发送需求时,首先查找节点自身的路由表中有无到达目的节点的路径。若路由表中存在到达目的节点的路由,则按照路由建立的路径进行转发。若路由表中不存在到达目的节点的路径,源节点首先将产生的数据包放入网络层缓存区中,然后发送路由请求消息(Route REQuest, RREQ)开启路由探测过程。
图6展示了AODV在CRAN和水声网络中的路由建立时序。其中水下节点被标记为红色,声电浮标节点被标记为绿色。节点S为源节点,节点D为目的节点。
在图6(a)中,当水下源节点S需要向目的节点D发送数据包时,首先查找路由表中是否有可达目的节点D的路由。若存在到达D的路由,则按照路由对数据包进行转发;若不存在到达D的路由,源节点S首先将数据包放入队列缓存,然后送RREQ报文开启寻路过程。
图6 AODV路由建立过程时序图
RREQ按照S-I-J-K的路径被转发,由于在RREQ到达K时,K查找路由表发现目的节点D是其邻居节点,节点K按照原路径,向源节点S发送路由应答RREP(Route REPly)消息建立路由。源节点S收到RREP消息后完成路由建立,并将数据包从缓存中取出,按照路由表中的路径发送到目的节点。
在图6(b)中,源节点S需要向节点D发送数据,节点S首先查找自身的路由表,没有发现指向节点D的路由,S将数据包放入网络层缓存中,并发送RREQ开启路由建立过程。浮标节点A为S的邻居节点,A在收到S发送的RREQ时,判断自己不是目的节点,同时A的路由表中不存在到达目的节点D的路由,这时A需要对RREQ进行进一步转发。声电浮标节点A使用无线电链路和水声通信链路同时转发RREQ消息。
由于无线电的传输速度远大于水声信号的传输速度,浮标节点B的无线电接口首先收到A转发的RREQ消息,由于浮标节点B的路由表中也没有到达目的节点D的路由信息,浮标节点B执行与A相同的转发操作。浮标节点C的无线电接口首先收到B转发的RREQ消息,节点C查找自身路由表时发现目的节点D是自己的邻居节点,此时节点C按原路径C-B-A-S向源节点S发送RREP消息。源节点收到RREP后更新路由表,路由建立完成。源节点从缓存中取出数据包,按照建立的路由进行数据包转发。
从图6中可以看出,由于水声通信具有较长的时延,水声网络中的路由建立需要较长的等待时间。同时路由建立过程需要大量的信令交互,水声通信中大量的信令及数据交互容易造成碰撞,从而导致通信的失败,这也是传统无线自组网路由协议难以直接在水下环境中应用的原因之一。在CRAN中,水面无线电网络承担了部分水下信令与数据的传输压力,可以降低水声通信网中碰撞发生的概率。同时,水面无线电网络利用其高速传输的特性,降低了路由建立用时,同时也可以改善数据包传输的时延特性。
5 仿真与结果分析
本研究采用的仿真工具是NS-3网络仿真平台,网络中设置了40个水下节点,这些水下节点在10 km× 5 km的海底平面上随机布放。水面无线电网络的连通是CRAN发挥性能的关键。为了保证水面无线电网络的连通,在浮标节点数量较少时,需设置较大的无线电传输范围。因此,在4个浮标节点的CRAN中,本文设置了8 km的无线电传输距离;较远的通信距离对设备及信道的要求较高。在节点密度较大时,减小传输距离是更经济的选择在8个浮标节点的CRAN中,本文使用5 km的无线电传输距离。仿真使用了AODV为代表的被动路由。协议,同时选取了经典的主动路由协议OLSR作为对照。实验模拟了水下机器人在水底进行水下遗迹发掘科考的场景,选取了其中4对水下机器人进行数据交互。在仿真中,本文对比分析了不同浮标节点数量和不同发送频率时的投递率、传输时延、网络吞吐量、能效和路由响应速度。每组数据取10次仿真的平均值。其它网络参数设置如表1中所示。
表1 仿真参数设置
5.1 投递率
数据包投递率反映了网络的可靠性和稳定性,投递率越高,说明网络中的数据传输越可靠、网络越稳定。本文将数据包投递率定义为被成功接收的数据包数量与源节点产生的数据包数量之比。
在图7中,随着仿真时间的增长,AODV的投递率不断提升并趋于稳定。随着浮标节点数量的增加,AODV的投递率也随之增加。这是因为增加浮标节点使水下节点有更高的概率可以与水面浮标节点进行连接,AODV的寻路度量也可以优先选择浮标节点作为下一跳的转发网关,这可以利用水面无线电网络更好的通信质量提升数据包的投递率。OLSR协议在水声通信网和CRAN中的数据包投递率表现均低于AODV协议,这是因为OLSR是一种主动路由协议,其特点是路由需建立维护全局路由表,这个过程需要大量的信令开销。在水声链路中,大量的水声信令交互将产生较多的碰撞,将导致低投递率出现。在水声通信网中加入浮标节点构成CRAN提升了OLSR的数据包投递率,但提升不明显,原因在于增加浮标节点数量并不能有效减少水声链路中的碰撞。
图7 不同仿真阶段的投递率
在图8中,无论是AODV协议还是OLSR协议,在CRAN中的表现都要优于在水声通信网中的表现。随着发送频率的降低,AODV的投递率呈上升趋势。原因在于发送频率越高,水下数据包传输过程中的碰撞概率越大。OLSR协议在不同发送频率下的投递率均较低且变化不明显,原因在于大量的碰撞导致OLSR协议难以优先选择无线电链路建立路由。
图8 不同数据包发送间隔下的投递率
5.2 传输时延
在图9中,AODV在水声网络中的传输时延相对较高,而在CRAN中时延特性得到了明显的改善。随着浮标节点数量的增加,AODV协议的传输时延也明显下降,这同样得益于浮标节点对水下终端的覆盖率提升。OLSR在600 s之前传输成功率较低,成功传输的数据包统计样本过少,本文针对600 s之后相对稳定的数据进行统计分析。OLSR协议在CRAN和水声通信网中表现出了低时延特性,这是因为距离远、通信质量差的链路数据包发送失败未被统计,这种低时延的表现以低投递率为代价。在图10中,不同数据包发送间隔下,AODV与OLSR在CRAN中的时延表现均优于在水声通信网中的表现。OLSR表现出的低时延特性的原因与图9中相同。
图9 不同仿真阶段的传输时延
图10 不同数据包发送间隔下的传输时延
5.3 网络吞吐量
本文以单位时间内成功传输的比特数作为网络吞吐量的衡量指标,吞吐量定义为网络中成功传输的比特数与网络运行时间之比。网络吞吐量被用来评估网络数据传输效率的高低。网络吞吐量越高,网络单位时间传输的数据量越大,网络整体性能越好。
预警发布后加强大坝、溢洪道、输水洞、排水沟、滤水坝址等部位的巡视检查,库水位每上升2 m巡查一次,同时监测测压管水位,发现问题及时报告处理。当水位达到89.5 m即溢洪道底坎高程时,加强对溢洪道和闸门的检查,同时注意及时打捞闸门附近的大型漂浮物。
在图11中,随着仿真时长的增加,AODV的网络吞吐量呈现先上升后稳定的趋势,并且浮标节点密度越高,吞吐量性能越好。CRAN对OLSR协议的吞吐量提升在1400 s之前并不明显,在1400 s之后由于CRAN中一些之前未成功建立的路由被建立,提升了传输成功率,从而使吞吐量特性有所提升。随着浮标节点密度的增加,OLSR协议的吞吐量性能提升不明显。
图11 不同仿真阶段的网络吞吐量
在图12中,随着数据包发送周期的增大,CRAN中的吞吐量呈下降趋势,其中AODV在高浮标节点密度高数据包发送频率时的吞吐量特性表现最好,这得益于AODV在声电协同网中的高传输成功率。
图12 不同数据包发送间隔下的网络吞吐量
5.4 能效
本文以每单位能耗传输的比特数作为衡量标准,对网络架构和协议性能进行仿真分析。图13中可以看出在仿真开始阶段,AODV和OLSR在CRAN和水声通信网中的能效特性都表现较差,这是因为在网络运行初期路由未能完全建立,数据包的投递率较低而信令开销较大。路由成功建立之后,能量更多的用于数据包的传输,总体看来能效特性在不断改善。在1400 s之前,OLSR在两种网络中的能效特性均表现较差。在1400 s之后,OLSR在CRAN的能效特性逐渐提升。由图14中可以看出AODV与OLSR在CRAN的能效表现均优于在水声通信网中,且随着浮标节点数量的增加,两种协议均呈现出更好的能效特性。
图13 不同仿真阶段的能效特性
图14 不同数据包发送间隔下的能效特性
5.5 路由响应速度与链路组成
本文中定义路由建立用时为从源节点开始寻路至第1个数据包被成功接收所用的时间。从图15中可以看出,随着浮标节点数量的增加,AODV与OLSR的路由建立用时都呈下降趋势。AODV建立路由所需的时间比OLSR小。但OLSR在路由建立过程中耗时较久,严重影响了数据包的正常传输。由于OLSR在维护水下网络时产生大量信令开销,这些信令的交互产生了严重的碰撞导致通信失败,影响了路由的建立速度。
图15 路由建立用时
图16中展示了路由稳定后的链路组成情况,可以看出AODV协议比OLSR协议更倾向于选择无线电链路建立路由。这得益于AODV相比于OLSR有着更低的信令开销,在路由建立阶段受水声链路碰撞的影响较小。AODV的距离向量度量在CRAN中等效为最短时延度量,而在时延方面,无线电链路远低于水声链路,所以AODV在路由建立时表现出对低时延的无线电链路的倾向性。
图16 活跃路由链路组成
6 结束语
本文对CRAN架构下的自组织网络路由协议进行了研究。针对仿真结果进行统计分析,有以下几点发现:第一,CRAN可以大幅提升水声通信网络的性能。随着水面浮标节点数量的增加,水下节点有更大概率接入水面无线电网络,进而提升网络的传输性能。第二,在CRAN中,以AODV为代表的被动路由协议的投递率、传输时延、网络吞吐量、能效和路由响应速度方面的表现,均优于以OLSR为代表的主动路由协议;第三,仿真中发现,AODV协议运用于CRAN中虽然比在水声通信中有着更好的能耗表现,但是能量开销依然较高。后续研究拟集中于CRAN专用路由协议开发、节点协议栈优化以及报文结构优化。