Router 选择

2023-05-16

Connected Dominating Set

在这里插入图片描述

Example of a Connected Dominating Set

Router 必须形成一个 CDS(Connected Dominating Set,连接支配集),这意味着:

  1. 在任何两个 Router 之间都有一个 Router-only 的路径。
  2. Thread 网络中的任何一个 Router 都可以通过完全位于 Router 集中而到达其他任何 Router。
  3. Thread 网络中的每个 End Device 都直接连接到 Router。

Thread 使用分布式算法维护 CDS,从而确保最低程度的冗余。每个设备最初都作为 End Device(子)连接到网络。随着 Thread 网络状态的更改,算法会增添或移除 Router 以维护 CDS。

Thread 在下列情况下将会增添 Router:

  • 如果网络低于 Router 阈值(16) —— 为了增加覆盖范围
  • 增加路径多样性
  • 保持最低程度的冗余
  • 扩展连接并支持更多子节点

Thread 在下列情况下将会移除 Router:

  • 将路由状态减少到最多 32 个 Router 以下
  • 必要时允许在网络的其他部分使用新 Router

升级成 Router

子设备连接到 Thread 网络后,可以选择成为 Router。在开始 MLE Link Request 过程之前,子设备会向 Leader 发送 Address Solicit 消息,以请求一个 Router ID。如果 Leader 同意该请求,则它将响应一个 Router ID 给子设备,并且子设备会将自身升级为 Router。

然后,MLE Link Request 过程用于与相邻的 Router 建立双向 Router-Router 链路。

  1. 新 Router 将发送一个多播 Link Request 到相邻的 Router。
  2. Router 使用 Link Accept and Request 消息进行响应。
  3. 新 Router 使用单播的 Link Accept 响应每个 Router,以建立 Router-Router 链路。

1. Link Request

Link Request 是从 Router 到 Thread 网络中所有其他 Router 的请求。首次成为 Router 时,设备会发送一个多播 Link Request 到 ff02::2。稍后,在通过 MLE Advertisement 发现其他 Router 后,设备将发送单播的 Link Request。
在这里插入图片描述

Link Request Message Contents
VersionThread 协议版本
Challenge测试 Link Response 的及时性,以防止重放攻击
Source Address发送者的 RLOC16
Leader DataRouter 的 Leader 的相关信息(RLOC, Partition ID, Partition weight)

2. Link Accept and Request

Link Accept and Request 是 Link Accept 和 Link Request 消息的组合。Thread 在 MLE Link Request 过程中使用此优化将消息的数量从四减少到三。
在这里插入图片描述

3. Link Accept

Link Accept 是对来自相邻 Router 的 Link Request 的单播响应,该响应提供有关自身的信息并接受到相邻 Router 的链路。
在这里插入图片描述

Link Accept Message Contents
VersionThread 协议版本
Response测试 Link Response 的及时性,以防止重放攻击
Link Frame Counter发送者上的 802.15.4 帧计数器
MLE Frame Counter发送者上的 MLE 帧计数器
Source Address发送者的 RLOC16
Leader DataRouter 的 Leader 的相关信息(RLOC, Partition ID, Partition weight)

降级成 REED

当 Router 降级成 REED 时,其 Router-Router 链路断开,并且设备开始 MLE Attach 过程以建立父子链路。

有关 MLE Attach 过程的更多信息,请参阅 加入现有网络。

单向接收链路

在某些情况下,建立单向接收链路是有必要的。

在 Router 重置后,相邻 Router 可能仍具有与重置的 Router 的有效接收链路。在这种情况下,重置的 Router 发送 Link Request 消息以重新建立 Router-Router 链路。

置的 Router 的有效接收链路。在这种情况下,重置的 Router 发送 Link Request 消息以重新建立 Router-Router 链路。

