无线传感网络中机会性的组播路由
2019-04-01聂燕柳
聂 燕 柳
(郑州工业应用技术学院 河南 新郑 451100)
0 引 言
传统的基于数据收集的无线传感网络WSNs[1-2]能够支持多对一(Many-to-one)的流量模型。多个源节点向单个目的节点(信宿)传输数据,如以信宿为根的数据收集树。而一些数据收集协议也支持沿着根向叶的数据传输,即形成一对多(One-to-Many)流量模型。此外,一些数据收集协议具有一定扩展性,对它们进行修剪,它们也能支持多个源节点向潜在多目的节点中任意一个节点传输数据,即多对任意(Many-to-any)节点。
然而,目前缺乏多对多(Many-to-Many)的数据收集协议,即组播协议[3]。设计有效的组播协议的挑战之一:WSNs中无线电常采用值日周期DC(Duty-Cycled)策略,即周期性或事件触发型地关掉、开启无线电,进而保存节点能量。但当一个节点要接收数据包时,发送节点的无线电和接收节点的无线电都必须开启。因此,如何给发送节点和接收节点安排一个短暂的同时开启无线电的时间成为WSNs的关键[4]。发送节点等待接收节点开启无线电的时间越长,发送节点所消耗的能量也就越多。若发送节点需要等待多个接收节点,如组播,则发送节点将消耗更多能量,这些因素加剧了设计组播协议的难度。而机会模型能够有效地提高数据收集的能效、时延和可靠性。机会模型允许节点依据网络条件和事件动态选择转发节点,这就增加了发送节点在选择转发节点的空间。
若采用单一转发节点,发送节点需等待预选的转发节点唤醒,这必然增加时延和能耗。而相比于单一转发节点,构建转发节点集(多个转发节点),可以有效地降低转发时延。一旦构建了转发节点集,发送节点能够机会性将数据传输转发节点集内第一个唤醒的节点。一方面,降低了转发时延,另一方面,也增加链路的强健性,提高数据传输的稳定性,降低能耗。
为此,本文提出基于机会性组播路由OMR(Opportunistic Multicasting routing)。OMR路由考虑多个目的节点,先构建转发节点集,再从转发节点集内选择一个转发节点,通过此转发节点向目的节点传输数据包复本,直到所有目的节点均接收到数据包。仿真结果表明,提出的OMR路由能够有效地提高能效,并降低传输时延。
1 OMR路由
OMR路由是基于DC的异步MAC协议。每个节点周期地广播beacon包,节点通过交互beacon包,获取邻居节点信息。在广播beacon间隔TF内,所有的潜在转发节点进入休眠状态[6],休眠时间从[0.5TW,1.5TW]中内随机选择,其中TW由网络设定的唤醒间隔,即节点的期望休眠时间。
OMR模型主要由转发节点集的构建FSS(Forwarder set selection)、目的节点代表的委派DD(Destination Delegation)两个阶段构成。在FSS阶段,源节点决定哪些邻居节点可以作为数据包的下一跳转发节点。当构建转发集后,发送节点再从转发集中选择一个能向目的节点传输数据包的节点作为转发节点,这个过程称为DD阶段。
1.1 FSS阶段
所谓组播,就是数据包有多个目的节点,这样的数据包称为组播数据包。假定数据包的目的地址集为D,发送节点必须决定哪些邻居节点能够转发数据包(成为转发节点)。
节点覆盖:若一个转发节点能够向目的节点d∈D传递数据包,则说明该转发节点能够覆盖d。对于任意一个组播数据包,要求组播转发节点能够覆盖所有目的节点d∈D。转发节点集内至少有一个节点覆盖每个目的节点。
尽管最初将邻居节点作为转发节点,但后期须从这些邻居节点选择一些合适的节点作为转发节点。为此,本文引用两个简单的启发式算法构建转发节点。这两个算法仅依据路由梯度内的信息选择转发节点。
接下来以图1为例,分析这两个算法的具体的实施过程。
(a) 以节点5为目的节点的梯度 (b) 以节点6为目的节点梯度 图1 构建转发集示例
如图1所示,假定数据包的目的节点集D={5,6}。图1(a)、(b)分别显示以节点5、6为目的节点的梯度。接下来,以构建节点1的转发节点集为例,说明Union算法和MCS算法构建转发节点集的过程。
表1 以Union算法构建转发集
表2 以MCS算法构建转发集
1.2 DD阶段
接下来,进行目的节点代表的委派工作。所谓目的节点代表就是将部分目的节点作为节点j的目的节点[7]。假定指定给节点j的目的节点集为Dj。对于任意一个目的节点d∈D,如果满足下式,则将节点d加入Dj。
(1)
图2 构建DD阶段示例
1.3 OMR路由流程
随后,等待Dj内的目的节点唤醒。一旦Dj内有目的节点唤醒(假定节点d),节点j将就数据包传输至d,并将d从Dj中删除。再判断Dj是否为空,若为空,则结束。否则,再等待Dj的其余节点唤醒,重复上述过程,直到Dj为空。整个路由流程如图3所示。
图3 OMR算法流程图
节点3等待目的节点唤醒,一旦有唤醒,就将数据包传输至唤醒它的目的节点[8]。如图4(c)所示,目的节点6先唤醒。随后,再等待目的节点5唤醒,一旦唤醒,就将数据包传输至节点5,如图4(d)所示。
(a) 初始状态(b) 将复本传输至节点3
(c) 节点3将复本传输至节点6
(d) 节点3将数据包传输至节点5图4 OMR路由示例
2 性能仿真
2.1 仿真环境
利用MATLAB软件建立仿真平台。引用文献[9]的RI-MAC机会模型作为仿真模型的链路层。仿真参数如表3所示。
表3 仿真参数
系统中总共部署K个源节点,优先在区域的四个角部署4个节点,并在区域中心部署一个节点。剩余的源节点随机部署于区域内。M个目的节点也随机部署于仿真区域内。在每个拓扑环境下,每个源节点以特定间隔产生100个数据包。以下的实验数据是基于50个拓扑结构下所获取的实验数据的平均值。
为了更好地分析OMR路由性能,选择文献[10]的DownTree-Opp和文献[11]的FROMS进行比较,并分析它们的转发数据包所消耗能量(转发能耗)、传输时延和数据包复本数。其中转发能耗表示TX/RX因实施组播方案,额外消耗能量的单位为单元(Units),它表示无线电开启一毫秒所消耗的能量。而传输时延表示从源节点将数据包传输至所有组播的目的节点所消耗的时间。数据包复本数是指数据包的分裂次数,次数越低,性能越好。
2.2 数据分析
2.2.1 目的节点数对算法性能的影响
首先分析目的节点数对路由性能的影响,本次实验参数:100个传感节点、5个源节点,目的节点数从1变化至10,步长为1。仿真数据如图5-图7所示。
图5显示了三个协议的转发能耗随目的节点数的变化情况。由图5可知,三个协议的转发能耗随目的节点数增加呈增长趋势。这正是所预期的,目的节点数越多,转发的数据包数次数也越多,所消耗的转发能量也越多。相比于DownTree-Opp和FROMS协议,提出的OMR路由的转发能耗最低。
图5 转发能耗
图6显示了三个协议的传输时延。由图6可知,目的节点数的增加,传输时延也增加。原因在于:目的节点数越多,离源节点距离远的概率也就越大,就增加了传输时延。此外,FROMS协议的传输时延性能最差,这主要是因为FROMS是依据最优结构树传输数据包,因此,发送节点必须等待特定的转发节点唤醒,这增加了传输时延。
图6 传输时延
图7显示了三个协议的消息复本数。由图7可知,OMR路由的复本数远低于DownTree-Opp协议,但它的复本数高于FROMS协议。这说明了OMR算法是通过高的复本数换取低能耗、低时延。
图7 消息复本数
2.2.2 传感节点数对算法性能的影响
本次实验分析传感节点数性能的影响,实验参数如下:传感节点数从50至200变化,步长为50;源节点数为5,目的节点为10。
先分析节点数对转发能耗的影响。由图8可知,提出OMR路由的转发能耗性能优于DownTree-Opp和FROMS路由。并且,OMR路由的转发能耗随节点数的增加而下降,原因在于:节点数越多,转发节点集内节点数也越多,可选择的下一跳转发节点的概率就越大。
图8 转发能耗
图9的传输时延数据也再次证实了OMR路由的性能。由图9可知,相比于FROMS和DownTree-Opp路由,OMR路由的传输时延得到有效的控制。例如,当传感节点数为200时,OMR算法的传输时延约790 ms,而FROMS路由、DownTree-Opp路由的传输时延分别达到2 200 ms、1 200 ms。
图9 传输时延
最后,分析了三个协议的消息复本数。由图10可知,OMR路由的消息复本数仍介于DownTree-Opp和FROMS路由性能之间。DownTree-Opp路由的消息复本数最高,原因在于:数据包是依据DownTree协议传输,这就存在树叶重叠,导致了更多的数据包复本数。
图10 消息复本数
2.2.3 源节点数对算法性能的影响
本次实验分析源节点数对算法性能的影响。实验参数:传感节点数为200,目的节点数为30,源节数分别为5、7、9和10。
图11显示了三个协议的平均能耗,由图11可知,平均能耗源节点数增加呈增长趋势。原因在于:源节点数越多,所发送的数据包越多,消耗的能量肯定越多。对比图8不难发现,目的节点数和源节点数的增加,消耗了更多能量。这主要因为:目的节点数越多,数据包传输的次数也就越多。
图11 转发能耗
图12显示了OMR、FROMS和DownTree-Opp协议的消息复本数。结合图10和图7的数据,不难发现,目的节点数和源节点数的增加,快速地增加了消息复本数。这符合期望:目的节点越多数,源节点需要传输的数据包数就越多,每条消息的复本数就越多。
图12 消息复本数
3 结 语
针对基于DC的WSNs,提出机会性组播路由OMR,使其具备可扩展、高能效和高可靠性。OMR路由给每个给定的发送节点,通过简单的启发式算法构建转发节点集,一旦转发节点集内的节点唤醒,就将消息复本传输至此节点,再由此节点传输至目的节点。仿真数据表明,提出的OMR具有低能耗和低时延性能。
深度分析OMR路由的开销,并降低网络维持成本,将是后期研究工作的方向。