zigbee协议栈讲解(ZigBee协议的路由机制经典分析)

来源:  星创易联 发布时间: 2022-09-30 14:51:49
导读:ZigBee路由有以下种类 Table Routing Broadcast Routing Multicast Routing Many-to-One/Source Routing


Part 1Table Routing

源节点为了发现到目标节点的路径,首先源节点发送路由发现请求从而形成路由表。当两个节点之间的路由建立后,源节点只需要将数据发送给路由中的第一个节点,此节点存在源节点的路由表中。

因此每一个中间节点都通过查询自己的路由表将数据转发到路由的下一个节点,直到数据到达目标节点。如果路由失败,则将路由错误发送回给源节点,然后源节点可以重新发起路由发现请求。


Part 2 Broadcast Routing

广播路由是在网络中给所有设备发送消息的一种路由机制。网络层广播具有选项可以选择是将消息只发送给路由设备,还是发送到非休眠的终端设备,或者还是发送到带休眠的终端设备。

如下表格,通过广播地址设置

image.png

一条广播消息会被网络中所有路由设备重复广播3次,以确保传送到所有设备。虽然广播是发送消息的可靠方法,但由于对网络性能的影响,应谨慎使用广播。

重复广播可能会限制网络中其他正在发生的通信。广播也不是给休眠设备发送消息的可靠方式,因为父设备负责缓冲发送给休眠子设备的消息,但可能会在休眠子设备唤醒前丢掉消息。


Part 3 Multicast Routing

组播路由提供一对多通信的路由选项。当一个设备想要向一组设备发送消息时使用组播,例如一个开关向10个灯发送打开命令。在这种机制下,所有设备加入到一个组中。

只有那些属于该组成员的设备才会收到消息,而其他设备将路由转发这些组播消息。组播可以理解成被限制的广播,同样过多使用会降低网络性能,而且广播和组播都是没有ACK的。


Part 4 Many-to-One/Source Routing

Many-to-One Routing,是一种简单的路由机制,使得整个网络中的路由设备拥有回到中心节点(集中器)的路由,在这种机制下,中心节点(集中器)周期性发送Many-to-One route discovery广播(默认60秒可以根据需求设置)。

当网络中的路由设备收到这条广播之后,其拥有回到中心节点(集中器)的下一跳路由,并将此跳节点信息存储在自己的路由表中。至此,只要网络中的路由设备收到Many-to-One route discovery的广播,就知道回中心节点(集中器)的路由。

如下图所示,C周期广播Many-to-One route discovery,网络中的所有路由设备都知道自己到C的路由信息,同时并更新到自己的路由表中。

image.png

Source routing,是指中心节点(集中器)将发往其它路由设备的路由机制。对于中心节点(集中器)而言,其还不知道下行的路由,即将信息发往每个路由设备的路由还未知。因此当每个路由设备发送单播到中心节点时,会在此之前发送一条Route Record给中心节点。中心节点收到这条Route Record,将这条路由反向并存储在中心节点的Source routing表里(表的大小需要储存网络中的所有路由设备的源路由信息)。这样,中心节点就可以通过查询Source routing表来获取发给目的节点的路由。

如下图所示,R1向C发送单播数据时,会先发一个自己的路由信息给C,C收到R1的路由信息时会把路由反向储存到自己的源路由表中,同理源路由表会记录网络中所有路由设备的路由信息。

image.png

总之,只要路由设备收到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广播,就拥有了回到中心节点的路由。


文章对应产品

SR500工业路由器(双口)
SR510工业路由器(电力)
SR700路由器(单模双卡)
SR700-D路由器(双模)

产品对应解决方案

在线咨询
产品PK
样机申请
选购攻略

微信扫一扫

微信联系
返回顶部