《1 前言》

1 前言

无线传感器网络(wireless sensor network , WSN)是一种无基础设施、多跳、自组织的网络,网络中的节点具有感知、收集、聚合、处理、转发数据的功能,通过无线信道进行通信,可以广泛地应用在军事、环境、健康、家庭、空间探索、灾难拯救和其他商业领域[1]

无线介质的广播特性允许多个节点接收和处理同一个传输的信号[2],协同中继就是利用这一特性,使节点协同通信,成功将信息发送到汇点。与直接传输和传统的经典中继相比,它能明显降低获得一定的中断概率所需要的信噪比(SNR)。由于无线链路造成的独特问题、在无线链路上机会通信的可能性以及无线介质所提供的通信模式,激发人们进行跨层设计的尝试。通过同时对网络的多个层次进行优化控制,跨层设计可以大幅度提高网络容量,减少干扰和功率消耗[3]

《2 系统模型》

2 系统模型

WSN 节点可以用一个无向图 G ( VE)来表示。 表示节点集合,E  表示边的集合。节点 uv  间存在边(uv)∈E,意味着 u v  间存在一条可以互相通信的无线链路。

《2.1 基本定义》

2.1 基本定义

定义 1    虚拟自主转发节点是这样的节点集合

式( 1 )中,  为节点 i  的剩余能量;  为节点能够工作的最小剩余能量,其目的是确保一个接收节点的剩余能量保持在该节点能够工作的能量之上; 为接收节点 链路的信噪比; 为接收节点链路信噪比的最低阈值,其目的是为了构建可靠的通信链路; ζ i 为节点 i  的缓冲区占用; ζ max 为节点的最大缓冲区,其目的是为了确保缓冲区不溢出,从而可以有效地防止丢弃包( drop packet ); 为节点 i  可以中继的通信流; 为节点可以中继的最大通信流,其目的是可以通过限制一个节点可以中继的通信量来预防阻止拥塞。

定义 2 下一跳可行自主转发虚拟节点集合 J 。当一个节点 i  有 DATA 包要发送时,i  就广播一个RTS 请求,其邻居就会收到该广播包,那些比节点 i  距离汇点更近,并且符合公式( 1 )的节点 j  的集合就形成下一跳可行自主转发虚拟节点集合 J,节点 j 会向节点 i  发送 CTS 。

定义 3 虚拟中继可行节点集合 R 。 假定节点的 i  下一跳转发节点是 j,虚拟中继可行转发节点集是这样的节点集合:节点 r  在下一跳转发节点 j  的传输范围之内,并收到来自节点 i  的一个 RTS 及一个 DATA 包,将该 DATA 包存储,当下一跳节点 j  不能解码数据包时,节点 j  会发一个“重新传输请求”( RREQ )控制包给节点 i  ,偷听到 RREQ 控制包的节点 r  的集合形成一个虚拟可行中继节点集 R

定义 4 虚拟可行跃进节点 L 。 虚拟可行跃进节点属于这样的节点集合:偷听到一个中继节点传输的 DATA 包的节点,该节点从没有收到这个 DA - TA 包的 RTS,并能对所收到的 DATA 包进行正确解码,比下一跳节点距离汇点更近的节点 I  所形成的节点集合 L

《2.2 链路和网络假设》

2.2 链路和网络假设

网络中所有节点具有自己的位置信息以及汇点 sink 的位置信息;除 sink 节点外,每个节点在协同将数据包从源传输到汇点的过程中,可以作为下一跳的转发节点 NHF ( next_hop forwarding node )、中继节点 RFN ( relay forwarding node )或作为跃进节点 LPF ( leapfrogging node ),在这里,我们称这些符合条件的节点形成一个虚拟可行转发节点集合。下一跳节点与传统的方法相似,将数据包逐跳转发。为了确保虚拟节点集合中最适合的节点选择来转发数据,符合条件的虚拟节点集合中的节点竞争作为 NHF 、RFN 、LPF 节点。节点的选择和节点的角色分配过程是基于尺度来进行的。