End Device 也可能希望与相邻的 Router(非父节点)建立接收链路,以提高多播可靠性。当我们进入多播路由时,我们将学习更多与此相关的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Router 选择 的相关文章

  • [Vue Router warn]: Component “default“ in record with path “/xx“ is a function that does not return

    debug日记 Vue Router warn Component default in record with path xxx is a function that does not return a Promise If you we
  • Router 选择

    Connected Dominating Set Example of a Connected Dominating Set Router 必须形成一个 CDS xff08 Connected Dominating Set xff0c 连接
  • react-router-dom错误

    index tsx 24 Uncaught Error useLocation may be used only in the context of a lt Router gt component at invariant index t
  • 人力资源平台项目总结(2)

    目录 1 路由和页面 1 1 左侧菜单的显示逻辑 设置菜单图标 重点 2 组织架构 2 1 认识组织架构 2 2 将树形的操作内容单独抽提成组件 2 3 获取组织架构数据 并进行树形处理 重点 2 4 删除部门功能实现 2 5 新增部门功能
  • 如何将数据注入到从路由器创建的 Angular2 组件中?

    我目前正在尝试为我们的 Angular1 应用程序 相当复杂的一个 构建 Angular2 原型 基于 alpha44 并且我正在尝试在使用路由和子路由时找到最佳的模型 数据架构 在我的示例中 从从路由创建的子组件中 我想访问父组件的属性
  • Angular:路由器、子项(可选)参数

    所以 我希望生成这样的路径 比赛 页面 球队 赛季 其中 team 和 season 是可选参数 所以我可以有一个像这样的网址 matches results 4 2017 or matches results 4 or matches r
  • 将道具从子级传递给父级反应导航

    我在用react navigation 我正在路过propsfrom a react native component to the modal from react navigation用水龙头打开 export default clas
  • React Router 4 - componentWillReceiveProps() 不触发

    我正在使用 React Router 4 当我使用渲染参数 componentWillReceiveProps 渲染组件时 它不会第一次触发 因此我需要单击两次才能将道具发送到组件 我这样渲染 const CartRoute props g
  • 如何在角度应用程序中对 router.navigate 进行单元测试 [重复]

    这个问题在这里已经有答案了 我正在为角度应用程序运行单元测试 我想对导航在角度应用程序中是否正常工作进行单元测试 if this customer length 0 this router navigate nocustomer 以及这个的
  • Angular2 中 api 调用后重定向到路由

    在处理 通过 api 用户通过表单提交的数据后 我需要将用户重定向到不同的组件 下面是我尝试过的代码 在组件中 onSubmit model if model valid true this SharedService postFormda
  • 模拟网络连接不良

    我正在开发一个可以通过 LAN 访问互联网的嵌入式设备 我现在正处于测试阶段 我想测试当互联网连接较差时设备的性能 目前 该设备通过集线器连接到路由器 我用集线器通过 Wireshark 监控数据包 降低设备的互联网速度以模拟可能发生的场景
  • 为什么骨干路由需要默认路由

    我用backbone js 创建一个测试用例 http jsfiddle net VWBvs 5 http jsfiddle net VWBvs 5 路线定义为 var AppRouter Backbone Router extend ro
  • 主干路由器侦听器未命中哈希标签

    我的问题是 当我在链接中使用哈希标签时 它只是将哈希附加到 url 而不是转到路由 例如 ToDo public offline2 html test 如果我离开tag 由于某种原因它确实会转到路由器 我已经用以下代码关闭了 jquery
  • Angular 2嵌套路由解析执行

    例如 如果我有以下路线组织 const appRoutes Routes path component AppComponent resolve app AppResolver children path component NestedC
  • 从另一台机器访问 Mac OS X 上的 Jenkins

    我想从路由器和互联网后面到达詹金斯 非常简单的设置 互联网 gt 路由器 gt Mac gt Jenkins 已知项目 从路由器上 我可以看到机器的内部 IP 我将其称为 X X X X 然后是Jenkins中的Jenkins URL位置配
  • 任意多个节点的贝尔曼-福特距离向量算法

    我正在尝试为模拟路由器的类编写一个程序 到目前为止我已经设置了基础知识 路由器 可以通过模拟服务器向连接到该服务器的其他 路由器 发送和接收数据包 每个数据包仅包含该路由器的距离向量 当路由器接收到数据包时 它应该使用贝尔曼 福特算法相应地
  • SSH -L 连接成功,但本地主机端口转发不起作用“通道 3:打开失败:连接失败:连接被拒绝”

    我的实验室在服务器上运行 RStudio 几周前 我在表弟家里成功通过 ssh 连接到服务器 并通过本地 Firefox 浏览器启动了服务器端 RStudio 现在 当我尝试从家里访问服务器 RStudio 通过我自己的路由器 时 它不起作
  • React Router 在刷新页面之前不会加载页面

    大家好 我是 Tanbhir Hossain 我正在尝试将 HTML 模板转换为 React js 问题出在 React Router 中 当我单击任何页面时 仅显示预加载 直到手动刷新页面 刷新页面时 它显示得很好 现在我想摆脱这个问题
  • Angular2 条件路由

    这可能是一个基本问题 但是在 Angular2 中是否有任何方法可以进行条件路由 或者 有人会在路由器之外这样做吗 我知道 ui router 有一定的能力做到这一点 但我在 Angular2s 路由器中没有看到类似的东西 如上所述 角路线
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是

随机推荐