Thread如何选举Leader设备?

物联网 线
2021-06-28 02:47:46

Thread 制作了一份关于他们的协议的文档Thread Stack Fundamentals,我一直在阅读该文档以尝试了解更多关于 Thread 如何工作的信息。

在第 5 页,该文档解释说,尽管没有单点故障,但需要一个领导者来为网络做出决策:

路由器或边界路由器可以为 Thread 网络中的某些功能承担领导角色。该领导者需要在网络内做出决策。例如,Leader 分配 Router 地址并允许新的 Router 请求。领导角色被选举出来,如果领导失败,另一个路由器或边界路由器承担领导角色。正是这种自主操作确保没有单点故障。

Thread网络中的设备如何选举Leader?当设备“投票”或选择领导者时,是否有一组评估标准?

1个回答

好问题!我从radio-electronics.com 上找到了一篇文章,它确实有助于更详细地解释 Thread 的工作原理。基本上,第一个符合条件的路由器节点自行指定为领导者。

换句话说,当一个节点被添加时,如果在系统中找不到领导者,它会自动指定自己为领导者。否则,它将落入现有领导节点下。我引用上面引用的文章:

如果需要路由器符合条件的节点来支持网格,则它们将成为路由器。形成网络的第一个路由器合格节点将被自主指定为路由器和领导者。领导者执行额外的网络管理任务并代表网络做出决策。网络中的其他路由器合格节点可以承担领导者的角色,但在给定时间每个网络只有一个领导者。

换句话说,这是一个单机器选举。不是很民主,但在计算机中,它有效。