分布式多信道媒体访问控制协议在无线传感器网络中的应用研究

2012-02-22 08:10赵军陈祥光刘春涛余向明岳彬
兵工学报 2012年6期
关键词:吞吐量数据包信道

赵军,陈祥光,刘春涛,余向明,岳彬

(1.北京理工大学 化工与环境学院,北京100081;2.空军油料研究所,北京100076)

以某机场油料保障系统输油管道为研究背景,在输油管道上每隔一定距离d0安装一个无线传感器网络(WSN)节点,该节点采集到的传感器信息通过节点间的多跳转发传送到监控室。现有的WSN研究是在假设传感器节点随机分布的基础上进行的,而本文中传感器节点随着输油管道的延伸呈链型分布,如图1所示,当某个传感器节点有数据需要传输时只能通过前后两个方向的邻居节点依次转发。

图1 无线传感器节点分布Fig.1 Distribution of wireless sensor nodes

媒体访问控制(MAC)协议通常需要解决信道分配和介质访问的问题。前者是决定使用哪条信道,2 个节点至少共用一个信道才能进行通信,文献[1]把这个问题作为最优化的问题。一些研究工作只是修改MAC 协议来支持多信道Adhoc 网络,从多个信道中选择一条信道,基本上能够避免干扰,使相邻节点的数据包在多个信道并行传输。

文献[2]提出了基于IEEE802.11 节能机制的多信道MAC 协议(MMAC)协议。MMAC 将时间分为周期为100 ms 时间片段,再细分为20 ms 的ATIM窗口和80 ms 的数据窗口。所有节点在ATIM 窗口侦听一条默认信道,发送方广播对应每个接收方的数据包长度,并且与每个接收方协商在数据窗口中使用的数据信道。

多信道MAC 协议动态信道分配(DCA)[3]把可用的带宽分为一条控制信道和n 条数据信道D1,D2,…,Dn,其中n 条数据信道的优先级和带宽都相同。控制信道是用来解决数据信道上的竞争并将数据信道分配给移动节点。数据信道用于传送数据包和应答确认。每个移动的节点保存有2 个数据列表,信道使用列表(CUL)和信道空闲列表(FCL).由于CUL 是每个移动节点单独维护,可能保存的信息不是很准确。

文献[4]提出双忙音多址接入的MAC 协议(DBTMA),将公共信道分为2 个子信道:数据信道和控制信道,控制信道分配2 个忙音信号bt为节点正在数据信道上发送数据和br为节点正在数据信道上接收数据。文献[5]移动自组网(MANETs)协议将能量控制概念引入到以RTS/CTS 和忙音信号为基础的多信道MAC 协议中,收发节点通过交换RTS和CTS 信息来确定他们之间的相对距离,根据两者之间的距离确定发送数据的功率等级。使用较低的发送功率可以使信道在空间内复用,提高信道的利用率。但这2 种协议都只针对于一个数据信道。

文献[6]提出的接收定向传输协议(RDT)规定每个节点只有一个无线接口,每个节点选择一个信道作为自己的静态通道C,并且在空闲时监听这个信道。虽然充分利用了多条数据信道,但无法解决终端隐藏和终端暴露问题。扩展的接收定向传输协议(xRDT)[7]在RDT 协议的基础上,每个节点增加一个忙音接口,这样每个节点的静态信道C 都有一个忙音信号bC来表示其工作状态,当节点A 在它的静态信道A 接收数据时,打开忙音信号bA.节点A向B 发送数据,首先将数据接口和忙音接口切换到节点B 的数据信道B 和忙音信道bB侦听节点B 的工作状态,如果侦听到节点B 数据信道和忙音信号上有负载,则节点A 延迟其发送操作。虽然能在一定程度上解决终端隐藏和终端暴露问题,但使用了过多的频带,可能增加频谱间的干扰。

基于以上分析,本文在xRDT 的基础上提出了分布式多信道MAC 协议,每个节点配备一个数据接口和忙音信道接口,并且按顺序给无线传感器节点分配固定的数据信道和忙音信道,明显提高了网络的吞吐量。

1 单信道WSN 应用分析

