赵 静, 李瑞芳, 李 莉, 乔光鑫, 杨丽娟
(沈阳化工大学 计算机科学与技术学院, 辽宁 沈阳 110142)
基于NS2的水声传感器网络MAC层协议分析
赵 静, 李瑞芳, 李 莉, 乔光鑫, 杨丽娟
(沈阳化工大学 计算机科学与技术学院, 辽宁 沈阳 110142)
MAC协议决定了水声信道的使用方式,作为水声网络的关键技术之一,它越来越受到人们的普遍关注,它的研究对水声传感器网络的发展具有至关重要的作用.经过分析比较现有的陆上无线通信协议,选取其中性能较适用于水声信道的TDMA、802.11和S-MAC协议进行研究分析,对三者的各方面性能进行比较,并针对水声信道特点提出改进方案:利用TDMA的时延,交错设置帧周期;使IEEE802.11协议一次握手传输多个数据并采用周期性睡眠机制;对SMAC协议采用事先预测网络流量,动态调整占空比.设计了水声信道MAC层协议的仿真方法,通过修改NS2中已有无线通信协议的物理层和链路管理相关代码,实现了水下通信环境的模拟.
水声传感器网络; MAC协议; NS2
水声传感器网络(Underwater Acoustic Sensor Networks)是水声通信技术与传感器网络结合所产生的一个新的研究领域[1].它为人类探索海洋奥秘、开发利用海洋资源起到关键作用.然而,由于水声信道的有限带宽、高误码率以及长传播时延,使水声传感器网络相对于地面传感器网络的设计面临着巨大的挑战.MAC协议在水声传感器网络的设计中起着重要的作用[2],其决定了水声信道的分配方式,也影响着水声通信的能量消耗和传输效率.一些研究学者已经针对水声通信提出了几种MAC协议,但目前该领域还没有一种完全适合水声通信并得到广泛认可的MAC协议.因此,对于水声传感器网络MAC协议的研究仍是现阶段该领域的研究热点.
本文通过对MAC协议相关性能指标的分析和水声传感器网络MAC协议性能要求的研究,设计了水声信道MAC层协议仿真方法,并对相关协议提出了改进意见.
MAC协议决定着信道的分配方式,解决信道的接入问题.可以根据以下几个指标对MAC层协议的优劣进行评定,其中包括网络的吞吐量、网络的数据丢包率、网络的平均时延和延时抖动等.网络环境的多种多样,并且应用需求的不同,因此设计MAC层时对各项指标的偏重不同.陆地通信时间短,延时可以被忽略,因此对延时要求不高.相比水下通信而言,复杂多变的水声环境,使通信首要考虑到延时长短、能耗高低、可扩展性情况、吞吐量高低等问题.以下对重要指标进行说明[3]:
(1) 网络的吞吐量:表示在不丢包情况下,目的节点在单位时间内成功接收到的数据包总数.网络的平均吞吐量表示网络成功发送的数据包数,主要用于衡量网络利用率和网络数据最大容量.MAC层的吞吐量包含了控制包的流量,与应用层的吞吐量不一样,在仿真中进行比较的是应用层的吞吐量,指的是目的节点在单位时间里成功接收到的数据报文的总数,它的计算方法是在应用层收到的正确数据包除以仿真时间.
(2) 网络的数据丢包率:指网络中丢失的数据包数和总的发送数据包数的比值.
(3) 网络的平均时延:指数据包从源节点到达目的节点在网络中的传播时间.发送节点发送数据帧信息,到达接收节点并实现成功接收所需要的平均时间.网络时延越小说明网络性能越好.
(4) 能耗:反映通信过程中网络节点的耗能问题.通常节点耗能主要来源于数据包冲突、空闲侦听以及过度侦听、控制帧负担过大.对于水声传感器网络,水中的节点能量主要靠电池,而水下的能量更换和补充需要消耗过多的人力和物力资源.因此需将能量问题考虑到MAC 协议设计中,保持节点正常工作效率,延长网络寿命.
随着陆上无线网络的普及,已有多种优秀的MAC协议被提出并得到广泛使用,按照使用介质的方式,可将MAC协议分为固定访问方式的MAC协议、随机竞争访问方式的MAC协议[4].其中,固定访问方式的MAC协议主要有:FDMA、TDMA、CDMA.FDMA技术需将频带进行划分,这对于带宽较窄的水声信道并不适合.CDMA技术的多径效应严重,并不适合于分布式网络.TDMA机制没有数据碰撞重传现象,并且在数据进行传输时不需要太多的控制信息;节点空闲时进入睡眠状态.随机竞争访问方式的MAC协议分为基于ALOHA的MAC 协议、基于握手机制的MAC协议以及基于睡眠机制的 MAC 协议.作为基于握手机制MAC协议代表的IEEE802.11MAC协议其分布式协调(DCF)工作模式采用带冲突避免的载波侦听多路访问(CSMA/CA)协议.基于睡眠机制的S-MAC和T-MAC协议从能量节约角度出发很好地解决了能量受限网络的耗能问题.除此之外还有MACA协议、MACAW协议等,鉴于水声传感器网络的特点,对其中的TDMA、IEEE802.11和S-MAC三种协议进行分析、比较,研究其在水声信道中的应用和改进方法.
2.1 TDMA协议
TDMA协议属于一种固定方式访问的MAC层协议,按照固定方式进行访问时避免了数据冲突,并且由数据冲突引起的额外耗能减少,信道利用率由此提高.TDMA技术将时间划分为众多时隙,以此供给不同用户使用,所有用户共同使用频带.图1为N时间片的TDMA多址方式.从图1可以看出:该协议将时间分为多个循环周期,每个循环周期又分为N个时间片,各时间片分别由数据包传送时隙和保护时隙组成,保护时隙确保了数据的正确传输.
图1 TDMA协议时间分片
TDMA技术通信时间短,用户对信道无竞争,所以数据冲突较少.水声传播速率约为1 500 m/s,相比于光速3×108m/s低很多,因此水声通信时延变大,加之时延动态变化,TDMA协议时间片内的保护时隙会变长,整个时间片由此变大,致使网络吞吐量降低.TDMA协议要求严格的时间同步,这对于时延动态变化的水下网络是非常困难的,该协议的另一缺点是它通常用在固定拓扑结构的网络中,因此不能处理好节点移动、失效和新节点加入的情况,综上而言传统的TDMA协议不能直接应用于水声通信网络[5],需要进一步的改进.
2.2 IEEE802.11协议
IEEE802.11协议目前被广泛应用于无线网络.它采用载波侦听多路复用和冲突避免协议(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA),以此当作接入方式,此外还采用了停止等待协议(Stop & wait).
IEEE802.ll 协议支持两种模式:分布式协调功能DCF(Distributed Coordination Function)和点协调功能 PCF(Point Coordination Function).其具体架构如图2[6]所示.
图2 IEEE802.11协议结构框架
DCF数据传输技术:基本接入方式和请求发送/允许发送(Request To Send/Clear To Send,RTS/CTS)方式[4].这两种模式基于CSMA/CA机制,在计算随机退避时间时都采用二进制退避算法.
这里主要介绍RTS/CTS的接入模式,DCF
的RTS/CTS的接入模式如图3[7]所示.首先,等待DCF帧间隔(DCF Inter-frame Space,DIFS)后,发送节点向目的节点发送RTS信号,表明发送节点要向目的节点发送若干数据,收到这个RTS的每个节点都根据持续时间域(Duration field)来设置它的NAV.目的节点收到RTS后,在等待短帧间间隔(Short Inter-frame Space,SIFS)后,向所有节点发出CTS信号,表明已准备就绪,发送节点可以发送数据,而其他节点停止向该目的节点发送数据;双方在成功交换RTS/CTS信号后才开始传送数据,从而保证数据的正确传递,减少冲突发生.在SIFS间隔后,发送节点向目的节点发送数据.目的节点在接收到数据后等待SIFS,返回给发送节点应答帧,表明数据接收完毕.此时传输过程完成,这时每个节点的NAV为0,表明介质空闲,可以开始下一个传输周期.
图3 RTS/CTS接入模式
RTS/CTS机制可有效解决隐藏终端,数据冲突减少,提高了正确数据传输率.在水声传感器网络中,节点间因接收数据产生的能耗最多,而采用预先握手机制的RTS/CTS模式,降低了数据冲突,一方面既降低了无效数据的发送,另一方面又确保了数据传输正确率,但是该协议采用了载波侦听机制,其缺点是空闲侦听造成更多的能量消耗,所以需要对该协议进行改进,从而解决水声通信环境中频繁的空闲侦听产生的能量消耗.
2.3 S-MAC协议
S-MAC协议是一种节能MAC协议,在2003年由南加州大学的weiye等人提出,它继承了IEEE802.11协议和RAMAS协议的基本思想,并在此为基础以提高能效为目标进行了相关改进,很好地解决了能量损耗问题,并保证了网络的可扩展性[8].S-MAC协议采用4种主要机制[4]:周期性侦听和睡眠机制;流量自适应侦听机制;串音避免机制;消息传递.S-MAC协议的基本调度周期[6]如图4所示.
图4 S-MAC基本调度周期
S-MAC协议将时间分为若干帧,每帧包括侦听阶段和睡眠阶段.侦听阶段中同步阶段节点广播SYNC保持同步,包含了节点的时间表.活动阶段中主要完成数据通信,并发送(或转发)在睡眠阶段发送队列内积存的数据分组.睡眠阶段中节点进入睡眠状态以节省能量.其中:tlisten是节点侦听时间;tsleep是节点睡眠时间;tSYNC是节点发送同步帧的时间;tRTS/CTS是节点收发RTS/CTS的时间.则有如下公式[6]:
tlisten=tSYNC+tRTS/CTS.
(1)
(1) 传统的TDMA协议不能直接用于水声传感器网络.利用集中式控制结构特点,命名一个协调节点作为中心节点来控制整个网络中的其他节点,例如控制同步时间,充分利用水下通信时延长的特点,交错设置帧周期,接收上一个周期的其余数据,使得中心节点一直接收数据,以此充分利用时延.各数据时隙之间设有保护时隙.控制中心可以利用一定算法预知各检测节点的传输时延,并将时延按从小到大排序,有效预防数据重叠.另外还可以从载波侦听机制联合TDMA协议对MAC层协议进行设计,这是MAC协议涉及的另一方向.
(2) IEEE802.11协议采用载波侦听机制,而载波的空闲侦听对水声网络产生巨大的能量消耗.针对能耗问题,可以引进周期性的睡眠侦听机制,S-MAC协议就是在IEEE802.11基础上进行相关的改进,有效解决了能耗问题.除此之外,还可以允许一次握手期间传送多个数据帧,达到数据的高效传输.
(3) S-MAC协议具有很好的节能特性,很好地解决了水声网络的耗能问题.相比于协议IEEE802.11,S-MAC协议通过延长其他节点的睡眠时间,数据碰撞率得以降低,从而减少了因空闲侦听产生的能耗;该协议因周期休眠使得时延显著,并且会出现延迟每跳积聚现象,对此可利用流量自适应机制,减少数据传输延迟;但是当信道中无数据传输时,该协议固定不变的占空比使得一些节点仍处于侦听状态,不能及时进入睡眠状态,该协议对网络流量的动态变化适应能力较弱.针对这个问题,可以事先预测网络流量,对占空比进行动态调整.若网络中数据传输增加,对S-MAC的单个长周期进行n个短周期的划分,通过一划多的方法提高占空比来适应流量的增加[6].
目前没有特定的水声传感器网络的MAC协议,只有在现有的无线MAC层协议的基础上做一些改进来适应水声通信的要求,对水声MAC协议的设计仍需要更深一步的研究.
4.1 仿真软件介绍
为比较上述协议在水声传感器网络中的优劣,利用仿真软件对网络性能进行分析.目前比较流行的仿真软件有OPNET,NS2,OMNET++等,NS2[9]是一款开放源代码的网络模拟软件,它支持众多的协议,并提供了丰富的测试脚本,可以在计算机上动态仿真有线网络或无线网络的运行,由此选用NS2作为实验仿真平台.
NS2(Network Simulator version 2)最初由UC Berkeley开发,是面向对象的网络模拟工具,可以模拟整个网络的运行状态,其本身有一个模拟时钟,由离散事件驱动所有的模拟,由C++语言实现网络元素,由OTcl语言编写网络模拟过程脚本文件.
如图5[9]所示,使用NS2模拟网络环境,首先考虑要仿真的网络类型、拓扑结构和源代码修改或添加等问题.
图5 NS2基本操作流程
如果仿真涉及到新协议的编写或对现有协议的修改,则需要对NS2的C++源码层进行添加、修改、重新编译和调试;如果仿真只涉及到解释层,无需修改代码,用户可直接编写Tcl/OTcl代码,利用现有的仿真元素进行仿真即可.仿真结束后会将生成的仿真结果存放在对应的Trace文件中,通过NAM进行生动的动态展现;通过GAWK工具对该仿真结果的内容进行分析从而得到想要的最终结果;可通过XGraph或GNUPLOT得到静态图形.
4.2 仿真实验举例
通过简单的仿真实验模拟网络的数据传输过程,并通过现有工具分析得到仿真结果,展示NS2仿真模拟的大致过程.实验设置仿真模型,MAC协议设置为SMAC协议,并得到网络仿真结果.
4.2.1 水声环境建模
水声信道受海底和海面环境影响较大,时延长且动态变化、噪声强、多途效应、多普勒频移等问题尤为严重.声波在水中的传播速度主要受深度、盐度、温度等因素影响,且这些因素互相关联,可以通过MacKenzie公式[10]计算水声速率.声传播损失主要来源于几何衰减、吸收衰减和散射.Thorp公式总结了海水对声波的吸收系数,并且根据传播的几何形状有不同种情况的几何衰减.水声信道受环境噪声的影响较大,例如潮汐现象、雷雨天气、海浪及船只噪声等.水下环境噪声主要有四部分:涡流噪声、船运行噪声、风噪声以及热噪声.深海环境不同于浅海,很少受到港口地理位置和周围环境的影响.除此之外多径效应严重,由此产生的多普勒频移也很难避免.
水声环境建模是一个复杂的过程,但可以通过修改NS2中已有无线网络通信协议的相关代码,构建水下网络通信模拟环境.为简化实验过程,实验选取水声传播速率1 500 m/s,通信频率范围设置为3~13 kHz,带宽为10 kHz.节点的通信半径为1 000 m.仿真网络中的每个节点都采用统一的能量模型,初始能量是15 J,节点发送报文时的功率是0.386 W,接收报文时的功率是0.368 2 W,空闲侦听状态下的功率是0.344 2 W,睡眠状态下的功率是0.000 05 W.整个网络的仿真时间设定为400 s,仿真实验网络层采用AODV路由协议.
set opt(rp) AODV; # routing protocol script
set opt(stop) 400.0; # simulation time
set opt(energymodel) EnergyModel
set opt(initialenergy) 15
$ns_ node-config-adhocRouting $opt(rp)
……
-energyModel $opt(energymodel)
-idlePower 0.3442
-rxPower 0.3682
-txPower 0.386
-sleepPower 0.00005
-transitionPower 0.05
-transitionTime 0.0005
-initialEnergy $opt(initialenergy)
4.2.2 网络拓扑结构
网络拓扑结构是指网络节点的部署方式,它影响着网络的容量、能量消耗、以及网络可靠性等网络特性.一般网络拓扑结构主要分为3种:集中式拓扑结构;分布式拓扑结构;多跳式拓扑结构.多跳式拓扑结构是更适合水声环境的拓扑结构.目前研究较多的水声传感器网络主要有二维静态网络、三维静态网络和带有UAVs的三维网络.二维静态网络的传感器节点被固定在海底,主要用于海底环境监视.三维静态网络的传感器被部署在水中,主要用于监测海洋环境.带有UAVs的三维网络主要由固定传感器和移动的UAVs组成.网络拓扑的好坏直接影响整个水声网络的性能.
4.2.3 仿真过程及结果
为简化实验,采用二维拓扑结构,设置600×200的3节点场景模型,如图6所示.其中节点0的位置代码为:
$node_(0) setX_ 100
$node_(0) setY_ 100
$node_(0) setZ_ 0.0
利用NS2对上述网络经行仿真,可得到生动的动画NAM文件并生成Trace文件.模拟网络的一系列动作全部保存在Trace文件中,通过AWK代码分析相应的网络的吞吐量、网络的数据丢包率、网络的平均时延性能指标.
图6 3节点数据传输过程
网络平均时延性能指标如图7所示.图中展示的是SMAC协议包延时随包id号变化的过程,第4个包延时较小,第3个和第5个包延时均较大.延时抖动性能指标如图8所示,吞吐量性能指标如图9所示.
图7 SMAC协议的网络延时
图8 SMAC协议的延时抖动
图9 SMAC协议的网络吞吐量
水声传感器网络技术受到人们的日益关注,但在国内对它的研究仍处于起步阶段,特别是网络通信协议.水声信道复杂,为简化实验,采用三节点二维拓扑结构,通过修改已有代码模拟水声环境.实验过程中的初始场景和仿真中的移动路径采用随机生成方式,即通过NS2的setdest和cbrgen工具生成水声节点场景和数据流.仿真结果分别展示了延时、延时抖动和吞吐量性能.如何设计出适合水声传感器网络的MAC协议更为重要.对TDMA、IEEE802.11、S-MAC协议进行了分析,比较它们在水下通信的优缺点,并提出对上述3种协议的改进意见.IEEE802.11协议和S-MAC协议在节省能量方面体现出较强的优势,可以从载波侦听机制方向对TDMA协议进行改进.
[1] 白洁音,梁韡,于海斌,等.水声传感器网络仿真框架UASNSF的设计[J].计算机仿真,2007,24(10):252-256.
[2] 罗娜,陈名松,王方,等.水声传感器网络MAC协议的能效分析与仿真[J].传感器与微系统,2011,30(3):10-15.
[3] 吴云.基于时分的水声传感器网络MAC协议的研究[D].广州:华南理工大学电子与信息学院,2011:12-16.
[4] 许毅.无线传感器网络原理及方法[M].北京:清华大学出版社,2012:123-135.
[5] Lu Hong,Feng Hong,Zhong Wenguo.The Fourth Session of the IEEE International Conference on Wireless Communications,Network Technology and Mobile Computing(WiCOM2008)[C].Dalian:Dalian University of Technology Press,2008:1-4.
[6] 赵占伟.水声通信网络MAC协议研究[D].哈尔滨:哈尔滨工程大学计算机科学与技术学院,2011:26-37.
[7] 孟艳君.水声通信网MAC层协议的研究与仿真[D].哈尔滨:哈尔滨工程大学水声工程学院,2006:40-48.
[8] Proakis J G,Sozer E M,Rice J A,et al.Shallow Water Acoustic Networks[J].IEEE Communications Magazine,2001,39(11):114-119.
[9] 吉祖勤,蔡长安.NS2仿真技术在网络实验教学中的应用[J].实验技术与管理,2011,28(12):96-99.
[10]Herman M.Speed of Sound in Water:A Simple Equation for Realistic Parameters[J].The Journal of the Acoustical Society of America,1975,58(6):1318.
Analysis of UWASN MAC Layer Protocol Based on NS2
ZHAO Jing, LI Rui-fang, LI Li, QIAO Guang-xin, YANG Li-juan
(Shenyang University of Chemical Technology, Shenyang 110142, China)
MAC protocol determines the way of using multipath underwater acoustic channel.As one of the key technology of underwater acoustic networks,it gets more and more attention of people.The MAC protocol research plays the vital role in the development of underwater acoustic sensor networks.Through the analysis and comparison of the existing land wireless communication protocol,this paper chooses and analyzes the performance of TDMA,802.11 and S-MAC protocol which is suitable for underwater acoustic channel.By comparing the performance of the three protocols and combined with the characteristics of underwater acoustic channel,improvements are suggested:Using TDMA time delay,the frame period can be setted; Transmitting more data in a handshake and using the periodic sleep mechanism in IEEE802.11 protocol; Predicting network traffic in advance,and adjusting the duty ratio dynamically in the SMAC protocol.Thesis designs the simulation method of MAC layer protocol in underwater acoustic channel.By modifying the existing wireless communication protocol and link management related code in NS2,this paper realizes the simulation of physical in underwater communication environment.
underwater acoustic sensor networks; MAC protocol; NS2
2013-12-30
国家自然科学基金项目(61102041); 辽宁省高等学校优秀人才支持计划(LJQ2013043)
赵静(1988-),女,河北沧州人,硕士研究生在读,主要从事水声传感器网络方面的研究.
李莉(1978-),女吉林通化人,副教授,博士,主要从事水声换能器,水声传感器网络方面的研究.
2095-2198(2015)01-0075-07
10.3969/j.issn.2095-2198.2015.01.016
TN929.3
A