gpt4 book ai didi

multicast - 具有多播和单播的 DDS 配置

转载 作者:行者123 更新时间:2023-12-02 10:22:13 31 4
gpt4 key购买 nike

我仍在尝试理解 DDS 及其概念。 我有一个配置,其中两台笔记本电脑运行基于 dds 的应用程序。我的环境不允许多播,因此我决定采用点对点连接(单播)。为了将两台笔记本电脑置于同一网络中,我使用以太网电缆连接它们(不确定是否有必要)。

现在我没有更改 QoS 中的任何内容,即我没有对单播进行任何设置。但现在我的应用程序正在相互通信。

问题:

  1. 如何发现参与者?组播?因为我没有对单播进行任何设置。
  2. 如果我想使用单播,是否有必要将它们置于一个网络下,即使用以太网电缆连接?

编辑:

配置如下:

  • 第一台笔记本电脑:Windows 操作系统:基于 native DDS 的应用程序:发布者:不允许多播。
  • 第二台笔记本电脑:Linux:基于 ROS2 的订阅者:组播没问题

最佳答案

开箱即用,DDS 需要支持多播和单播发现。匿名连接通过多播处理。如果您知道收件人的 IP 地址,则可以手动将这些地址配置到单播发现列表中(每个供应商都有自己的方式来命名/处理此列表)。

在大多数情况下,“我们的网络不允许多播”意味着您的 IT 部门已在定义网络结构的交换机上关闭多播数据包转发。

但是,出厂时符合标准的 DDS 配置并不了解此本地策略(怎么可能?)。如果您没有根据本地策略更改配置,DDS 参与者仍然将尝试通过多播进行连接,因为您尚未将其关闭。

如果使用 DDS 的计算机连接到同一集线器或非托管交换机(此处定义为您的 IT 部门不关心或配置错误的交换机),并且网络拓扑不跨越< em>托管交换机,并且他们使用默认配置,并且他们找到对方,然后他们使用多播匿名发现

了解如何配置 DDS 实现,以添加需要通信的计算机的单播 IP 地址。因为发现通常只需要在一个方向上(如果 A 发现 B,则 B 确实发现了 A,假设 A 和 B 都没有配置为忽略对方[1])。

配置单播发现后,您可以配置非多播。如果机器位于 IP 跳跃网络(WiFi 等)上,除非 DDS 实现能够理解多路径,否则将会很困难。与供应商联系,看看是否属于这种情况。

[1] 如果不是过度可配置的话,DDS 就什么都不是。

关于multicast - 具有多播和单播的 DDS 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52100374/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com