ZigBee路由机制有以下种类:
TableRouting
BroadcastRouting
MulticastRouting
Many-to-One/SourceRouting
源节点为了发现到目标节点的路径,首先源节点发送路由发现请求从而形成路由表。当两个节点之间的路由建立后,源节点只需要将数据发送给路由中的第一个节点,此节点存在源节点的路由表中。因此每一个中间节点都通过查询自己的路由表将数据转发到路由的下一个节点,直到数据到达目标节点。如果路由失败,则将路由错误发送回给源节点,然后源节点可以重新发起路由发现请求。
广播路由是在网络中给所有设备发送消息的一种路由机制。网络层广播具有选项可以选择是将消息只发送给路由设备,还是发送到非休眠的终端设备,或者还是发送到带休眠的终端设备。
如下表格,通过广播地址设置
广播地址 | 目标设备 |
0xFFFF | 网络中所有设备 |
0xFFFE | 预留 |
0xFFFD | 网络中的非休眠设备 |
0xFFFC | 网络中的协调器和所有路由设备 |
一条广播消息会被网络中所有路由设备重复广播3次,以确保传送到所有设备。虽然广播是发送消息的可靠方法,但由于对网络性能的影响,应谨慎使用广播。重复广播可能会限制网络中其他正在发生的通信。广播也不是给休眠设备发送消息的可靠方式,因为父设备负责缓冲发送给休眠子设备的消息,但可能会在休眠子设备唤醒前丢掉消息。
组播路由提供一对多通信的路由选项。当一个设备想要向一组设备发送消息时使用组播,例如一个开关向一组10个等发送开命令。在这种机制下,所有设备加入到一个组中。只有那些属于该组成员的设备才会收到消息,而其他设备将路由转发这些组播消息。组播可以理解成被限制的广播,同样过多使用会降低网络性能。广播和组播都是没有ACK的。
Many-to-One Routing,是一种简单的路由机制,使得整个网络中的路由设备拥有回到中心节点(集中器)的路由,在这种机制下,中心节点(集中器)周期性发送Many-to-One route discovery广播(默认60秒可以根据需求设置)。当网络中的路由设备收到这条广播之后,其拥有回到中心节点(集中器)的下一跳路由,并将此跳节点信息存储在自己的路由表中。至此,只要网络中的路由设备收到Many-to-One route discovery的广播,就知道回中心节点(集中器)的路由。
如下图所示,C周期广播Many-to-One route discovery,网络中的所有路由设备都知道自己到C的路由信息,同时并更新到自己的路由表中。
Source routing,是指中心节点(集中器)将发往其它路由设备的路由机制。对于中心节点(集中器)而言,其还不知道下行的路由,即将信息发往每个路由设备的路由还未知。因此当每个路由设备发送单播到中心节点时,会在此之前发送一条Route Record给中心节点。中心节点收到这条Route Record,将这条路由反向并存储在中心节点的Source routing表里(表的大小需要储存网络中的所有路由设备的源路由信息)。这样,中心节点就可以通过查询Source routing表来获取发给目的节点的路由。
如下图所示,R1向C发送单播数据时,会先发一个自己的路由信息给C,C收到R1的路由信息时会把路由反向储存到自己的源路由表中,同理源路由表会记录网络中所有路由设备的路由信息。
总之,只要路由设备收到Many-to-One route discovery广播,就知道回到中心节点的路由。只要中心节点的Source routing表里面有路由设备的信息,则中心节点就知道发往该路由设备的路由。
如果异常情况下中心节点(集中器)复位或断电重启,其Source routing表的信息会全部丢失,此时需要有相应的机制来恢复其Source routing表。在此情况下,可以使中心节点(集中器)先广播Many-to-One route discovery,
之后再广播一条数据到各路由节点,使得路由节点向中心节点(集中器)回复一条单播,路由节点在发送此条单播之前会发送Route Record,因此中心节点可以更新其Source routing表。
如果在某种异常情况下路由节点全部断电或重启,其中各路由节点的路由表也会丢失,此时需要等待至少16s左右之后,每个路由节点建立起与邻居路由节点的链路之后,再由中心节点(集中器)发送Many-to-One route discovery广播,一旦各路由节点设备收到Many-to-One route discovery广播,就拥有了回到中心节点的路由。
今天的分享就到这里啦,EBYTE人每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的太阳集团tcy8722官网进行了解,还有客服小姐姐在线答疑哦!
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 杭州办事处戴经理:17512568697
常州办事处崔经理:15906110783 南京办事处葛经理:17626012283
业务邮箱:support@cdhanzaichips.com
全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都太阳集团tcy8722电子科技有限公司【版权所有】 蜀ICP备27697263号-3