一种高效的水下传感器网络MAC 协议
2015-03-26汪生泉孙大军张友文
汪生泉,孙大军,张友文
(1.哈尔滨工程大学 水声技术重点实验室,黑龙江 哈尔滨150001;2.哈尔滨工程大学 水声工程学院,黑龙江 哈尔滨150001)
0 引 言
进入21 世纪,人类正在加快对海洋的探索和开发步伐[1],然而水声信道高传播延时、快衰落等特性[2],给水下传感器网络MAC 层协议的设计带来了巨大挑战。为了获得更高的吞吐量和更低的网络延时,研究人员在研究握手类协议时希望一次握手后能够尽量多地传输数据,从而达到提高网络吞吐量的目的。如,Guo X 等人提出的PCAP协议[3],源节点在等待CTS 控制包的过程中允许其它节点进行控制包或数据包的传输;Chirdchoo N 等人提出的RIPT 协议[4]采用一次RTS,CTS 控制包交换,可以进行多个数据包传输的方案。根据这一基本思想,本文详细深入分析研究了预约类型协议的传输过程,给出了多个节点对可以同时获得信道使用权的基本结论和成立条件,并以此为基础提出了一种高效的基于节点对排序的水声传感器网络MAC 协议,通过仿真实验验证了该协议的有效性。
1 握手类协议过程分析
一般的,预约类型协议,在源节点发出RTS 后,周围收到xRTS(不是发给自己的请求包)的节点将退避,目的节点收到RTS 后返回一个CTS,其周围收到xCTS(不是发给自己的确认包)的节点也将退避,源节点和目的节点之间取得了信道使用权,其他节点都处于退避状态,这时源节点发送DATA,目的节点收到后返回一个ACK 确认包。
对上述过程稍作改变,即源节点发出RTS 并经过预定时间内收到来自目的节点CTS,尽管在此过程中收到了来自另一节点的xRTS 包,此时节点也不退避;另一种情况是目的节点发出CTS后,收到来自其他节点的xRTS包或xCTS包,此时目的节点也不退避。例如:源节点A 发送RTS 给目的节点B,同时通知周围节点退避,B 收到RTS 后回复一个CTS 给A,同时通知周围节点退避。另一源节点C,在收到A的通知xRTS 之前已经发送一个RTS 给其目的节点D,D 返回一个CTS 给C,如图1 所示。
图1 两节点对握手过程Fig 1 Handshake process between two node pairs
这时节点对A→B,C→D 均取得了信道使用权。下面给出在A→B 成功的条件下,另一对节点C→D 成功的条件如下
其中,tl为节点I 发送RTS 的时刻,TRTS,TCTS分别为RTS 和CTS 的传输时延、TIJ为I 节点与J 节点之间的传播时延。
这里,公式(1)表示节点C 必须在节点A 的xRTS 到达之前发,确保自身不被“退避”;公式(2)表示节点D 必须在A 的xRTS 到达之前收到节点C 发来的RTS 并立即向节点C 发出CTS,确保节点C 的目的节点不被“退避”;公式(3)表示节点B,D 发出的CTS 包到达节点C 的时间间隔须大于TCTS,保证CTS 不会碰撞,节点C 可收到CTS。同时满足式(1)、式(2)、式(3)的节点对均取得了信道使用权,在高负载网络中,这样的节点对可以有多对。
2 基于多节点对排序协议
2.1 节点对分类
按照两对成功取得信道使用权节点对源节点的位置关系,可分为相互可达和相互不可达两类,如图2 所示。
图2 节点间位置关系Fig 2 Relationship of location between two nodes
以节点对A→B 为研究对象,以节点对C→D 为参照对象(以下同),根据目的节点的相互关系,将源节点相互可达的节点对分成5 种情况,如图3 所示;将源节点相互不可达的节点对分成5 种情况,如图4 所示。
另外,存在2 个发送节点都发给同一个目的节点情况,如果是源节点相互可达的成功节点对归为Ⅰ-1 情况,如果是源节点相互不可达的成功节点对归为Ⅱ-1 情况;一个节点给多个节点发送也可以考虑归为Ⅰ类的各种情形。
图3 源节点可达节点对的情况Fig 3 Situation of node pairs with source nodes can reach each other
图4 源节点不可达的节点对的情况Fig 4 Situation of node pairs with source nodes can not reach each other
2.2 节点对关系归类与两两排序原则
2.2.1 节点对信息
源节点A 拥有的4 类信息确定A 的发送顺序,包括:是否收到了发送节点C 的xRTS 包;是否收到了目的节点D的xCTS 包、节点编号、SA集合。若节点A 覆盖范围内节点构成集合RA{B,C,D},称为A 的覆盖集;SA为A 覆盖范围内各节点覆盖集构成的集合SA={RA,RB,RC,RD}。
目点节点B 拥有的两类信息确定B 接收完数据包后发送ACK 包的顺序,包括:是否收到了目的节点D 的xCTS包、节点编号。
2.2.2 节点对关系归类与两两排序原则
1)节点对关系归类
根据A 是否收到C 的xRTS 包(aRc),A 是否收到D 的xCTS 包(aRd)、S 集中B 覆盖范围是否含C(SBc)、B 收到D的xCTS 包(bRd)四类信息,节点对A→B 判断自身与节点对C→D 属于10 种情况中的哪一类(Cla),如表1 所示。
8月18日,由中国农业国际合作促进会、中国绿色食品协会主办,中国养蜂学会、中国农业科学院蜜蜂研究所、先正达(中国)投资有限公司合作主办的首届绿色农业发展论坛暨2018蜜蜂大会在北京召开。
2)两两排序相关概念说明
根据两节点对之间的关系进行排序,称为两两排序,包括编号排序、触发排序以及随意排序三类,其排序原则如表2。
定义1 将两对节点按照编号信息进行的排序,编号小的先发,大的后发,称为编号排序。例如:Ⅰ-1,Ⅰ-4,Ⅱ-1,Ⅱ-4 情形都是编号排序。
表1 节点对关系归类Tab 1 Classification of relationship between node pairs
定义2 将两对节点不按照编号信息,而是通过事先约定的先后触发顺序进行的排序,称为触发排序,并把先执行的节点对称为主对,被触发的节点对称为从对,主对和从对的关系成为主从关系。例如:Ⅰ-2,Ⅰ-3,Ⅱ-2,Ⅱ-3 情形,一个节点对发送完ACK 包后,触发另一个节点对执行。
定义3 将两节点对随时发送数据,相互不受对方影响的排序,称为随意排序。例如:Ⅰ-5,Ⅱ-5 情形。
2.3 节点对声明
定义4 将一对或多对有主从关系的主对和从对连接起来的主从关系链,称为触发链。由Ⅰ-2,Ⅰ-3 构成的触发链称为一类触发链,其主对和从对分别称为Ⅰ类主对和Ⅰ类从对;由Ⅱ-2,Ⅱ-3 构成的触发链称为Ⅱ类触发链,其主对和从对分别称为Ⅱ类主对和Ⅱ类从对。
为了确保所有节点对排序一致,节点对要声明已取得信道使用权和层次关系,层次关系由上而下层层声明。特别的二类触发链由于两个源节点不可达,声明层次系统开销大,因此,本文二类触发链不声明层次关系,同时舍弃Ⅱ类从对的数据传输。流程如图5 所示。
图5 节点对声明流程Fig 5 Node pairs statement flow
2.4 节点对视图及整体排序原则
1)节点对视图
定义5 节点对A→B 的发送节点和接收节点感知到的所有成功节点对的集合,称为节点对A→B 的影响集合,用SA→B表示。
定义6 节点对A→B 影响集合SA→B和由影响集合中元素构成的触发链、编号排序关系节点对和随意排序关系节点对构成关系,称为节点对A→B 的视图,用VA→B表示。某节点对看到的层次化视图如图6 所示。
节点对自动归类、声明后,每个节点对都能获得节点对视图,它是节点对能够看到的全部信息,节点对正是根据节点对视图信息决定自身数据传输的时机,从而实现全局节点对无碰撞的排序。
表2 两节点对排序原则Tab 2 Principles of two node pairs sequencing
图6 节点对视图Fig 6 View of node pairs
2)整体排序原则
第一原则:高层节点优先级高于底层节点。层次从高到低为:1 层,2 层,….m 层,0 层,一般情况下前一层执行完了,再执行下一层。
第二原则:在第一原则下,2 个节点对之间遵从两两排序原则。
第三原则:按照第一、第二原则排在本节点对前面,且与本节点对不是随意关系的节点对均执行完毕后,其余按照第一、第二原则排在本节点对前面的节点对且与本节点对都是随意排序关系时,此时,本节点对可不受第一、第二原则限制,直接可以执行。
整体排序原则可以确保各节点对无碰撞,这里限于篇幅,证明从略。
2.5 退避机制
RTS,CTS 竞争后,退避节点是由于一个或若干成功节点对共同作用的,若一节点X 受到n 对节点对的影响而退避,将X 节点的退避表达式表示为
式中 X 为退避节点,Si为发送节点,Di为目的节点,SiDi为一成功节点对退避节点X 在节点Ai,Bi范围之外,发送数据对节点X 没有影响。
3 仿真实验
在3 000 m×3 000 m 的范围内随机部署18 个节点。每个节点产生数据包的速率服从Poisson 分布。仿真实验将本协议(NPS-MAC)与MACA-U 协议[5]以及PCAP 协议的吞吐量性能比较,结果如图7、图8 所示。
图7 网络吞吐量随网络负载变化曲线Fig 7 Curve of network throughput change with network load
图8 端对端时延随网络负载变化曲线Fig 8 Curve of end-to-end delay change with network load
仿真结果表明:与MACA-U 协议、PCAP 协议相比,本协议具有更高的吞吐量和更低的网络时延。
4 结 论
本文提出了一种高效的水下传感器网络MAC 协议,本协议能够在一次握手的情况下,允许多个节点对依次传输数据,避免了握手带来的资源浪费;本协议在节点对传输数据过程中,周围节点知道其它节点所处的状态,从而大幅度减少了隐藏终端和暴露终端问题。
[1] 殷敬伟.水声通信原理及信号处理技术[M].北京:国防工业出版社,2011:1-12.
[2] Domingo M C.Overview of channel models for underwater wireless communication networks[J].Physical Communication,2008,1(3):163-182.
[3] Guo X,Frater M R,Ryan M J.Design of a propagation-delay-tolerant MAC protocol for underwater acoustic sensor networks[J].IEEE Journal of Oceanic Engineering,2009,34(2):170-180.
[4] Chirdchoo N,Soh W S,Chua K C.RIPT:A receiver-initiated reservation-based protocol for underwater acoustic network[J].IEEE Journal of Selected Areas in Communications,2008,26(9):1744-1753.
[5] Ng H H,Soh W S,Motani M.MACA-U:A media access protocol for underwater acoustic networks[C]∥Proceedings of GLOBECOM 2008,2008:1-5.