A. zigbee路由协议具有怎样的特点
一、ZigBee网络层次结构与地址分配机制
ZigBee网络中的所有节点都有两个地址:一个16位网络短地址和一个64位IEEE扩展地址。其中16位网络地址仅仅在网络内部使用,用于路由机制和数据传输。这个地址是在节点加入网络时由
其父节点动态分配的。当网络中的节点允许一个新节点通过它加入网络时,它们之间就形成了父子关系。所有加入ZigBee网络的节点一同组成一棵逻辑树,逻辑树中的每一个节点都拥有以下两个参量:
1)16-bit的网络地址。只负责节点之间数据传输
2)网络深度。即从该节点到根节点协调器的最短跳数,标识了该节点在网
络拓扑图中的层次位置。
当协调器(coordinator)建立了一个新的网络后,它首先将自己的16位网络地址初始化为O,同时初始化自己的网络深度Deptg,=0。
以
下通过一个具体的实例来说明ZigBee网络父节点为子节点分配16位地址的规范。假设一个节点Node(n)想要加入网络。Node(n)首先发起网络
发现过程,获取信道上的信标并进行信道选择后,决定连接到已经在网络中的节点Node(k)。随后Node(n)向Node(k)发起入网的关联请求。关
联请求获得批准后,Node(n)式加入网络。Node(k)称为Node(n)的父节点。可以假设已经存在在网络中的父节点Node(k)的地址为
Depthk=Depthk+1。
如
图是ZigBee树状结构视图。这里引入三个辅助参数: 参数表示每个深度可以容纳的最大子节点个数(Max Children),
表示每个深度可以容纳的最大路由器个数(Max Router),。
表示整个网络的最大深度。根据以上说明,ZigBee网络父节点为网络深度d,子节点进行地址分配的规则如下:
(1)假设节点Node(n)是接入其父节点的第n个简化功能设备节点(RED),即没有路由能力的节点,则它的父节点Node(n)将会为它分配如F的地址:
(2)设节点Node(n)是接入其父节点的第n个全功能设备节点(FFD),即具各路由能力的节点,则它的父节点Node(n)将会为它分配如下的地址:
其中
当一个路由节点的 为0时,它就不再具备为子节点分配地址的能力,即该路由节点不能在接收新的节点加入网络。
二、ZigBee路由协议分析
路
由技术主要作用是为数据以最佳路径通过通信子网到达目的节点提供服务。在传统的OSI参考模型中,网络层实现路由功能。路由协议是自组网体系结构中不可或
缺的重要组成部分,其主要作用是发现和维护路由.具体的说主要有以下几个方面:监控网络拓扑结构的变化,交换路由信息,确定目的节点的位置,产生、维护以
及取消路由,选择路由并转发数据。。为了达到低成本,低功耗,可靠性高的设计目标,ZigBee协议采用以下两种算法的结合体作为自身的路由算法[1]
[2]。
(1) AODV:Ad-Hoc On-Demand Distance Vector(按需距离矢量路由)
(2) Cluster-Tree algorithm(树型网络结构路由)
其
中AODV路由协议是一种按需路由协议,利用扩展环搜索的办法来限制搜索发现过的目的节点的范围,支持组播,可以实现在ZigBee节点间动态的,自发的
路由,使节点很快的获得通向所需目的的的路由。这也是ZigBee路由协议的核心。针对自身的特点,ZigBee网络中使用一种简化版本的AODV协议
(AODV Junior,AODVjr[3])。
Cluster-Tree算法包括地址的分配(configuration of addresses)与寻址路由两部分(addresses routing)。包括子节点的16位网络短地址的分配,以及根据目的节点的网络地址来计算下一跳的算法。
作
为两种算法的结合体,ZigBee网络中,节点可以按照网络树状结构的父子关系使用Cluster-Tree算法选择路径。即每一个节点都会试图将收到的
信息包转发给自己的后代节点,如果通过计算发现目的地址不是自己的一个后代节点,则将这个数据包转发给自身上一级的父节点,由父节点进行类似的判断处理,
直到找到目的节点。Cluster-Tree算法的特点在于使不具有路由功能的节点间通过与各自的父节点间的通信仍然可以发送数据分组和控制分组,但它的
缺点是效率不高。为了提高效率,ZigBee中允许具有路由功能的节点使用AODVjr算法去发现路由,让具有路由功能的节点可以不按照父子关系而直接发
送信息到其通信范围内的其他节点。
三、Cluster-Tree路由算法
Cluster-
Tree路由算法的描述如下:当一个网络地址为A,网络深度为d的路由节点(FFD)收到目的地址为D的转发数据包时,路由节点首先要判断目的地址D是否
为自身的一个子节点,然后根据判断的结果采取不同的方式来处理这个数据。若地址D满足一下判别式,则可以判断D地址节点是A地址节点的一个后代节点:
如果D不在这个范围之内则D地址节点是A地址节点的父节点。
判断后采取的数据包转发措施如下:
1) 目的节点是自身的一个后代节点,则下一跳(next hop)的节点地址为
2) 目的节点不是自身的一个后代节点,路由节点将把该包送交自己的父节点处理。这一点与TCP/IP协议中路由器将路由表项中不存在的数据包自己的网关处理类似。
四、AODVjr路由算法
AODVjr路由时一种按需分配的路由协议,只有在路由节点接收到网络数据包,并且网络数据包的目的地址不在节点的路由表中时才会进行路由发现过程。也就是说,路由表的内容是按照需要建立的,而且她可能仅仅是整个网络拓扑结构的一部分。
AODVjr
的优点是,相对于有线网络的路由协议而言,它不需要周期性的路由信息广播,节省了一定的网络资源,并降低了网络功耗。缺点是在需要时才发起路由寻找过程,
会增加数据到达目的地址的时间。由于ZigBee网络中对数据的实时性要求不大,而更重视对网络能量的节省,因此AODVjr非常适合应用在ZigBee
网络中。
一次路由建立由以下三个步骤组成:
1) 路由发现
2) 反向路由建立
3) 正向路由的建立
经过这三个步骤,即可建立起一条路由节点到目的节点的有效传输路径。在这个路由建立过程中,AODVjr使用3种消息作为控制信息:
1)Route Request(RREQ),路由请求
2)Route Replies(RREP),路由回复
3)Route Error(RERR),路由错误
以下将对路由建立的三个过程进行详细描述。
(1)路由发现过程
对于一个具有路由能力的节点,当接收到一个从网络层的更高层发出的发送数据帧的请求,且路由表中没有和目的节点对应的条目时,它就会发起路由发现过程。源节点首先创建一个路由请求分组(RREQ),并使用多播(Multi.Broadcast)的方式向周围节点进行广播。
如果一个节点发起了路由发现过程,它就应该建立相应的路由表条目和路由发现表条目,状态设置为路由发现中。任何一个节点都可能从不同的邻居节点处接收到广播的RREQ。接收到后节点将进行如下分析:
1)如果是第一次接收到这个RREQ消息,且消息的目的地址不是自己,则节点会保留这个RREQ分组的信息用于建立反向路径,然后将这个RREQ消息广播出去。
2)如果之前已经接受过这个RREQ消息,表明这是由于网络内多个节点频繁广播产生的多余消息,对路由建立过程没有任何作用,则节点将丢弃这个消息。
(2)反向路由建立过程
当
RREQ消息从一个源节点转发到不同的目的地时,沿途所经过的节点都要自动建立到源节点的反向路由。也就是记录当前接收到的RREQ消息是由哪一个节点转
发而来的的。通过记录收到的第一个RREQ消息的邻居地址来建立反向路由,这些反向路由将会维持一定时间,该段时间足够RREQ消息在网内转发以及产生的
RREP消息返回源节点。
当RREQ消息最终到达了目的节点,节点验证RREQ
中的目的地址为自己的地址之后,目的节点就会产生RREP消息,作为一个对RREQ消息的应答。由于之前已经建立了明确的反向路由,因此RREP无需进行
广播,只需按照反向路由的指导,采取单播的方式即可把RREP消息传送给源节点。
(3)正向路由建立过程
在
RREP以单播方式转发回源节点的过程中,沿着这条路径上的每一个节点都会根据PREP的指导建立到目的节点的路由,也就是说确定到目的地址节点的下一跳
(next-hop)。方法就是记录RREP是从哪一个节点传播而来.然后将该邻居节点写入路由表中的路由表项。一直到RREP传送到源节点。至此.一次
路由建立过程完毕。源节点与目标节点之间可以开始数据传输。可以看出,AODV是按照需求驱动的、使用RREQ.RREP控制实现的、先广播,后单播的路
由的路由建立过程。
具体请看:http://hanbo31.blog.163.com/blog/static/12282196820114319221316/
B. 无线传感器网络路由协议有哪些基本分类简述spin路由算法特点
(1)能量优先
传统路由协议在选择最优路径时,很少考虑节点的能量消耗问题。而无线传感器网络中节点的能量有限,延长整个网络的生存期成为传感器网络路由协议设计的重要目标,因此需要考虑节点的能量消耗以及网络能量均衡使用的问题。
(2)基于局部拓扑信息
无线传感器网络为了节省通信能量,通常采用多跳的通信模式,而节点有限的存储资源和计算资源,使得节点不能存储大量的路由信息,不能进行太复杂的路由计算。在节点只能获取局部拓扑信息和资源有限的情况下,如何实现简单高效的路由机制是无线传感器网络的一个基本问题。
(3)以数据为中心
传统的路由协议通常以地址作为节点的标识和路由的依据,而无线传感器网络中大量节点随机部署,所关注的是监测区域的感知数据,而不是具体哪个节点获取的信息,不依赖于全网唯一的标识。传感器网络通常包含多个传感器节点到少数汇聚节点的数据流,按照对感知数据的需求、数据通信模式和流向等,以数据为中心形成消息的转发路径。
(4)应用相关
传感器网络的应用环境千差万别,数据通信模式不同,没有一个路由机制适合所有的应用,这是传感器网络应用相关性的一个体现。设计者需要针对每一个具体应用的需求,设计与之适应的特定路由机制。
针对传感器网络路由机制的上述特点,在根据具体应用设计路由机制时,传感器网络需满足一定的路由机制。
C. 无线传感网多跳路由节点能耗怎么计算
(1)根据无线传感器网络中因节点有效传输半径对路由选择的制约,改进基于最小生成树的分簇多跳路由算法,改善因路由选择对网络能耗的影响。该算法利用Voronoi图的泊松过程特性优化簇首节点数,并结合最小生成树动态调整簇内外节点的路由发现实现网络能耗优化。仿真结果表明该算法在开销容忍的前提下,网络均衡负载,并与相同仿真条件下的基于LEACH的分层多跳路由算法相比,更有效地延长了网络寿命,同时降低了计算时间复杂度。
(2)针对无线传感器网络中传感器节点投放分布对投放区域有效通信信号覆盖的影响,改进了一种基于通信覆盖的分布式投放概率覆盖算法。在保证投放精度的前提下,该算法根据传感器节点在投放区域中位置的不确定性以及信号衰减特性,建立信号覆盖模型,并通过信号覆盖率计算出各节点预定投放位置,由传感器节点的自定位算法获取定位信息为前提,获取节点的投放位置和投放数目。在改善区域通信覆盖的同时,提高了节点分布效率,达到节省网络资源的目的。通过仿真比较了在不同定位投放方法下的各相关性数据,验证了该算法可实现高效投放的优越性能。
(3)在关于无线传感器网络应用方面,提出了在实现投放区域有效通信信号覆盖的基础上保证局部能量有效损耗的路由设计要求,由此提出了基于多跳路径划分子空间的分簇路由算法。该路由算法在获得相应的节点拓扑分布的前提下实现了能量平均损耗,而节点拓扑的获取则通过采用高斯分布的定位误差模型与马尔可夫链性质相结合,改进了以前算法对于传感器节点拓扑结构的获取。通过对整个算法的仿真,得到的相关数据证明了算法在实现网络硬件资源优化和能量有效损耗方面所具有的较好的性能。
(4)在对运动目标跟踪定位的研究中,对于无法得知目标的运动状态方程和观测噪声的概率密度分布的情况时,提出基于粒子滤波和曲线准线性优化的目标跟踪算法。算法利用传感器节点的感知圆的几何特性确定目标的运动区域的边界限制,借鉴cost
reference粒子滤波算法,估计出目标的运动轨迹,随后通过曲线的线性近似简化了目标运动轨迹的估计,同时也获取了目标的速率的可控估计,仿真结果证明了所提算法的高效性。根据实际应用中可能出现部分的传感器节点失效的情况,引入了节点的失效检测,并以贝叶斯概率分布估计纠正失效节点对原目标状态做的判断,提高失效节点所在感知区域的容错能力,改善了目标跟踪定位的精度。