目前,针对单信道WSN 已经提出了许多MAC协议,IEEE802.11 也定义了一个标准的单信道MAC 协议模型。由于节点仅配备单个半双工收发器,不能同时处于发送和接收状态,单信道无线网络始终无法有效解决终端隐藏和终端暴露问题,如图2所示,图2(a)为终端隐藏问题,节点A 向节点B 发送数据,这时节点C 向节点D 发送数据,将会破坏节点B 的接收。图2(b)为终端暴露问题,节点B正在向A 发送数据,这时节点C 准备向节点D 发送数据,节点C 会等到节点B 的发送活动结束后再进行发送,事实上节点A、B 和节点C、D 之间的通信可以同时进行。

图2 单信道WSN 终端问题Fig.2 Terminal problems in single-channel WSN

图3为单信道多跳WSN 单用户理想数据包流水作业调度方案。在时间1T,源节点S 向节点1 发送数据包Pk1.在时间2T,节点1 向节点2 转发数据包Pk1.由于节点1 不能同时处于发送和接收状态,源节点S 不能在时间2T 向节点1 发送数据包。在时间3T,节点2 向节点3 转发数据包Pk1,由于工作在一条信道上,节点1 和节点3 都在节点2 的发送范围内,源节点S 不能在时间3T 向节点1 发送数据。在时间4T,节点3 向节点4 转发数据包Pk1,同时源节点S 可以向节点1 发送数据包Pk2.依此方法,源节点每隔2 个T 发送一个数据包,中间节点接收到数据包后,在下一个T 转发该数据包。

图3 单信道WSN 理想调度方案Fig.3 Optimal schedule scheme for single-channel WSN

假设源节点S 每隔2 个T 发送一个数据包,共向目的节点D 发送n 个数据包。理想信道中数据包没有因噪声干扰、链路误码的影响而丢弃,按照理想的数据包调度方案,宿节点D 可以每隔2 个T 接收到一个数据包,从而接收到所有的n 个数据包。那么,理想情况下单信道的吞吐量为

式中:Ep为数据包平均长度;Np为路径长度(跳数);T 为时钟节拍。

如果n≫Np,单信道网络的最大吞吐量为

当多个节点发送数据时,随着网络负载的增加末端节点冲突加剧,网络的吞吐量受到传感器节点吞吐量的限制,节点间的竞争和发送分组之间的冲突降低了信道利用率并导致吞吐量的迅速下降。

通过以上分析,如果采用多信道WSN 可有效提高了网络的容量并且能够有效缓解节点间竞争和发送分组间冲突的问题。

2 分布式信道分配和路由算法

假设无线传感器节点之间的距离d0相同,全网按照一个T 工作,每个传感器节点配备一个数据接口和一个忙音接口。并为每个传感器节点分配一条默认的数据信道C 及其忙音信道bC,在空闲时传感器节点侦听各自的默认信道和忙音信道。当某个传感器节点有数据需要发送时,切换到前向或者后向邻居节点的默认信道,向其发送数据。由于节点按链型分布,每个节点只能向两个方向发送数据,因此本文只从一个方向进行分析。

2.1 单路径多信道分析模型

设定无线传感器节点的通信范围为d0+Δd,其中Δd 为无线信号衰减范围所延长的距离,每个节点只能与其一跳邻居节点进行通信。传感器节点进行前向或者后向通信的范围为2(d0+Δd).如果通信路径上的2 个传感器之间的距离大于2(d0+Δd),则这2 个节点可以共用1 条信道。因此,只需要3 条信道(A、B、C)就可以建立单路径多信道模型。

WSN 单路径多信道理想数据包调度方案如图4所示,在时间1T,源节点S 切换到节点1 的默认信道A 上向节点1 发送数据包Pk1.在时间2T,节点1切换到节点2 的默认信道B 上向节点2 转发数据包Pk1.在时间3T,节点2 切换到节点3 的默认信道C上向节点3 转发数据包Pk1.由于工作在不同的信道上,源节点S 可以同时在节点1 的缺省信道A 上继续向节点1 发送数据包Pk2.在时间4T,节点3切换到节点4 的默认信道A 上向节点4 转发数据包Pk1.因为节点3 与节点1 隔着两跳的距离,不会对节点1 产生干扰,所以信道A 可以复用。以此方法,下游节点按照A—B—C 的顺序复用信道。源节点每隔一个T 发送一个数据包,中间节点接收到数据包后,在下一个T 转发该数据包。

图4 单路径多信道WSN 理想调度方案Fig.4 Optimal schedule scheme for single-path multi-channel WSN

