[Zigbee 科普系列】 - 7 路由机制
下面介绍下route request
的作用和设备发送route request
的时机
many to one route request
many to one route request
多用于zigbee 集中式网络,由协调器广播 router转播的方式建立router路由表和网关的源路由表,优点是可以统一刷新网络中router的路由表老化时间
协调器以合理的间隔发送many to one route request
可以减少各个节点发起端对端 route request的概率,提高网络稳定性
涂鸦网关会定时发送 many to one route request
,网络中的router在数据转发过程中,会计算自己到达网关的path cost并把自己的地址加到数据包中
当网络中的router转发many to one route request
后,当router有数据需要上报给网关且网关不是该router的邻居时,设备会选择接收到的many to one route request
中path cost
最小的一条路径作为自己的上报路径,将其更新到自己的路由表中,并发送route record
,将路由表中的下一跳作为该条route record
的mac destination
下一跳会根据自己的路由表或邻居表选择一条路径转发该数据,通过多跳传递直到数据达到目的地址
unicast route request
当前一个设备需要发送给目标设备数据,且目标设备不在发起端设备的邻居表和有效路由表中,则发起端设备会发起端对端的route request
,以尝试建立到达目标设备的数据发送链路,优点是可以快速的建立到达目标设备的路由表,灵活的建立端对端通讯的路径
当发送端设备发送route request
后,网络中的router收到该包后会检查目标设备是否是自己,或是它的邻居,或是存在它有效路由表中。如果均不在,则加上上一跳到自己的path cost
并转发route request
当网络中router收到该包后发现目标设备是自己,或是它的邻居,或是存在它有效路由表中。则router需要选择收到的所有route request
中path cost
最小的一条路径,通过该路径发送 route reply
如果回复route reply
的设备并不是目标设备,而是通过邻居表或路由表确认的,则route reply
中需要加上回复设备到目标设备的path cost
发送设备收到route reply
后,会建立路由表,并通过该路由表指定的路径发送数据