假设有 | V | 个节点均匀地分布在整个无线传感器网络中。每个节点都安装了一幅全向天线,这样每个节点都可以从其他节点接收到信息,并且网络中的所有节点都是工作在半双工模式,即不能同时接收和发送。同时假设每个节点的背景噪声是方差为 σ的高斯噪声。每个节点接收采用最大比值合并和解码中继协议,即当节点正确接收信息后,才将信息转发到下一跳节点,这样每一条的信息传输都是可靠传输,可以避免错误信息被传递。MAC 层协议利用带 RTS / CTS 的 CSMA 协议。信道模型。

瑞利平坦衰落模型[4]:任何两个距离为 的传感器节点之间传输数据包输入输出关系建模:

式( 2 )中,α 是无线信道的路径损失指数,2 α 6;r] 和 st ] 分别是复合的接收信号和发射信号,gt ]是描述衰落的信道增益,gt ] ~ CN( 0,1 ),方差被归一化为 1 ; wt ] 是均值为零的复合加性白高斯过程,波谱功率密度为 N0wt ] ~ CN(0,N0 )。

能量消耗模型:             

式( 3 )中, ε0 是初始能量; si 是在时间 i  时无线收发器的状态; εs 是在状态 s  的能量消耗。感器节点的无线收发器状态可以是传输、发送、空闲。

《3 MCRICQR 算法》

3 MCRICQR 算法

无线传感器网络中基于尺度的协同中继自主转发跨层 QoS 路由算法( metric - based cooperativerelay initiative forwarding cross - layer qos routing,MCRICQR),与以前所提出的 QoS 路由算法最大的不同是:下一跳转发节点的选择由其通信范围内节点所形成的虚拟可行转发节点集合通过竞争决定,每个节点不用存储邻居节点的信息。即每个节点 i  根据自己当前的能量、信道状况、拥塞情况(由 ζi 来共同确定)以及与汇点的距离来决定自己所扮演的角色,节点的角色可以是 NHF 、RFN 、LPF,然后节点自主转发数据。这样,每个节点就不需要浪费宝贵的存储空间来存储邻居节点信息。由于竞争是基于定时器时间的,可以减少信道争用,提高信道利用率。 此外,节点不用为维护路由等进行额外的能量开销。

当节点 i  有数据包 DATA 要发送时,它首先广播一个 RTS 控制信息包,该包包含的内容有节点 i  的位置、DATA 包标识符以及响应 CTS 的持续时间。RTS 包可以让收到该包的节点用来作为链路质量指示器(RSSI),计算瞬时信道增益 g ij t ],所有收到节点 i  的 RTS 包的节点根据公式(1),同时满足 d i,sink < d j,sink  形成一个下一跳虚拟可行转发节点集合 ,集合 J  中的每个节点 j  根据公式(4)来计算尺度,根据公式(5),选出 NHF 节点。

式(4)中,abc 为权重系数,一般设为常数。

t  时刻,最佳下一跳转发节点 NHF 为:

下一跳虚拟可行转发集合中的每个节点 j,计算尺度后,设置一个定时器的等待时间,该定时器与 m jt ]成反比,定时器结束时,发送 CTS 包响应该 RTS 包。当节点在定时器超时前听到其他节点发送的 CTS 对同一个 RTS 响应,则它放弃竞争。这种竞争基于尺度,可以提高无线链路的利用率。节点 i  将数据转发给赢得竞争的节点 NHF。节点 i  忽略首次 CTS 到达后的所有针对该 DATA 的 CTS 包,其目的是为了避开隐藏终端的影响。

节点 i  收到节点 NHF 发 来的 CTS 后,就将 DATA 包发送给下一跳转发节点 NHF 。 如果 NHF 能够成功地将 DATA 包接收并解码的话,则 NHF 就向节点 i  发送一个 ACK 控制信息包,该控制信息包包括 DATA 包标识符等相关信息。由此可知,上一跳和下一跳节点间是基于 RTS / CTS 的交换。

