基于邻居表查询的ZigBee多播路由算法
基于邻居表查询的ZigBee多播路由算法白乐强;王佳林;张士宏【摘要】由于ZigBee网络需要将信息以多播的方式进行传递,部分节点多次传输消耗大量能量,导致节点死亡,为缓解这个问题,提出了基于邻居表查询的ZigBee多播路由算法.该算法结合邻居表查询和ZigBee分布式地址分配特性,对ZigBee网络多播转发节点选择进行优化,使一个节点能给多个目的节点转发信息.仿真结果证明该算法减少了路由开销,节约了网络的能量,提高了网络的可靠性.%Due to lot of the ZigBee network information needs to be sent by the ways of multicast,parts of the nodes consume a large amount of energy in multiple transmissions,resulting nodes failure.To alleviate this problem,a ZigBee multicast routing algorithm based on neighbor table query is presented.The algorithm combines with neighbor table query and the ZigBee distributed addressing assignment scheme,making a node send the information to more destination nodes.The simulation results show that the algorithm reduces routing cost,economizes the energy of the ZigBee network and improves the reliability of the network.【期刊名称】《沈阳大学学报》【年(卷),期】2012(024)006【总页数】5页(P38-42)【关键词】ZigBee;邻居表;多播通信;路由选择;网络【作者】白乐强;王佳林;张士宏【作者单位】沈阳建筑大学信息与控制工程学院,辽宁沈阳110168;沈阳建筑大学信息与控制工程学院,辽宁沈阳110168;沈阳建筑大学信息与控制工程学院,辽宁沈阳110168【正文语种】中文【中图分类】TP301.6ZigBee是一种开放性的低功耗、低成本、低数据速率、低复杂度、低分本、自组织的新型短距离无线通信技术[1],是基于IEEE802.15.4标准的个域网协议[2].ZigBee采用IEEE802.15.4制定的物理层(PHY)和媒体访问控制层(MAC)制定的标准,ZigBee的高层标准采用ZigBee联盟制定的网络层(NWK)、应用层(APL)等.ZigBee设备可以分为ZigBee协调器(ZC)、ZigBee路由(ZR)、ZigBee终端设备(ZED)等三种.由于ZigBee网络是自组织网络,每个路由节点对于整个网络通信的可靠性都起到关键性作用,工作方式不当造成的节点失效会造成网络的部分瘫痪,所以改进ZigBee传输算法是提高ZigBee网络可靠性的有效方法.文献[3]提出多播树传动比算法,该算法是量化了多播树的成本,考虑无线多播信道的链路质量,以及无线多播的特点提出的一种算法.文献[4]提出的网型多播算法是一种考虑到节约能量的无线传感器算法.针对节点移动的无线传感网络文献[5]提出了智能多播路由器发现机制的移动多播,文献[6]提出了本地树更改多播协议.对于实时性文献[7]提出了实时多跳无线多播路由算法,这些算法都适用于Ad-hoc形式网络,不能直接在WSN中应用,因为这些算法都是对于高存储高计算节点来设计的,文献[8]提出适用于ZigBee网络的多播算法、Z-CAST 路由算法.然而Z-CAST算法是根据树形结构路由表转发原理基础上进行信息的传送,在提高使用节点能量优化方面没有进行考虑.本文在Z-Cast算法基础上,针对转发多播信息过程中转发节点的浪费问题提出了ZigBee邻居多播路由算法(ZNMR).该算法综合考虑目的节点的位置及规模来选择转发路径,对不同形式的多播组采用不同的路由算法,算法计算量小,适用于ZigBee网络多播信息的发送.1 模型的建立1.1 分布式地址分配ZigBee网络同其他无线传感器网络主要的不同之处在于其采用地址分配方式,它给每个潜在父节点提供一个有限的网络地址子块.整个网络的地址在一个特定的网络内是唯一的,由一个父节点分配给它的子节点.分配方案由分布式算法根据一系列网络自定义参数确定,网络协调者决定了整个网络的最大子设备数.每个设备有一个相关的深度,表示只使用父子链路传输的一个帧到达ZigBee协调器,必须经过的最少跳数.其中协调者自身的连接深度为0,其直接子设备为1.ZigBee协调器首先根据需要规定3个参数:网络的最大深度nwkMaxDepth(Lm),一个父节点可以有的子节点最大个数的值nwkMaxChildren(Cm)和一个父节点可以有的路由器子节点的最大个数nwkMaxRouters(Rm),其中Cm 应大于等于Rm,这样就可以保证协调器或者路由器可以连接至少Cm-Rm个终端节点.网络深度为d的路由节点所能分配的地址空间Cskip(d)满足公式(1)如果一个父节点它的深度是d,它的地址是Aparent,那么第n个子路由节点的地址如公式(2):而它的第n个子节点地址如公式(3):一个Cskip(d)值大于0的父节点设备必须接收子节点设备,根据子节点设备是否具有路由器功能,并给它们分配不同的地址.一个父节点给它的第一个路由功能子节点设备分配一个地址1,大于它自己的地址.ZigBee协调器为每一个ZigBee设备分配了一个固定的ID.并且每一个ZigBee节点不仅记录了父节点与子节点ID,而且记录了自己一跳邻居节点的ID.1.2 ZigBee网络转发模型Z-Cast的树形路由算法是根据父子关系进行信息转发,不需要路由选择,如图1所示,图中S为信息源节点,N3、N5、N6、N8、N10、N11为目的节点,ZC为协调器,信息从S向外转发.转发过程如虚线箭头所示,S通过N1、N2将信息发送给协调器,协调器再根据目的地址发送给子路由,最终信息到达目的节点.图1 树形路由算法的信息转发路径选择示意图Fig.1 Schematic diagram of Tree routing algorithm forwarding path selection该算法有两个问题,一是即使目的节点是信息源的邻居节点,多播信息也会根据父子逻辑关系,经过多跳才到达目的节点.二是该多播方法会消耗过多路由,尤其是Lm较小的节点.ZigBee邻居多播路由算法针对这两个问题进行了改进.信息源在转发信息之前首先给自己的邻居节点发送目的地址判断信息,邻居节点根据自己的邻居表来判断周围是否存在目的节点,根据存在情况选择是否接受信息源节点信息并转发.如图2所示,S将信息转发给N1、N4,两节点分别将信息转发给N3、N5.N5没有直接将信息转发给目的节点N6,而是转发给邻居节点中目的节点较多的N7节点,如此做可以节约转发路由数量及转播跳数,提高了网络的转发效率.图2 ZigBee邻居多播路由算法的多播信息转发路径选择示意图Fig.2 Schematic diagram of ZigBee neighbor multicast routing algorithm forwarding path selection2 ZigBee邻居多播路由算法ZigBee邻居多播路由算法定义一个转发优先级参数ForwardingLevel,ForwardingLevel初始化为-1.ForwardingLevel是一个整数,表示信息源节点一跳邻居节点的邻居表中未接受信息的目的节点的数量,目的节点越多Forwarding Level值越大,最大值为该节点一跳邻居节点数量,即该节点邻居节点都为目的节点,最小为0即没有目的节点.信息源转发多播信息之前首先比较本节点的邻居表,将信息转发给一跳邻居节点本身就是目的节点的节点,这些节点做出标记表示已接收该多播信息,以免重复接收信息.然后信息源所有一跳邻居节点根据ID从小到大开始确定转发优先级,开始寻找优先级最大转发节点.信息源确认一跳邻居节点的邻居表中未接受信息的目的节点数量,记为ForwardingLevel.若邻居表中无目的节点或目的节点都已接受该组多播信息则ForwardingLevel为0.当信息源确认过所有邻居节点优先级,选取ForwardingLevel最大的节点作为转发节点.若两个节点优先级相同则根据ID进行判断,ID小的优先级比ID大的优先级高.信息源其他一跳邻居节点Forwarding Level不变,以供信息源再次挑选转发节点时使用.当转发节点准备发送信息时,首先从信息源接受信息,然后将多播信息发送给未接受信息目的节点.转发节点将信息转发给所有邻居表中的目的节点后,该节点转发优先级ForwardingLevel置0,不再作为转发节点.信息源重新计算Forwarding Level大于0的信息源一跳邻居节点转发优先级,选择新的转发节点.直到信息源所有一跳邻居节点ForwardingLevel都为0,该信息源节点转发信息完毕,将自身的转发优先级Forwarding Level置0.根据ID从小到大在已接受信息的目的节点中重新寻找新的节点作为信息源,直到网络中所有目的节点都已经收到信息,该组多播信息发送完毕.ZigBee邻居多播路由算法流程图如图3所示.图3 ZigBee邻居多播路由算法流程图Fig.3 Flow chart of ZigBee neighbor multicast routing algorithm3 数据仿真及分析本文采用MATLAB平台进行仿真,对ZigBee邻居多播路由算法的可行性进行仿真以及对结果进行分析,在200m×200m的空间内随机生成50到200个ZigBee节点,按一定的比例从中产生目的节点.每个节点的最大传输范围为40m,节点能容纳最大子节点数Cm为6,节点深度Lm为4,并且所有节点都是稳定的.模型运行时假设物理层与数据链路层都正常工作.对ZCAST算法和ZigBee邻居多播路由算法进行试验.试验选取了50、75、100、125、150、175和200七种ZigBee节点数量规模的网络场景,其中随机各选择10%~50%比例节点作为目的节点,在随机生成场景的前提下,两种算法对随机选择信息源节点与选择ZigBee协调器(ZC)作为源节点两种情况进行仿真,每种场景仿真100次,统计仿真结果来求取平均值,取得的数据如表1~表4.表1 目的节点比例为20%信息源随机选取结果Table 1 Results of destination node ratio is 20%and the source is selected randomly50 75 100 125 150 175 200 Z-Cast算法 10.04 13.94 16.99 20.74 24.03 27.61 30.85 ZNMR算法算法节点个数7.31 10.78 13.48 15.95 17.63 18.99 20.3表2 节点数量为100信息源随机选取结果Table 2 Results of the number of nodes is 100and the source is selected randomly5 10 15 20 25 30 35 40 45 50 Z-Cast算法 10 13.22 15.68 16.99 18.86 19.87 21.02 21.73 22.44 24.11 ZNMR 算法 3.51 7.42 11.38 13.48 15.73 16.83 18.41 19.5 20算法目的节点数.61 21.73表3 目的节点比例为20%信息源选取ZC结果Table 3 Results of destination node ratio is 20%and the source is ZC50 75 100 125 150 175 200 Z-Cast算法 8.86 12.93 16.15 19.41 22.73 26.13 29.34 ZNMR算法算法节点个数6.9410.04 12.48 13.88 16.03 17.50 19.03表4 节点数量为100信息源选取ZC结果Table 4 Results of the number of nodes is 100and the source is ZC5 10 15 20 25 30 35 40 45 50 Z-Cast算法7.84 11.69 14.25 16.26 17.45 18.51 20.00 20.92 21.37 22.29 ZNMR 算法3.95 7.13 9.84 12.48 14.38 15.87 17.32 18.91 19算法目的节点数.87 20.51 图4 Z-Cast算法的信息转发路径选择图Fig.4 Z-Cast algorithm forwarding path selection图5 ZigBee邻居多播路由算法的信息转发路径选择图Fig.5 ZigBee neighbor multicast routing algorithm forwarding path selection图4、图5为100节点目的节点比为20%条件下随机生成的两算法的多播信息转发路径选择图,空心点表示ZigBee普通节点,十字节点表示目的节点,实心点表示转发节点,三角形表示信息源,坐标(100,100)的节点为ZigBee协调器,每一条黑色虚线表示节点之间传输信息.图4中信息源节点首先将信息发送给信息源的父节点,直到ZigBee协调器,协调器再将信息根据目的地址通过父子关系的路由节点转发给各目的节点.即使目的节点就在信息源附近,信息源也不会将信息直接发送给目的节点,这样对于整个网络的能量是一种浪费,而且每次新一组多播信息的发送都会使用Lm较小的路由节点,使上层路由过多的损耗,长期下去会影响网络可靠性.图5中ZigBee邻居多播路由算法使节点在转发信息之前进行判断,使信息呈放射状向整个网络的目的节点转发,每一次转发信息都有多个接收者,而且信息不必须经过协调器.这样转发不仅减少了转发节点,而且减少了Lm较小的路由的使用,提高了网络的可靠性.由表1可以看出在目的节点比例为20%情况下,随着节点个数不断增加,两算法的转发节点都随之增加.但ZNMR算法转发节点明显少于Z-CAST算法,且节点越多ZNMR算法的优势越明显.由表2可以看出在目的节点数量确定而目的节点比例不断增加的情况下,ZNMR算法转发个数也少于Z-CAST算法.但是当目的节点比例很大时,该算法转发节点个数逐渐接近Z-CAST算法,这是因为许多较上层的路由节点也成为了目的节点,所以无论使用何种算法转发节点个数都没有明显差距.对比表1表3,表2表4可以看出当ZigBee协调器作为信息源转发信息时,两算法转发节点都有少量的减少,但由表3表4可以看出ZNMR算法仍然适用于该网络,即信息源位置的选取对于不同算法之间转发节点数量的影响是不大的.4 结论本文基于邻居表查询和ZigBee分布式地址分配特点,结合传统的无线传感器多播路由算法提出了ZigBee邻居多播路由算法.采用MATLAB进行仿真,实验结果表明该算法减少了ZigBee多播路由转发节点,提高了多播算法效率,在节约能量方面有了很大改进.该算法对于大规模ZigBee网络多播信息发送是一个可改进的算法.【相关文献】[1] ZigBee Alliance.Document 053474r17ZigBee specification[S].2008.[2] The LANMAN Standards Committee.IEEE Std 802.15.4TM-2003 [S].New York,USA:the Institute of Electrical and Electronics Engineers,2003.[3] Jung Y,Choi S,Hwang I,et al.Cost-Effective Multicast Routings in Wireless Mesh Networks[J].Communications in Computer and Information Science,2011(262)PART 1:262-271.[4] Zeng G,Wang C,Xiao L.Grid Multicast:An Energy-Efficient Multicast Algorithm for Wireless Sensor Networks[C].4th International Conference on Networked Sensing Systems,INSS 2007:267-274.[5] Lee H,Han S.Intelligent Multicast Router Discovery Mechanism in Mobile Multicast[C].Advanced Industrial Conference on Telecommunications/Service Assurance with Partial and Intermittent Resources Conference/E-Learning on Telecommunications Workshop AICT/SAPIR/ELETE 2005:152-156.[6] Srinivasan T,Chandrasekar R,Vijaykumar V,et al.Localized Tree Change Multicast Protocol for Mobile Ad Hoc Networks[C].Second International Conference on Wireless and Mobile Communications,ICWMC 2006.[7] Yi J,Poellabauer C.Real-Time Multicast for Wireless Multihop Networks [J]. Computers and Electrical Engineering,2010(36):313-327.[8] Gaddour O,KoubâaA,Cheikhrouhou O,et al.Z-Cast:A Multicast Routing Mechanism in ZigBee Cluster-Tree Wireless Sensor Networks[C].IEEE 30th International Conference on Distributed Computing Systems Workshops 2010:171-179.。
zigbee的工作原理
zigbee的工作原理Zigbee是一种低功耗、短距离无线通信技术,主要用于物联网设备之间的通信。
它基于IEEE 802.15.4标准,并在其基础上添加了网络层和应用层协议。
Zigbee网络由一个协调器(Coordinator)和多个设备(Device)组成,协调器负责网络的管理和控制。
Zigbee的通信距离一般在几十米到几百米之间,传输速率较低,可达到250kbps。
它采用的是低功耗的射频技术,以确保设备的电池寿命较长。
此外,Zigbee使用的是mesh网状网络拓扑,设备之间可以通过多跳传输进行通信,提高了网络的覆盖范围和稳定性。
Zigbee的工作原理如下:1.设备加入网络:当设备加入Zigbee网络时,它会发送一个加入请求,协调器验证设备的身份后,将其分配给合适的网络节点。
设备可以是有源设备(Powered Device,PD)或无源设备(End Device,ED)。
有源设备可以直接与协调器通信,而无源设备需要通过其他设备进行中继。
2.建立网络拓扑:Zigbee网络采用mesh网状拓扑结构,其中每个设备都可以是路由器(Router),即可以进行中继的节点,或终端设备(End Device),即不能进行中继的节点。
设备之间可以通过多跳传输进行通信,数据可以沿着多个路径传递,提高了网络的可靠性和覆盖范围。
3.网络管理与路由选择:协调器负责网络的管理和控制,它会维护网络拓扑结构,并执行路由选择算法。
路由选择算法决定了数据传输的最佳路径,通过选择具有最佳信号强度和跳数的路由器进行数据传输,保证了数据的快速传递和可靠性。
4.数据传输和通信:设备之间可以通过两种方式进行通信,即直接通信和间接通信。
直接通信是指设备直接发送数据给目标设备,而间接通信是指设备通过中继节点进行数据传输。
设备可以根据需求选择合适的通信方式,以达到最佳的传输效果。
总的来说,Zigbee通过建立mesh网状网络拓扑,利用低功耗的射频技术实现设备之间的无线通信。
物联网中的动态路由算法
物联网中的动态路由算法近年来,随着物联网技术的飞速发展,越来越多的智能设备进入我们的生活中。
这些设备之间需要进行通信,而要实现这样的通信,就需要迅速、高效地找到一条合适的通信路径。
在物联网中,动态路由算法被广泛应用,它可以实现网络的自适应、优化和可靠性。
本文将介绍物联网中常用的动态路由算法及其优缺点。
一、物联网中的路由算法在物联网中,路由算法的主要任务是找到一条最佳的路径,让信息尽快地传输到目的地。
传统的路由算法有基于离散事件的模拟技术(DES)、最短路径算法(SPF)和最小成本路由算法等。
但这些传统算法并不适用于物联网。
物联网通常涉及大量的设备和节点,这个网络是分布式的、动态的,并且节点具有不可预测的移动性。
因此,物联网中的路由算法必须是动态的、自适应的、具有负载均衡和容错能力的。
为此,物联网中采用了一些适用于动态环境下的路由算法,常用的有以下几种。
二、基于距离矢量的路由算法基于距离矢量的路由算法(Distance Vector Routing Protocol,DVRP)是一种基于链路状态的路由算法,其主要思想是每个节点维护到其他节点的距离信息,通过比较每个节点距离其它节点的距离,寻找到一条最短路径。
这种算法的优势在于其简单易实现、抗噪声和抗故障能力强。
但它的缺点也很明显,如容易出现环路、收敛速度慢等。
但在小型的物联网中,这种算法仍然是一个不错的选择。
三、基于链路状态的路由算法在物联网中,基于链路状态的路由算法(Link State Routing Protocol,LSRP)也被广泛应用。
该算法要求每个节点通过广播自己的链路状态信息,以构建整个网络图,然后计算每个节点到达其他节点的最短路径。
这种算法的优点在于其收敛速度快、计算准确性高,但缺点也很明显,如通信效率低下、节点存储和计算负载大等。
四、基于蚁群算法的路由算法基于蚁群算法的路由算法是指模拟蚂蚁寻找食物的行为来寻找网络中最短的路径,它具有自组织、分布式、容错、自适应等特点,可以有效地处理动态和复杂的网络环境。
【智慧树知到】《DIY智慧小屋带你玩转物联网(浙江大学)》章节测试题及答案
【智慧树知到】《DIY智慧小屋带你玩转物联网(浙江大学)》章节测试题及答案第一章测试1、比尔盖兹最早提出了物联网的概念。
()A.正确B.错误正确答案:B2、工业物联网是近几年我国物联网的一个重点发展方向。
()A.正确B.错误正确答案:A3、物联网的四个要素是感联知控。
()A.正确B.错误正确答案:A4、物联网平台已成为物联网发展的下一个战略要塞。
()A.正确B.错误正确答案:A5、物联网应用中,不属于近距离通信的方式是A、RFIDB、蓝牙C、WiFiD、NB-IoT正确答案:D6、物联网应用中,常用于室内近距离物联的通信方式有A、蓝牙B、WiFiC、GPRSD、NB-IoT正确答案:AB7、ZigBee不具有自组网的特点。
()A.正确B.错误正确答案:B8、物联网操作系统就是运行在嵌入式终端的操作系统,与云平台无关。
()A.正确B.错误正确答案:B9、物联网的碎片化是物联网应用开发的一个挑战。
()A.正确B.错误正确答案:A10、物联网操作系统的作用只是在技术层面上解决碎片化问题。
()A.正确B.错误正确答案:B第二章测试1、业务应用的展示门户框架包括?A、PC门户B、Web门户C、客户端门户D、App门户正确答案:BC2、以下哪些是设备管理平台DMP的功能?A、监控物联网终端B、调整终端的设置C、掌握终端的通信连接状态D、存储及分析设备的数据正确答案:AB3、连接管理平台CMP能够帮助用户管理物联网SIM卡,同时还可以查询终端的通信连接状态以及流量使用等。
()A.正确B.错误正确答案:A4、各大公司推出的物联网平台在功能上均完全一致,例如阿里云LinkPlatform 与百度物接入Hub。
()A.正确B.错误正确答案:B5、以下有关AWSIoT中DeviceShadow服务的说法,正确的有?A、DeviceShadow设备影子是一种JSON文档B、DeviceShadow用于存储和检索设备的当前状态信息C、设备可以将自己的状态信息发布到DeviceShadow中去,供应用程序或其他设备使用D、只有当设备与AWSIoT处于连接状态时,用户才可以往DeviceShadow中发布更新的状态信息正确答案:ABC6、以下哪一项不属于阿里云LinkPlatform提供的设备管理服务?A、生命周期管理B、数据解析C、流数据分析D、固件升级正确答案:C7、以下哪一项不是中国移动OneNET平台的组件?A、设备接入B、设备影子C、设备管理D、HTTP推送正确答案:B8、以下哪些是使用百度物接入IoTHub搭建物联网应用的优势?A、无缝对接到天工平台和百度智能云的各项产品和服务B、实现对亿级并发连接和消息数的支持C、对海量设备与云端安全可靠的双向连接的支持正确答案:ABC9、一般认为,完整的物联网系统,包含哪些层级?A、感知及控制层B、网络层C、平台服务层D、应用服务层正确答案:ABCD10、负责从传感器、计量器等器件获取环境信息的是?A、感知及控制层B、网络层C、平台服务层D、应用服务层正确答案:A第三章测试1、你怎么直接获取一个在可测量范围的模拟量数值?A、ADCB、DACC、IICD、SPI正确答案:A2、输出接口为为模拟量数据,在如下方法中可以采用的为哪些?A、ADCB、DACC、PWMD、UART正确答案:BC3、在智慧小屋实验中,LED灯采用何种方式实现调光调色?A、DACB、ADCC、PWMD、SPI正确答案:C4、智慧小屋的大脑,也即处理中心为?A、传感器B、ArduinoC、执行器D、stm32正确答案:B5、采用Arduino作为控制主体的原因有哪些?A、普及程度高B、成本低C、扩展板资源丰富D、软件易上手正确答案:ABCD6、在智慧小屋中,传感器是物联网的”大脑’,芯片是物联网的”五官’,无线模组是”联网器件’。
邻居表(Neighbour Table)问题
ZIGBEE:Coordinator中的邻居表(Neighbour Table)问题2011-06-13 15:56:03| 分类:ZigBee | 标签:|字号大中小订阅本文引用自C-WAR《ZIGBEE:Coordinator中的邻居表(Neighbour Table)问题》主节点的邻居表的大小为24,意味着主节点最多只可以有24个子节点(enddevice或router)。
在主节点中的JZA_vStackEvent事件中,在网络成功启动时可以设置这样一个参数:JZS_vEnableEDAddrReuse(1800);括号里德参数单位是s,表示的是,如果1800s内子节点还没有跟主节点进行数据通讯,则主节点会认为子节点死掉,接着就会触发JZS_EVENT_INACTIVE_ED_DELETED事件,将子节点从自己的邻居表删除,因此,当子节点成功入网后,如果设置了JZS_vEnableEDAddrReuse(1800),底层代码中最好在要最多每隔1800s就要跟主节点进行数据通讯,否则,主节点会将该节点的网络信息从邻居表中删除,这样,主节点发送出的数据,子节点就收不到了。
但是在这种情况下,如果,子节点默认的发送目标地址是其父节点,发送出来的数据,父节点还是能收到了。
这样,子节点能找到父节点,但是父节点找不到子节点,唯一的方法是将子节点的网络信息擦除再重新入网。
下面的代码描述的是如何读邻居表:PUBLIC void vReadNeighbourTable(uint8 notify_flag){int i;vPrintf("\n-- network table --\n");//Neighbor tablefor (i = 0; i < gsNIB.nwkNeighborTableSize; i++){if(gsNIB.nwkNeighborTable[i].u16Addr==0xffff)continue;vPrintf("Neighbor %d: addr = %d, mac:%x-%x, Device Type=%d, LQI =%d, Channel = %d\n",i,gsNIB.nwkNeighborTable[i].u16Addr,gsNIB.nwkNeighborTable[i].sExtAddr.u32H,gsNIB.nwkNeighborTable[i].sExtAddr.u32L,gsNIB.nwkNeighborTable[i].eDevicetype,gsNIB.nwkNeighborTable[i].u8LQI,gsNIB.nwkNeighborTable[i].u8Channel);if(notify_flag){}}Neighbor表[单片机]发布时间:2008-09-17 11:13:18理解1:Microchip的Stack使用了Neighbor表,说明它不是利用short mac地址来判断是否自己的叶子节点。
ZigBee技术介绍
ZigBee技术介绍精简功能设备(RFD):RFD只能传送信息给FFD或从FFD接收信息。
附带有限的功能来控制成本和复杂性,在⽹络中通常⽤作终端设备。
ZigBee⽹络定义了三种节点类型:协调器和路由器必须是全功能器件(FFD: Full function device),终端设备可以是全功能器件,也可以是简约器件(RFD: reduce function device)。
协调点是⼀个特殊的FFD,它具有较强的功能,是整个⽹络的主要控制者,它根据⽹络的最⼤深度(nwkMaxDepth),每个路由器能最多连接⼦设备的数⽬(nwkMaxChildren),每个路由器能最多连接⼦路由器的数⽬(nwkMaxRouters)等参数建⽴新的⽹络、収送⽹络信标、管理⽹络中的节点以及存储⽹络信息等。
RFD的应⽤相对简单,例如在传感器⽹络中,它们只负责将采集的数据信息収送给它的协调点,不具备数据转収、路由収现和路由维护等功能。
RFD占⽤资源少,需要的存储容量也⼩,在不収射和接收数据时处于休眠状态,因此成本⽐较低,功耗低。
FFD除具有RFD功能外,还需要具有路由功能,可以实现路由収现、路由选择,并转収数据分组。
⼀个FFD可以和另⼀个FFD或RFD通信,⽽RFD只能和FFD通信,RFD之间是⽆法通信的。
⼀旦⽹络启动,新的路由器和终端设备可以通过路由収现、设备収现等功能加⼊⽹络。
当路由器或终端设备加⼊ZigBee ⽹络时,设备间的⽗⼦关系(或说从属关系)即形成,新加⼊的设备为⼦,允许加⼊的设备为⽗。
⼀个简单的ZigBee⽹络⽗⼦关系如图3-a中的A、B。
ZigBee中每个协调点最多可连接255个节点,⼀个ZigBee⽹络最多可容纳65535个节点。
3.2 ⽹络拓扑ZigBee⽹络的拓扑结构主要有三种,星型⽹、⽹状(mesh)⽹和混合⽹,见图3。
星型⽹(图3-c)是由⼀个协调点和⼀个或多个终端节点组成的。
协调点必须是FFD,它负责収起建⽴和管理整个⽹络,其它的节点(终端节点)⼀般为RFD,分布在协调点的覆盖范围内,直接与协调点迚⾏通信。
mesh路由原理
mesh路由原理
摘要:
1.MESH 路由的概述
2.MESH 路由的工作原理
3.MESH 路由的优势和应用场景
正文:
一、MESH 路由的概述
MESH 路由,又称为网格路由,是一种多跳的网络路由技术。
与传统的单跳路由相比,MESH 路由通过让每个节点都具备路由功能,从而形成一个去中心化的网络拓扑结构,提高了网络的稳定性和可靠性。
二、MESH 路由的工作原理
1.路由发现:在MESH 网络中,每个节点都会周期性地向相邻节点发送路由信息,包括自己的链路状态和邻居节点的信息。
这些信息通过泛洪算法传播到整个网络,使每个节点都能了解到整个网络的拓扑结构。
2.路由选择:当一个节点需要发送数据时,它会根据收到的路由信息,选择一条最优的路径将数据传输到目的地。
路径的选择通常基于最短路径算法,如OSPF、RIP 等。
3.路由维护:MESH 网络中的路由信息是动态更新的。
当网络中的链路状态发生变化时,节点会及时将这些变化通知相邻节点,从而使整个网络的路由信息保持最新。
三、MESH 路由的优势和应用场景
1.优势:MESH 路由具有去中心化、自适应、可扩展性强等特点。
在复杂多变的网络环境中,MESH 路由能够快速适应链路故障、节点加入或离开等事件,保证网络的连通性。
2.应用场景:MESH 路由广泛应用于无线传感器网络、物联网、卫星通信网络等领域。
在这些场景中,节点数量众多、分布广泛,传统的单跳路由难以满足需求。
考虑网络吞吐量的异构无线传感器网络分簇路由算法
第44卷第3期2022年5月沈 阳 工 业 大 学 学 报JournalofShenyangUniversityofTechnologyVol44No3May2022
收稿日期:2020-11-13.基金项目:陕西省科技计划项目(2018JM6099).作者简介:许知博(1986-),男,河南尉氏人,高级工程师,硕士,主要从事电力系统信息化及通信等方面的研究.
doi:10.7688/j.issn.1000-1646.2022.03.15考虑网络吞吐量的异构无线传感器网络分簇路由算法
许知博1,2,段 新3(1西安电子科技大学电子信息学院,西安710126;2陕西省地方电力(集团)有限公司信息化工作部,西安710075;3陕西省地方电力物资有限公司,西安710038)
摘 要:针对在异构无线传感器网络信息聚类过程中,当层数为3~5层时,存在网络吞吐量较低的问题,提出一种异构无线传感器网络分簇路由算法.分析异构无线传感器网络能耗的无线电一阶模式,构建异构无线传感器网络的能耗模型.当簇群请求节点接收到发送于簇头的码分多址编码与时分多址时隙后,转发数据并使其稳定传输;引入狼群算法建立路由路径,实现异构无线传感器网络分簇路由算法优化.结果表明,异构无线传感器网络层数为3~5时的网络吞吐量均得到提高.关 键 词:狼群算法;异构无线传感器网络;聚类路由算法;多路径衰落模型;自由空间模型;数据稳定性;多址编码;路径匹配中图分类号:TP301 文献标志码:A 文章编号:1000-1646(2022)03-0326-05
Clusteringroutingalgorithmforheterogeneouswirelesssensornetworksconsideringnetworkthroughput
XUZhibo1,2,DUANXin3(1.SchoolofElectronicEngineering,XidianUniversity,Xi’an710126,China;2.InformatizationDepartment,ShaanxiProvincialElectricPower(Group)Co.Ltd.,Xi’an710075,China;3.ShaanxiProvincialElectricPowerSuppliesCo.Ltd.,Xi’an710038,China)
无线传感器网络中AODVjr路由算法改进-
无线传感器网络中AODVjr路由算法改进*摘要:目前无线传感器网络主要采用zigbee协议,而zigbee 协议中aodvjr路由算法查找路由时容易引起广播风暴。
根据aodvjr 算法中路由请求命令帧结构和路由应答命令帧结构的特点,研究出一种改进的aodvjr路由算法。
改进算法中通过命令帧结构中的命令选项保留字,取保留字第0位控制命令帧传输的方向性,该位为1表示向该节点的子节点方向传输,该位为0表示目的地不在该节点的子节点范围内。
利用omnet++4.1进行的仿真实验结果表明,改进的aodvjr路由算法能有效减少通信量,降低跳数,节约网络的整体能量,同时提高了网络的传输效率。
关键词: zigbee; aodvjr;广播风暴; omnet中图分类号:tp393 文献标志码:a 文章编号:1006-8228(2013)01-09-03improvement of aodvjr routing algorithm in wireless sensor networkzou guoxia, tang jianqing(guilin university of aerospace technology, guilin,guangxi 541004, china)abstract: at present, zigbee protocol is mainly applied in wireless sensor network. however, it is easier to arouse a broadcast storm when using the aodvjr routing algorithm.according to the characteristics of aodvjr algorithm, that is, route-requesting command frame structure and the route-replying command frame structure, an improved aodvjr routing algorithm is designed. the improved algorithm reserves word by commanding options in the command frame structure, and controlling the direction of command frame transmission by using the reserved word 0. if the bit is 1,the frame should be forward to the child node of the current node. otherwise, the destination node is not a child node of the current node. the simulation result by usingomnet++4.1shows that the improved aodvjr routing algorithm can effectively reduce traffic, and save the overall energy of the network, while improving the efficiency of network transmission.key words: zigbee; aodvjr; broadcast storm; omnet0 引言无线传感器网络是由大量无处不在的,具有通信与计算能力的微小传感器节点密集布设在监控区域而组成的自组织网络,应用前景非常广阔。
无线传感器网络的路由算法
AODV协议1. 概述Nokia研究中心开发,自组网路由协议的RFc标准,它是DSR和DSDV的综合,借用了DSR中路由发现和路由维护的基础程序,及DSDV的逐跳(Hop-by-HoP)路由、目的节点序列号和路由维护阶段的周期更新机制,以DSDV为基础,结合DSR中的按需路由思想并加以改进。
它应用于无线自组织网络中进行路由选择的路由协议, 它能够实现单播和多播路由。
该协议是自组织网络中按需生成路由方式的典型协议。
用于特定网络中的可移动节点。
它能在动态变化的点对点网络中确定一条到目的地的路由,并且具有接入速度快,计算量小,内存占用低,网络负荷轻等特点。
它采用目的序列号来确保在任何时候都不会出现回环,避免了传统的距离向量协议中会出现的很多问题。
AODV最初提出的目的是为了建立一个纯粹的按需路由的系统。
网络中的节点完全不依赖活动路径,既不维护任何路由信息,也不参与任何定期的路由表交换。
节点不需要发现和维护到其他节点的路由,除非两个节点需要通讯或者节点是作为中间转发节点提供特定的服务来维护另外两个节点的连接性。
提出:With the goals of minimizing broadcasts and transmission latency when new routes are needed, we designed a protocol to improve up on the performance characteristics of DSDV in the creation and maintenance of ad-hoc networks.2. 特点优点:(1)基本路由算法为距离向量算法,但有所改进,思路简单、易懂。
(2)按需路由协议,而且节点只存储需要的路由,减少了内存的需求和不必要的复制。
(3)采用UDP 封装,属于应用层协议。
(4)支持中间节点应答,能使源节点快速获得路由,有效减少了广播数,但存在过时路由问题。
OLSR协议流程
北京邮电大学 · 无线通信与电磁兼容(RTE)实验室
OLSR:邻居发现
值得注意的是,OLSR需要寻找对称链路,是下一步 寻找多中继(MPR)建立拓扑的必要条件
对称链路的寻找过程:
北京邮电大学 · 无线通信与电磁兼容(RTE)实验室
OLSR:邻居发现
通过以上步骤,网络中的节点均建立起了自己的对称一跳邻居 集合和两跳邻居集合。 A节点通过接收C节点的HELLO分组,首先解析里面的Main地址 ,得知C是A的一跳邻居,再解析HELLO分组里的Neighbor地址 ,得知D是C的一跳邻居,则得知D是自己的二跳邻居。
TC更新后 T_dest A B C T_last \ A B T_dest S B C T_last A A B T_dest A C T_last B B T_dest B D A T_last C C B T_dest C B A T_last \ C B 这里令B发送TC 分组更新
北京邮电大学 · 无线通信与电磁兼容(RTE)实验室
北京邮电大学 · 无线通信与电磁兼容(RTE)实验室
OLSR:MPR选择
北京邮电大学 · 无线通信与电磁兼容(RTE)实验室
OLSR:拓扑建立
当选好MPR后,每个MPR节点均会建立起自己的一个 MPR Selectors表。这个表指定了在建立拓扑的时候, MPR节点要转发来自哪些节点的TC分组信息。 TC分组信息格式:同样有两个地址,main和MPRS
C
MPR_Selectors
D
邻居发现与MPR 选取
S B
T_dest A B T_last \ A T_dest S B T_last A A A C
A C
T_dest T_last B B B D
