信道接入协议对网络的性能起着决定性的作用,是WSNs技术的研究重点之一。单信道的信道接入协议在节点规模增大时,网络性能明显变差。采用多信道机制,可以提高网络吞吐量,减小传播延时,降低冲突的概率,更易于支持网络的QoS(Quality of Service)保障。多信道协议主要应解决两个问题:信道分配和接入控制,信道分配是要为不同的通信节点分配相应的信道,接入控制是确定节点接入信道的时机,解决好竞争和冲突的避免问题。本文介绍3种多信道的信道接入协议:多信道的CSMA(Carrier Sense Multiple Access),FAMAC(Frequency Assignment based multi-channel Multiple Access Control),DCA-PC,其中DCA-PC是本文的重点。
基于CSMA和FAMAC的多信道MAC层协议
● 多信道CSMA
是一种基于载波监听的信道接入协议。其设计目标是通过使用多信道来减少隐终端问题的影响,减少数据报文的冲突。它采用准信道预留技术,通过分布式的载波监听来对多个信道进行分配。
准信道预留技术的原理是:当节点发送报文时,它优先选择上次使用过的信道;如果该信道忙,就通过载波监听随机选择一个空闲信道发送数据。
多信道CSMA将可用信道分为N个不重叠的信道,一般而言N要小于无线传感网网络中节点的数目。每个子信道的带宽是整个信道带宽的1/N。
● FAMAC协议
FAMAC是一种基于频率分配的多信道接入协议,设置一个控制信道和多个数据信道。实现时,所有节点使用一个固定的频率作为控制信道,完成RTS(Request To Send)和CTS(Clear To Send)的交互。处于空闲状态的节点驻留在控制信道上。另外,为每个节点分配一个不同的频率,作为该节点的数据信道值。信道选择时,发送者向接受者发送的RTS中,携带自己的频率信息。接收者收到RTS后,记录发送者的频率,回送CTS,将电台切换到发送者的频率上,接收数据。
以上两种协议都是针对多信道设计的,较好地解决了接入控制和信道选择问题;隐终端和暴露终端的影响也得到了很好地控制。由于WSNs的节点通常运行在人无法接近的恶劣甚至危险的远程环境中,能源无法代替,难以补充。所以能量受限的约束条件要求其MAC协议首先要关注的就是能量效率,要尽可能地节约能源,而上述两种协议对此未作足够的考虑。DCA-PC协议从节约能耗的观点出发,在MAC协议设计中探索了集成功率控制和多信道接入两种机制的可能性。
采用功率控制的多信道协议DCA-PC
DCA-PC协议首先在WSNs的MAC层设计中将功率控制的概念与多信道接入结合起来,节约能耗,减少邻居节点共用信道时的相互干扰,提高信道复用度。
● 信道模型
带宽被划分为一个控制信道和n个数据信道D1,D2,……,Dn。控制信道用于控制报文的传送,目标是为节点合理分配数据信道,避免冲突;数据信道用于数据报文和ACK(Acknowledgement)报文的传送。
从避免冲突,提高信道预约成功率的角度出发,控制报文发送采用最大功率;为了降低能耗,提高信道复用度,将数据报文的发送功率划分为大小不同的若干等级,通过RTS-CTS握手,可计算出双方通信必需的最小功率,数据报文发送采用最接近最小发送功率的那个功率等级。
为实现动态信道分配和功率控制,每个节点都要保存3个数组。以节点A为例来说明:
Power[i]功率列表: 节点A向节点i发送数据报文时应采用的功率等级。(——可利用功率控制的原理计算得出。)
CUL(Channel Usage List)[i]信道使用状况列表: A节点获悉的已用信道列表。CUL[i]有4个域:
——CUL[i].host:记录节点A的邻居节点的主机。
——CUL[i].ch :记录CUL[i].host占用的数据信道。
——CUL[i].rel-time :表示释放CUL[i].ch数据信道的时间。
——CUL[i].int记录CUL[i].host发送的信号是否会被节点A听到(CUL[i].int值为1或0)。
FCL空闲信道列表: 节点发送数据时的可用信道列表,可根据CUL计算得出。