如果节点 NHF 不能正确地解码 DATA 包,则节点 NHF 就向节点 i  发出一个重新请求发送 RREQ(该控制包也可以作为判断 NHF 有无中继节点的依据,当 RREQ 2 时,存在中继节点),RREQ 控制包携带的内容有:DATA 包的标识符,下一跳节点的地理位置信息等。节点 i  收到 RREQ 包之后,就为该重传包设置 RREQ 定时器,其值为 NHF 定时器值大小。当虚拟中继可行集合 R 中的每个节点偷听到 RREQ 后,计算瞬时信道增益,并根据计算尺度选择公式( 6 ),竞争最佳中继节点。根据公式( 7 ),可以找到 RFN 节点。 虚拟可行中继节点集合 R 中的每个节点设置一个计时器,该计时器与 mr [t]成反比,定时器最先到期的节点就是 RFN,RFN 就向节点 NHF 发送 DATA 包。其他中继节点听到有 DATA 在传送给 NHF 就放弃竞争。节点 NHF 成功收到 DATA 包后,就向节点 i  发送一个 ACK 控制包,节点 i  收到该 ACK 包后,就取消 RREQ 定时器。节点 NHF 扮演节点 i  的角色转发数据包。如果虚拟可行中继节点集合为空,则上一跳节点 i  在设置的定时器时间过期时重传该 DATA 包。

t  时刻,最佳中继节点 RFN 为:

当节点 RFN 向节点 NHF 发送 DATA 包时,RFN 的通信范围内的节点也会偷听到该 DATA 包。此时,若 NHF 节点还不能正确地接收该 DATA 包,NHF 就会向节点 i  再次重新发出 RREQ 请求(此时 RREQ = 2,节点 i  就可以判断有中继节点存在,否则,在第一次 RREQ 到期时,节点 就会向节点 NHF 重传 DATA 包),RFN 的通信范围内的距离比 NHF 更接近汇点的节点就形成跃进节点集合 L,集合中的每个节点  根据公式( 8)来计算自己的度量,根据公式(9 ),可以获得跃进节点 LPF 节点。然后节点 设置一个定时器,该定时器的值与 成反比,定时器最先结束的节点就发送 ACK 控制包到节点 RFN,此时,节点 NHF 也会收到该 ACK 控制信息包,节点 NHF 就会停止转发处理该 DATA 包。此时,LPF 就扮演节点 i  的角色,来转发数据包给其下一跳节点。

t  时刻,最佳跃进节点 LPF 为:

MCRICQR 算法伪代码:

节点 i  有 DATA 包要发送,就广播一个 RTS 包;节点 j  根据尺度公式(4)计算;

Case NHF 收到 DATA 包情况

能正确接收数据包:

节点←节点 NHF 的 ACK 数据包;

节点 NHF 再扮演节点 i  的角色;

Break;

不能正确接收数据包:

NHF 发出 RREQ 请求;

If 存在中继节点 then

RFN 节点将数据包发给节点 NHF;

If 节点 NHF 的数据包能够正确接收 then

  节点 i ←节点 NHF 的 ACK 数据包;

  节点 NHF 再扮演节点 i  的角色;

Break;

Else if 存在跃进节点

跃进节点 LPF 向中继节点 RFN 发送 ACK 包,从而阻止节点 NHF 处的数据包转发过程; 节点 LPF 再扮演节点 i  的角色;

Break;

Else 节点 重新发送该数据包给节点 NHF

End if

《4 仿真结果和分析》

4 仿真结果和分析

通过仿真实验对所提出的跨层设计方法进行算法性能评估,下面依次给出实验环境、实验设计、实验结果以及分析。

《4.1 实验环境》

4.1 实验环境