理想情况下单路径多信道的吞吐量为

如果n≫Np,单路径多信道网络的最大吞吐量为

如果多个节点需要发送数据,数据包在无线链路上累积,当末端节点的吞吐量达到饱和后,可能会因为网络的冲突和节点的退避造成吞吐量的下降。

2.2 双路径多信道分析模型

设定无线传感器节点的通信范围为2d0+Δd,其中Δd 为无线信号衰减范围所延长的距离,这样每个节点可以与其两跳距离内的邻居节点进行通信。传感器节点进行前向或者后向通信的范围为2(2d0+Δd).

如果源节点分别向其一跳邻居节点和两跳邻居节点发送数据包,中间节点收到数据包后,向其下游两跳邻居节点转发数据包,这样源节点与目的节点之间可以有两条通信路径。通信路径上的2 个传感器节点之间的距离大于2(2d0+Δd),可以共用一条信道。因此,需要5 条信道就可以建立双路径多信道模型,按照节点排列的顺序,将其默认信道一次分配为A—B—C—D—E,如图5所示。

图5 传感器节点的默认信道分配Fig.5 Default channel assignment for sensor nodes

2.2.1 源节点与目的节点之间距离跳数为奇数

源节点与目的节点之间距离跳数为奇数时,WSN 双路径多信道理想数据包调度方案如图6所示,在时间1T,源节点S 切换到节点1 的默认信道A上向节点1 发送数据包Pk1.在时间2T,节点1 切换到节点3 的默认信道C 上向节点3 转发数据包Pk1,同时,源节点S 切换到节点2 的默认信道B 上向节点2 发送数据包Pk2.在时间3T,节点3 切换到节点5 的默认信道E 上向节点5 转发数据包Pk1,节点2 切换到节点4 的默认信道D 上向节点4转发数据包Pk2,同时,源节点S 切换到节点1 的默认信道A 上向节点1 发送数据包Pk3.源节点每个T 发送一个数据包,中间节点接收到数据包后,在下一个T 向其下游两跳邻居节点转发该数据包。

图6 距离跳数为奇数时双路径多信道网络理想调度方案Fig.6 Optimal schedule scheme for dual-pathmulti-channel WSN in odd hop number

理想情况下距离跳数为奇数时双路径多信道的吞吐量为

如果n≫Np,单路径多信道网络的最大吞吐量为

2.2.2 源节点与目的节点之间距离跳数为偶数

源节点与目的节点之间距离跳数为偶数时,WSN 双路径多信道理想数据包调度方案如图7所示,在时间1T,源节点S 切换到节点1 的默认信道A上向节点1 发送数据包Pk1.在时间2T,节点1 切换到节点3 的默认信道C 上向节点3 转发数据包Pk1,同时,源节点S 切换到节点2 的默认信道B 上向节点2 发送数据包Pk2.在时间3T,节点3 切换到节点5 的默认信道E 上向节点5 转发数据包Pk1,节点2 切换到节点4 的默认信道D 上向节点4转发数据包Pk2,同时,源节点S 切换到节点1 的默认信道A 上向节点1 发送数据包Pk3.源节点每个T 发送一个数据包,中间节点接收到数据包后,在下一个T 向其下游两跳邻居节点转发该数据包。

图7 距离跳数为偶数时双路径多信道网络理想调度方案Fig.7 Optimal schedule scheme for dual-path multi-channel WSN in even hop number

由于源节点与目的节点之间的距离条数为偶数,所以源节点与目的节点之间有奇数个中间节点,这样会造成两个路径的长度不同,在路径末端造成通信的冲突。路径2—4—6 比路径1—3—5—7 少一个中间节点,数据传播时间少一个T.在时间5T,两条路径上节点6 和节点7 的数据包在同一个T 到达目的节点D,为了避免碰撞,其中一条路径上的数据包延缓发送,本文中假设中间节点较少的路径延缓一个T 再向目的节点发送数据包,这条路径上会有一个T 的时间延迟,会相应的减少其吞吐量。

理想情况下距离跳数为偶数时双路径多信道的吞吐量为

如果n≫Np,单路径多信道网络的最大吞吐量为

在本节中,假设整个无线网络按照一个T 工作的前提下进行分析的,由于实际无线网络距离跨度大,单个节点通信范围有限,难以实现严格的时间同步。在下一节中提出了不需要时间同步的分布式多信道MAC 协议。

