引言
无线通信和嵌入式微传感器技术的快速发展促进了无线传感器网络的崛起。ZigBee协议基于IEEE 802.15.4无线标准制定,包括应用层、网络层、安全层等,实现了网络的自组织和自维护的功能。在无线传感器网络中,节点的能量是有限的,如果节点在最后因为自身的能量消耗殆尽而死亡,将会对整个网络的传输性能造成很大影响。因此,在实际应用中,根据不同的网络情况来选择最符合应用需求的路由协议,让路由协议根据网络拓扑选择合适的路径,平均分布节点的传输能量,降低网络的功耗是网络层必须要考虑的任务。
1 ZigBee路由算法研究
依据设备的能力,ZigBee网络中的设备可以分为全功能设备(Full Function Device,FFD)和半功能设备(Reduced Function Device,RFD)。FFD能转发其他设备的数据帧,RFD则不能。当FFD加入一个网络时,它可以作为协调器。协调器会周期性地广播数据帧,周围的RFD能够发现并加入网络,形成一个星型拓扑网络。在星型拓扑中,协调器负责控制整个网络,所有终端设备都直接与协调器通信,并且由它维护。
ZigBee网络层还支持树型和网状网络。树型网络采用分级路由的策略在网络中传送数据和控制信息,而网状网络则可以进行点对点的通信。在树型网络中,根节点(协调器节点)和所有的内部节点(路由器节点)是FFD,而RFD只能作为叶子节点(终端节点)。当协调器或路由器加入网络时,它必须被分配唯一的网络地址。
1.1 网络地址分配
ZigBee协议规范使用一个分布式地址方案分配网络地址,它设计为给每个潜在父节点提供一个有限的网络地址子块。当一个设备成功加入网络后,其父节点给该节点自动分配一个唯一的网络地址。
1.2 ZigBee路由算法
网络层支持Cluster-Tree、AODVjr和Cluster-Tree+AODVjr算法(以下简称C+A算法)等多种路由算法,因此ZigBee网络的路由协议兼具树型网络和网状网络的特性。
1.2.1 Cluster-Tree算法
树路由机制是根据网络地址和节点间的父子关系来实现路由的。如果目的地址设备不是该路由器的子孙,则直接将数据帧转发给该路由器的父节点,其父节点将按照同样的步骤进行路由。
1.2.2 AODVjr算法
AODVjr是对AODV算法的一种简化改进,当源节点要寻找到达目的节点的路径时,先向其邻居节点组播RREQ分组。收到该分组的邻居节点若具备路由能力,则建立指向源节点的反向路由回复,同时继续向自己的邻居节点组播该RREQ分组。若不具备路由能力,则通过Cluster-Tree路由算法将该分组交由其子孙节点或父节点进行转发。当目的节点接收到此RREQ分组后,通过单播的方式向源节点回复RREP分组,同时,所有接收到此RREP分组的节点都将更新记录自己的邻居表,路由建立成功。实验证明,AODVjr算法在保持了AODV原始功能的基础上,控制开销比AODV算法更小,因此更节能。
1.2.3 Cluster-Tree+AODVjr算法
在此算法中,网络中的节点被分成了4类:Coordinator、RN+、RN-和RFD。其中RN+具有足够的存储空间和能力来进行AODVjr协议;而RN-则因存储空间受限,不能够进行AODVjr协议。Coordinator、RN+、RN-都具有路由功能,在通信时,如果目的节点不是邻居节点,RN+将会启动AODVjr,主动查找到达目地节点的最佳路径;RN-节点只能通过树路由算法来寻找下一跳的节点。***和AODVjr相结合的路由协议在保证分组递交率的情况下,具有比单独使用其中一种路由协议更低的控制开销和平均时延。
引言
无线通信和嵌入式微传感器技术的快速发展促进了无线传感器网络的崛起。ZigBee协议基于IEEE 802.15.4无线标准制定,包括应用层、网络层、安全层等,实现了网络的自组织和自维护的功能。在无线传感器网络中,节点的能量是有限的,如果节点在最后因为自身的能量消耗殆尽而死亡,将会对整个网络的传输性能造成很大影响。因此,在实际应用中,根据不同的网络情况来选择最符合应用需求的路由协议,让路由协议根据网络拓扑选择合适的路径,平均分布节点的传输能量,降低网络的功耗是网络层必须要考虑的任务。
1 ZigBee路由算法研究
依据设备的能力,ZigBee网络中的设备可以分为全功能设备(Full Function Device,FFD)和半功能设备(Reduced Function Device,RFD)。FFD能转发其他设备的数据帧,RFD则不能。当FFD加入一个网络时,它可以作为协调器。协调器会周期性地广播数据帧,周围的RFD能够发现并加入网络,形成一个星型拓扑网络。在星型拓扑中,协调器负责控制整个网络,所有终端设备都直接与协调器通信,并且由它维护。
ZigBee网络层还支持树型和网状网络。树型网络采用分级路由的策略在网络中传送数据和控制信息,而网状网络则可以进行点对点的通信。在树型网络中,根节点(协调器节点)和所有的内部节点(路由器节点)是FFD,而RFD只能作为叶子节点(终端节点)。当协调器或路由器加入网络时,它必须被分配唯一的网络地址。
1.1 网络地址分配
ZigBee协议规范使用一个分布式地址方案分配网络地址,它设计为给每个潜在父节点提供一个有限的网络地址子块。当一个设备成功加入网络后,其父节点给该节点自动分配一个唯一的网络地址。
1.2 ZigBee路由算法
网络层支持Cluster-Tree、AODVjr和Cluster-Tree+AODVjr算法(以下简称C+A算法)等多种路由算法,因此ZigBee网络的路由协议兼具树型网络和网状网络的特性。
1.2.1 Cluster-Tree算法
树路由机制是根据网络地址和节点间的父子关系来实现路由的。如果目的地址设备不是该路由器的子孙,则直接将数据帧转发给该路由器的父节点,其父节点将按照同样的步骤进行路由。
1.2.2 AODVjr算法
AODVjr是对AODV算法的一种简化改进,当源节点要寻找到达目的节点的路径时,先向其邻居节点组播RREQ分组。收到该分组的邻居节点若具备路由能力,则建立指向源节点的反向路由回复,同时继续向自己的邻居节点组播该RREQ分组。若不具备路由能力,则通过Cluster-Tree路由算法将该分组交由其子孙节点或父节点进行转发。当目的节点接收到此RREQ分组后,通过单播的方式向源节点回复RREP分组,同时,所有接收到此RREP分组的节点都将更新记录自己的邻居表,路由建立成功。实验证明,AODVjr算法在保持了AODV原始功能的基础上,控制开销比AODV算法更小,因此更节能。
1.2.3 Cluster-Tree+AODVjr算法
在此算法中,网络中的节点被分成了4类:Coordinator、RN+、RN-和RFD。其中RN+具有足够的存储空间和能力来进行AODVjr协议;而RN-则因存储空间受限,不能够进行AODVjr协议。Coordinator、RN+、RN-都具有路由功能,在通信时,如果目的节点不是邻居节点,RN+将会启动AODVjr,主动查找到达目地节点的最佳路径;RN-节点只能通过树路由算法来寻找下一跳的节点。***和AODVjr相结合的路由协议在保证分组递交率的情况下,具有比单独使用其中一种路由协议更低的控制开销和平均时延。
举报