使用的SDK为simplelink_cc13xx_cc26xx_sdk_6_40_00_13
在文档simplelink_cc13xx_cc26xx_sdk_6_40_00_13/docs/zigbee/html/zigbee/z-stack-overview.html中提到,
bdbTrustCenterRequireKeyExchange¶
If BDB_DEFAULT_TC_REQUIRE_KEY_EXCHANGE
in bdb_interface.h
is set to TRUE
, then all the joining devices are mandated to perform the TCLK exchange procedure. Devices that do not perform this procedure will be kicked out of the network after BDB_DEFAULT_TC_NODE_JOIN_TIMEOUT
seconds (15 by default). If this policy set to FALSE
(default), joining devices will not be required to perform a TCLK update, but they will be allowed to do so. The TCLK exchange procedure is described in Unsecure Join to a Centralized Network.
疑问:
我现在是将宏定义 BDB_DEFAULT_TC_REQUIRE_KEY_EXCHANGE 设置为false,按我的理解,这意味着这个网络类型为 Distributed Security Network,而不是Centralized Security Network,
这也意味着子设备加入网络时,在Transport Key这个步骤,64bit source address应为0xff,代表网络类型为Distributed Security Network;并且子设备入网后,无TCLK update操作,也即没有node descriptor request,request key, transport key, verify key这个步骤
但根抓包情况来看,在Transport Key这个步骤,64bit source address为真实的地址,并且也有TCLK update操作。
那么,到底是我理解有错误,还是SDK有BUG呢?