3 分布式多信道MAC 协议

基于多信道MAC 协议xRDT,为每个传感器节点分配一条默认的数据信道C 及其忙音信号bC,在前面已经分别讨论了单路径和双路径情况下信道的分配和路由方式。本节将详细介绍分布式多信道MAC 协议。

每个传感器节点维护一个邻居节点信息列表NIL 和数据发送列表DSL,其中NIL 包括邻居节点距离网关的跳数NIL[i].d 和邻居节点的默认信道NIL[i].ch,DSL 包 括 源 节 点 距 离 网 关 的 跳 数DSL[i].d,数据包长度DSL[i].n 和本次通信所使用的路径模式DSL[i].path.DSL[i].path =1 表示本次数据发送采用单路径模式,DSL[i].path =2 表示本次数据发送采用双路径模式。

WSN 的通信可以分为两个方面,邻居节点间的通信和源节点与目的节点之间的通信。

3.1 相邻节点间的通信

以源节点S 向邻居节点1 发送数据为例,传感器节点在空闲时侦听各自默认的数据信道和盲音信道,当源节点S 有数据包需要发送时,选择本次数据发送所使用的路径模式DSL[i].path =2,根据选择的路径模式从邻居列表NIL[i].d 中选择距离网关比自己近的节点作为下一跳节点。

源节点S 首先侦听节点1 的忙音信号bA,如果发现信道忙碌,则在短暂延时后再次侦听。当发现忙音信号bA空闲后,源节点S 将忙音信号bE置位为忙碌状态,并且将数据信道切换到节点1 的默认信道A,向节点1 发送请求RTS,其中包括DSL.节点1收到RTS 后,如果节点1 正准备发送数据,暂时不方便接收数据,则向节点S 回复延迟发送(DTS).节点S 收到DTS 后,继续侦听节点1 的忙音信号bA,等待节点1 下次通信结束后再尝试向节点1 发送数据。如果节点1 收到RTS 后可以接收数据,则将忙音信号bA置位为忙碌状态,并向节点S 回复RTR.节点S 收到节点1 发送的RTR 后开始向节点1发送数据包DATA,节点接1 收完成后向节点S 回复接收确认ACK,并将忙音信号bA清除,节点S 收到ACK 后,也将忙音信号bE清除,本次数据发送结束,如图8所示。

图8 节点S 向节点1 发送数据Fig.8 Data transmission from node S to node 1

3.2 源节点与目的节点的通信

首先源节点选择使用路径模式DSL[i].path =2,源节点S 在两条路径上分别向目的节点D 发送发送请求RTS1和RTS2,源节点D 收到两条路径上的发送请求后再分别回复RTR1和RTR2.如果节点D 收到其中一个RTS 后在timeout 时间内没有收到另一个RTS,或者节点S 在收到其中一个RTR 后在2timeout 时间内没有收到另一个RTR,则表示这条路径上有节点出现故障,本次通信只使用一条路径。

如果节点S 在Np× timeout 时间内没有收到RTR,可能两条路径上都有节点出现了故障。当路径上某个节点出现故障时,节点可以尝试其一跳节点转发数据,如图9所示,如节点3 出现故障,节点1向节点2 转发数据包,借助路径1 中的节点2 和节点4,经过节点4 向节点5 转发数据包回到路径2.两条路径共用链路(节点2—节点4),两条路径上的吞吐量受到链路(节点2—节点4)吞吐量的限制,理想情况下,两条路径上的最大吞吐量与一条路径的吞吐量相同。由于数据包在此处出现碰撞,随着延迟的增加网络的吞吐量会进一步降低。因此,只有在两条路径都出现故障时才使用这种方法。

图9 节点3 故障时的路径选择模型Fig.9 Route choice model in node 3 failure

4 性能分析

根据现场的应用情况,通过单信道网络结构和多信道两种路径的网络结构在能量消耗和吞吐量两个方面的比较,综合分析本文提出的信道分配和路由算法以及分布式多信道MAC 协议。设定数据信道的带宽为1 Mbit/s,数据包的长度Ld为1 kbit,发送失败后最大的重复次数为5.下面将单信道与多信道网络在能耗和吞吐量两个方面进行比较。发送方与接收方发送或接收数据的信号传输功率模型为