OMNET + +[5]是一种面向对象的模块化离散事件驱动的开源仿真器。在 OMNET + + 环境下使用 C + + 和 NED 实现了该算法,实验设备是一台运行 Windows XP SP2,具有 P4 2.8G Hz 的 CPU , 512MDDR 内存的 PC 。实验中,假设 100 个传感器节点均匀地部署在 500 m × 500 m 的监测区域内,sink 节点被部署在(0,0) 位置,节点的传输半径设为100 m 。仿真过程中取权重系数 a = b = c = 1,表明能量和距离、信噪比以及剩余存储空间在仿真过程中认为它们按照相同权重来考虑。

《4.2 实验设计与性能分析》

4.2 实验设计与性能分析

为了使仿真结果比较具有可信性,实验设计时仿真的相关参数与文献[6]中一致。 QoS routing[6]路由基于节点知道自己的地理位置, 使用 802.11CSMA 协 议。实验中, 能量节点的减少与文献[6]中一致,即包接收和包发送的所消耗能量比为 1.05∶1.4 。 数据包载荷的大小设为 512 bytes,数据包在源节点的生成速率为 0.5 、1 、1.5 、2 包/ s 。每个仿真运行 500 s,在仿真期间,网络不断裂。在仿真开始,所有的节点能量为 500 单位。最后取平均值进行比较。

在图 1 中,MCRICQR 比 QoS routing 平均时延低的原因在于,前者基于尺度选出最适的节点来转发数据包;当有中继节点存在时,不需要上一跳节点直接重传数据包。图 2 中,由于 MCRICQR 在进行选择转发节点的时候,考虑了节点的能量效用均衡,以及节点负载均衡的原因,获得较长的网络生存时间。QoS routing 方法中,没有考虑中间结点缓冲区溢出问题,一旦数据发生溢出,会产生丢包,就会造成数据的重传,以及额外的控制包传送而消耗网络能量。图 3 中,当数据包的期限足够长的时候,两种方法的数据传递率都很高,当数据包的期限短的时候,两者的数据传输率都发生急剧降低。MCRICQR 比 QoS routing 下降得稍微慢些,其原因在于,前者

《图1》

图1 不同 QoS 路由平均包延迟

Fig.1 Average packet delay for different routing schemes

《图2》

图2 不同路由方法下网络生命时间

Fig.2 Network lifetime for different routing schemes

《图3》

图3 不同期限下包传递率

Fig.3 Packet delivery ratio for different deadlines

在调度时,综合考虑了信道情况、拥塞情况等因素,避免了不必要的等待和冲突。图 4 中,MCRICQR 和 QoS routing 在数据生成速率低的时候,平均吞吐量都很高。随着数据生成率的增加,两者的吞吐量也随之降低。前者进行转发数据时,转发节点的选择基于尺度,竞争成为转发节点,处在最有利转发数据的节点,才会竞争成功,因此,其数据传输成功的概率就高,从而提高了网络的平均吞吐量。

《图4》

图4 不同包生成率下吞吐量

Fig.4 Throughput for different packet generation rates

《5 结语》

5 结语

基于尺度的协同中继自主转发跨层 QoS 路由算法(MCRICQR)应用在 WSN 中。节点根据自身所处的位置、剩余能量、信道状况、中继队列通信流以及节点缓冲区使用情况,形成一个综合的度量尺度,根据尺度值进行竞争成为 NHF 、RFN 、LPF 节点,自主转发数据。仿真结果表明,MCRICQR 方法能够根据网络状态及时转发数据,时延低,提高网络可靠性,具有较强的鲁棒性和自适应性;MCRICQR 方法是基于尺度进行竞争自主转发数据,可以对网络进行负载均衡,提高网络吞吐量,延长网络寿命,保障了 WSN 的 QoS 需求。同时,MCRICQR 方法不需要为保持网络拓扑信息和实现复杂的路由发现算法而消耗计算资源,它不会招致任何端到端的路由维护过程的过度开销,提高了能量效率。