我正在尝试使用 Contiki OS 和 cooja 模拟器在物联网中复制数字孪生模型,如何创建具有中间节点的网络拓扑?

问题描述 投票:0回答:1

我们想知道如何准确地复制 Contiki 中研究论文中的模型。创建 3 个源节点、中间节点和接收器节点时的问题是数据包也直接发送到接收器,而我希望所有数据包在到达接收器节点之前都经过中间节点。帮助我在创建中间节点时选择哪些代码,如果我编写自己的代码,我在编译时会遇到错误。

创建 3 个源节点、中间节点和接收器节点时的问题是数据包也直接发送到接收器,而我希望所有数据包在到达接收器节点之前都经过中间节点。帮助我在创建中间节点时选择哪些代码,如果我编写自己的代码,我在编译时会遇到错误。

networking iot contiki cooja azure-digital-twins
1个回答
0
投票

由于您没有指定在模拟中使用的协议,我假设使用标准 IETF IoT 协议(IEEE802.15.4、6LoWPAN,具有 RPL-Lite 路由)。

一个快速“解决办法”就是降低所有设备的传输范围,因此唯一可能的路线是通过中间节点。这会降低您的应用程序与现实世界中的应用程序的“真实性”。既然你说这是一个数字孪生实施,我会小心这种方法。

使用路由协议的一部分是为了方便创建和维护连接节点的工作路由。您应该能够使用 RPL 存储模式控制首选下行路线,如RFC6550 第 9.9 节

中描述的路径控制

如果您使用默认的 RPL-Lite(非存储模式),它会在模拟开始时创建一个路由树。在这种模式下,所有需要路由的数据包都必须向上到达树根才能向下转发,除非它在向上的路由上到达目的地。

如果汇聚节点位于源节点的传输范围内并且是网络的根,则在创建路由树(DODAG)时,它将忽略任何实现其最终目标的不必要步骤,从而跳过中间节点。您可以将其发送到中间节点,并在中间接收后创建回调函数,将数据包重新路由到接收器,而不是直接将其发送到接收器。即使您使用某种形式的加密,这也应该有效,但可能会稍微增加端到端延迟。

即使不遵循这个“解决方案”,如果您想使用 RPL,您也应该浏览 RPL 函数文档,看看是否有一个函数可以帮助您实现目标。

© www.soinside.com 2019 - 2024. All rights reserved.