式中:Pr为接收方的接收功率(W);Pt为发送方的发送功率(W);gt为发送方的天线增益;gr为接收方的天线增益;d 为发送方与接收方的距离(m);λ 为载波波长(m);n 为路径损失系数,根据物理环境的不同在2~6 之间变动。

假设Pmin为接收方的最小接收功率,gt,gr,λ 为常量,空旷环境下n 取值为2,因此,可以将发送功率Pt与距离d 的关系表示为

在单信道WSN 和多信道单路径模型中传感器节点的通信距离为d0,则发送功率为Ps= Pms=Gd20,而多信道双路径模型中传感器节点的通信距离为2d0,发送功率为Pmd=4Gd20.以源节点到目的节点的距离的跳数为Np,节点发送数据所需要的时间为T,源节点发送n 个数据包为例。单信道和多信道单路径网络发送数据包发送所消耗的能量为Ws=Wms=nNpGd20T.多信道双路径所消耗的能量为

图10 为现场应用情况下能量消耗与网络负载之间的关系,多信道双路径网络的能耗大约是单信道和多信道单路径网络的2 倍。由于单信道无法解决终端隐藏和终端暴露问题,随着用户负载的增加,网络上的数据碰撞使传感器节点发送次数增多,进而增加了网络的能量消耗,所以单信道网络的能耗比多信道单路径网络多一些。

图10 能量消耗与网络负载之间的关系Fig.10 Relationship between energy consumption and network load

在前面已经讨论了理想情况下3 种网络模型的吞吐量。现场应用情况下3 种网络的吞吐量如图11 所示,随着节点负载的增加3 种网络的吞吐量到达饱和后,传感器节点间抢占信道,节点退避造成网络延迟增加,进而网络吞吐量开始逐渐降低,其中单信道网络衰减的尤为严重。

图11 吞吐量与网络负载之间的关系Fig.11 Relationship between throughput and network load

5 结论

针对应用在输油管道上的单信道WSN 所遇到的问题,提出了单路径和双路径2 种多信道网络模型及其信道分配和路由方法。与其他MAC 协议相比,文中所提出的分布式MAC 协议不需要任何形式的时间同步,适合于节点距离较远的WSN.与单信道WSN 相比,所提出的多信道WSN 显著提高了网络的吞吐量,而且多信道单路径网络能量消耗少。虽然,多信道双路径网络的传感器节点采用较大的通信半径,需要消耗较多的能量,但是提高了网络的吞吐量,增强了网络的容错能力。

References)

[1] Alicherry M,Bhatia R,Erran L.Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks[J].IEEE Journal on Selected Areas in Communications,2006,24(11):1960-1971.

[2] Jungmin S,Nitin H.Multi-channel MAC for Ad hoc networks:handling multi-channel hidden terminals using a single transceiver[C]∥Proceedings of the 5th ACM International Symposium on Mobile Ad Hoc Networking and Computing.New York:ACM:2004:222-233.

[3] Wu S L,Lin C Y,Tseng Y C.A new multi-channel MAC protocol with on-demand channel assignment for multi-hop mobile ad hoc networks[C]∥International Symposium on Parallel Architectures,Algorithms and Networks.Dallas:I-SPAN,2000:232-237.

[4] Haas Z J,Jing D.Dual busy tone multiple access (DBTMA)-a multiple access control scheme for ad hoc networks[J].IEEE Transactions on Communications,2002,50(6):975-985.

[5] Wu S L,Tseng Y C,Sheu J P.Intelligent medium access for mobile ad hoc networks with busy tones and power control[J].IEEE Journal on Selected Areas in Communications,2000,18(9):1647-1657.

[6] Shacham N,King P.Architectures and performance of multichannel multihop packet radio networks[J].IEEE Journal on Selected Areas in Communications,1987,5(6):1013-1025.

[7] Maheshwari R,Gupta H,Das S R.Multichannel MAC protocols for wireless networks[C]∥3rd Annual IEEE Communications Society on Sensor and Ad Hoc Communications and Networks.Reston,VA:IEEE,2006:393-401.

猜你喜欢
吞吐量数据包信道
二维隐蔽时间信道构建的研究*
信号/数据处理数字信道接收机中同时双信道选择与处理方法
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
一种无人机数据链信道选择和功率控制方法
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
基于导频的OFDM信道估计技术
2014年1月长三角地区主要港口吞吐量