林碧兰,程 恩,袁 飞
(厦门大学 水声通信与海洋信息技术教育部重点实验室,福建 厦门 361005)
由于军、民两用的迫切需求,水声通信网络已成为水声通信领域的研究热点。水声通信网络包括传感器、水下自治潜器以及水面通信站或水面浮标等各类不同的节点,这些节点的加入对水声网络信息的实时交互以及节点之间通信的协调能力均提出较高要求[1]。由于单个节点的通信范围有限,水声网络通常采用多跳组织形式,以扩大网络的通信距离。
同陆地无线通信相比,水声网络最大的不足有:1)节点仅靠电池供电,能量有限,且回收周期长;2)水声信道带宽窄,数据传输速率低;3)声波衰落速度快,而多跳的结构进一步增加了数据传播延时。
水声MAC层协议主要研究如何在这样的水声网络环境下实现不同节点和谐共享媒介,并有效降低节点功耗。本文重点研究ALOHA协议和MACAW协议,并利用OPNET网络仿真软件分析比较两者的性能。
ALOHA协议分为纯 ALOHA (pure-ALOHA)与时隙ALOHA(slotted-ALOHA)[2]。 对于水声网络,由于精确时间同步存在困难,暂不考虑时隙ALOHA。
纯ALOHA协议基于完全随机的信道接入方式。当节点需发送数据包时,无需考虑当前信道状态,立即发往信道。接收节点成功接收到数据包,则回复1个ACK确认帧。发送节点收到ACK确认帧后,立即发送下一个数据包;若发送节点在一定时间内未收到ACK确认帧,则随机等待一段时间后,重新发送该数据包。由于使用随机等待时间,数据包再次冲突的概率将减小。但若在N次发送后仍未收到ACK确认帧,则判定该链路失效,放弃本次传输。ALOHA协议适用于网络负载较小和信道延迟较大的网络,这种情况相邻节点同时发送数据包的概率较小,因而可获得较好的吞吐量和延迟特性。
MACA协议是首个采用RTS/CTS分组的信道接入协议,利用RTS/CTS交互完成对共享无线介质的检测。MACA采用RTS-CTS-DATA交互过程实现信道预约与数据传输,具体过程如下:
1)发送节点向接收节点发送RTS请求发送分组;2)接收节点在收到RTS后回复CTS确认传输分组;3)发送节点接收到CTS后开始发送数据帧信息。但由于水声信道不可靠,不能保证发送和接收节点的邻居节点能够收到相应的RTS和CTS帧,因此也不能保证数据的成功发送。
MACAW对MACA进行改进,在MACA的基础上增加确认数据分组 (ACK),ACK用于实现数据分组的链路层确认。该方案摒弃以太网的二进制退避算法(BEB)而采用MILD算法,以更适合无线信道环境。MILD算法有利于节点接入信道的公平性。同时还可采用退避计数器复制等技术来实现公平接入[3]。
OPNET Modeler为协议的设计和仿真提供网络层、节点层和进程层3层建模机制。网络层主要用来建立水声网络的拓扑结构;节点层定义内部模块间的逻辑关系;进程层与节点内部的模块相对应,描述具体模块的行为[4]。
本文所仿真的多跳拓扑网络中有10个节点,随机分布在5 km×5 km的范围内,每个节点的通信距离不超过2 km。节点间数据传输速率为1 024 bit/s,水声信道声速为1 500 m/s[5]。图1是水声网络的拓扑结构。
图1 水声网络的拓扑结构
图2为ALOHA/MACAW协议节点的内部模型。
图2 ALOHA/MACAW协议节点的内部模型
图2中gen模块是OPNET自带的simple source信号源,用于模拟来自数据链路层的上层的原始数据包。MAC模块是MAC协议所在的处理模块,同时也是一个队列处理机。MAC模块通过采用不同的进程来仿真不同的协议。节点接收的数据包经MAC接收处理后发往sink模块,模拟包发往数据链路层的上层,而数据包在sink模块中直接销毁。tx、rx模块分别是节点的发送机与接收机,在这两个模块中设置信道的带宽、传输数据率、发送功率等参数。节点模型中,rx与MAC模块之间连接的虚线为状态变量线,用于MAC判断当前接收机的工作繁忙情况,以在协议中实现半双工的工作模式。
图3为ALOHA协议和MACAW协议的进程模型。图3(a)和图3(b)中,initial为进程初始化状态,用于变量初始化;ilde为缺省状态,表示正在等待1个事件;wait_ack为等待ACK状态。此外,图3(b)中,wait_cts为等待CTS状态。
图3 ALOHA协议和MACAW协议的进程模型
在时延敏感型水声网络中,网络的吞吐量、端到端的平均时延和能量消耗是重要的性能指标[6],这里的网络平均时延是指源节点数据包从上层进入MAC层到目的节点接收到完整数据包的时间,网络吞吐量定义为成功传输数据所用时间与总时间的比值,网络业务量定义为单位时间内产生包的数目。采用OPNET多序列仿真机制仿真对比ALOHA和MACAW协议。仿真中产生的数据包大小均为1 024 bits。这两个协议的平均延时、吞吐量和能量消耗性能分布如图4所示。
从图4(a)可以看出,当业务量较小时,两种协议网络的平均时延都较小,这主要是因为这时网络冲突较小。但随着业务量的增大,由于数据包的大量重发,数据包的平均延时迅速增大,但ALOHA协议增大的程度明显大于采用握手和重发机制的MACAW。当业务量增大到一定程度时,分组冲突增多,很多分组无法传输,反而使两个协议的时延变化都开始缓慢减小,但是ALOHA协议的平均时延最大值高于MACAW协议。
图4 ALOHA/MACAW网络性能对比仿真结果
图4(b)反映两种协议对于不同的业务量的吞吐量性能,在业务量较小时,两协议的吞吐量随着业务量的增大而增大,ALOHA吞吐性能与MACAW协议的吞吐性能相当,当业务量增大到一定程度时,分组碰撞增多,两协议的网络吞吐量趋于缓慢减小,但ALOHA先趋于减小的趋势,且MACAW协议吞吐量的最大值高于ALOHA协议。
图4(c)表明两种协议在不同业务量下的能量消耗性能。业务量较小时,MACAW协议的能耗稍大于ALOHA协议,当业务量较高时,ALOHA协议的性能下降,其能耗明显高于MACAW协议。
从本文的网络仿真结果可知,由于水声信道的传输时延长等特性,对于数据业务量较低的水声网络,由于碰撞概率低,采用技术简单的ALOHA协议可以达到较优的性能;而对于数据业务量较高的水声通信网络,采用MACAW协议将达到更优的网络性能。水声通信网络由于受其节点能耗的限制,故协议中能耗是需要考虑的重要问题,而MACAW协议还有很大的优化空间,可结合Seaweb项目已采用的选择性重传(SRQ)机制进一步优化。
[1]Sozer E M,Stojanovic M,Proakis J G.Underwater acoustic networks[J].Oceanic Engineering,2000,25(1):72-83.
[2]冯 霏,高 翔,李 霞.水声通信网MAC层协议分析与仿真[J].声学与电子工程,2007,85(1):26-30.
[3]聂景楠.多址通信及其接入控制技术[M].北京:人民邮电出版社,2006.
[4]高明生,陆佶人,姜卫东.一种并行传输的水声Ad hoc网络多址接入(PTMA)协议[J].电子学报,2005,33(7):1271-1274.
[5]孙 博.浅海水声自组网之路由协议研究[D].厦门:厦门大学,2007.
[6]焦永革,曾昭文.一种用于水声通信网的多址接入协议[J].厦门大学学报,2007,46(z2):156-158.