- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
一种快速可靠的无线传感器网络路由
引 言
无线传感器网络(wireless sensor networks,简称WSNs)是当前在国际上备受关注的涉及多学科高度交叉的热点研究领域。它综合了传感器技术、嵌入式计算技术、现代网络及无线通信技术等,能够通过各类集成化的微型传感器协同工作,完成指定的任务,并进行自组织无线通信网络以多跳中继方式将所感知信息传送到用户终端。
WSNs一般运行在人们无法接近的恶劣甚至危险的远程环境中,并且传感器节点通常携带不能补充的有限能量。低能耗、低延迟、自动修复路径成了WSNs最根本的要求。目前所存在的WSNs路由协议大都不能同时满足这样的条件,或者需要依靠特殊硬件才能实现这些功能,本文提出了一种快速可靠的低能耗路由(a fast andreliable protocol,简称为FRP),不仅可以满足上面的基本要求,还可以工作于任务查询方式及事件驱动方式,并具有较强的路径修复能力。
FRP主要分为3个部分。首先是构建路由树结构,SINK点以洪泛方式向传感器网络传播路由树组建消息,使得网络中的每个节点都拥有自己的级别值和父节点,然后SINK点将所要查询的任务通过路由树发布出去;最后源节点将选择最短路径将数据反馈给SINK点。FRP主要能够实现以下几种功能:任务查询、事件驱动以及路径自我修复。而这些仅依靠普通的射频芯片即可实现,以下将做详细介绍。
1 FRP路由的建立与运行
1.1 路由树的建立
在无线传感器网络里,由于受到射频芯片通信距离的限制,单个节点无法了解网络中全部节点,只能知道其邻节点的一些信息。因此第一步需要建立路由树结构,让节点了解其所处的级别及父节点。SINK点首先通过洪泛方式向网络传播路由树组建消息。组建消息由组建标志位、发送节点ID、发送节点级值组成。收到该组建消息的节点将发送节点ID记录为父节点,然后将级值加1,并以自身ID和级值更新消息后继续向邻节点传播,直到网络中所有节点都拥有自己父节点和级值。由于洪泛传输中可能会导致已经发出消息的节点再次收到邻节点将级值加1后重新发送来的消息,从而导致消息循环。为了解决该问题,文中制定如下规则:当一个节点从邻节点处收到组建消息时,首先检查消息中级值是否低于自身级值,如果是,则以该级值更新,并向邻节点发送新的组建消息;否则将不予处理。在组建消息传播过程中,节点选择最早发送其消息,级值更低的节点作为父节点。图1所示为路由树的初始化过程。
1.2 任务查询机制
当SINK点进行任务查询时,首先以洪泛方式向整个网络发布任务查询命令,该命令主要由任务查询标志位、任务发送节点ID、任务发送节点级别、任务条件、任务存活时间等字段组成。收到该命令的节点,将以记录的形式将本次任务存储在本地存储器里,每一条记录代表不同的任务。当节点收到任务查询命令时,首先检查命令中的发送节点级别,若低于本身节点,则与本地存储的任务记录表相比较,如果不存在该任务,则添加该任务记录。然后检查自身是否满足该任务条件,若不满足,则以本身级点更新任务查询命令中的任务发送节点ID、任务发送节点级别,然后转发该命令;否则该节点即为源节点,并从任务查询命令中取出任务发送节点ID,作为目标节点,准备向其发送任务确认命令。该命令由任务确认标志位、源节点ID、数据发送节点ID、测量数据等字段组成。收到任务确认命令的节点从中取出数据发送节点ID,存储在任务记录中,作为以后相同任务的子节点,然后以自身ID作为新的数据发送节点ID更新命令,并从任务列表中取出该任务的任务发送节点作为目标节点继续传输任务确认命令,直到返回至SINK点。同时,其它未收到任务确认命令的节点将会在任务存活时间到期后,将存储器中的任务记录删除。在任务查询命令广播过程中,若接收节点检测到本地任务记录表中存在相同任务,则从该记录中取出子节点作为目标节点,向其发送任务查询命令,避免洪泛传播,从而大大节约了能量。
1.3 事件驱动
当某事件被传感器节点捕捉时,则该节点即为源节点,并向其父节点发送事件命令。该命令由事件类型、源节点ID、发送节点ID、测量数据组成。收到事件命令的节点,以自身ID作为新的发送节点ID更新命令,向其父节点继续传输事件驱动命令,直到数据传输至SINK点。
2 路由修复机制
本文中的节点传输路径是唯一的,这样可以节约能量,提高效率。但是由于这种唯一性,如果一个节点电池耗尽或者物理损害而失效,则会导致其下级节点也脱离了网络。目前有些无线传感器路由协议针对这一问题,采用通过由SINK点发起洪泛协议进行路径修复的办法来解决,但是这样明显浪费能量,而且在洪泛期间,失效节点的邻节点若产生事件将无法传递,导致了数据丢失。
FRP路径修复机制分为2个部分:节点状态检测和新目标节点的选择。文中采用应答机制来进行节点状态检测。当节点发送数据给目标节点后,若在一定时间内,收到目标节点的ACK,则认为目标节点仍然正常工作,并已将数据向前传输;否则目标节点已经死亡,需要另行寻找新的目标节点。如果在任务查询方式运行过程中,某节点检测到子节点死亡时,按相反路径发送命令通知SINK点,进行本次任务的重新路由,建立新的任务路径。如果在事件驱动方式下,当节点发现其父节点死亡,则发送SEARCH消息,邻节点将返回ACK。节点从中选取响应时间低的低级别节点作为目标节点。若无低级别的节点应答,则该节点将以洪泛方式发送命令通知SINK点进行新的路由树的建立。其过程如图2,图3所示。
3 软件仿真
本文采用了Visual C++开发了无线传感器网络路由仿真平台。分别研究了从100到500个节点共5个不同规模的传感器区域。我们建立参数如表1所示。
PEQ将根据上述参数在相同的仿真环境下与Directed Diffusion协议(DD协议)进行测试并进行以下几个方面的比较:SINK点-源节点-SINK点时间延迟;平均延迟;平均消耗能量,以下将分别作以说明。
SINK点-源节点-SINK点的时间延迟指的是从SINK点发出查询信息,到数据返回到SINK点所消耗的时间。低的延迟时间可以保证用户有更充足的时间来处理突发事件。FRP主要通过SINK点发布任务查询命令建立路径,源节点沿着该路径反方向将数据传输给SINK点。而DD协议则是通过SINK点发布兴趣给网络,当源节点收到后,源节点通过多个路径传送数据给SINK点,SINK点收到后,并从中选择更快捷的路径加强,进行数据传输。FRP比DD协议在步骤上更简洁,从而获得更低的延迟效果。其仿真数据如图4所示:
平均延迟指的是仿真中所产生的事件从源节点传播到SINK点需要的平均时间。仿真数据如图5所示,结果表明,随着网络规模的扩大,PEQ协议显示了比DD协议更好的延迟特性。
平均消耗能量指的是仿真结束后,节点平均所消耗的能量。仿真数据如图6所示,结果表明,FRP比DD更节约能量。原因在于FRP在数据传输中仅使用单一路径,而DD协议在数据传输中会使用多个传输路径,并对其中传输速度慢的路径进行反向增强,产生了能量消耗。
4 结 论
本文提出了一种新的无线传感器路由协议FRP,经过与DD协议仿真比较,实验数据显示,无论是小规模网络(100个节点),还是中大规模网络(300~500个节点),FRP都具有更短的时间延迟和较低的能量消耗。并且该协议已经在基于MSP430F123和NRF2401的硬件节点上成功应用。现场试验表明,该路由反应迅速,自我修复能力强,可以满足无线传感器实时监测应用的要求。
上一篇:关于四层交换与七层交换说明
下一篇:程控用户交换机的选型原则