OPC UA 组播发现

Posted

技术标签:

【中文标题】OPC UA 组播发现【英文标题】:OPC UA Multicast Discovery 【发布时间】:2021-03-21 17:57:39 【问题描述】:

我是 OPC UA 的初学者,正在探索规范第 12 部分中提到的发现机制。我有几个问题。

    在组播扩展发现中,服务器向其本地发现服务器(LDS ME)注册,当客户端向其LDS-ME注册时,客户端LDS-ME发出组播探测,服务器端LDS为其-ME 以公告响应,从而允许客户端知道网络中的服务器列表。 我的问题是,为什么这个过程被称为多播探测和多播公告。因为根据 mDNS 规范,探测和公告最初用于确保资源记录的唯一所有权。谁能告诉我为什么称为探测和宣布?

    在 open62541 堆栈中,使用发现示例,运行 server_lds.c,我收到一条日志消息“多播 DNS:出站接口 0.0.0.0,这意味着使用了第一个操作系统接口(您可以显式设置使用“discovery.mdnsInterfaceIP”配置参数进行接口)”。 现在理论说多播 dns IP 应该是 224.0.0.251: 5353 为什么将其设置为 0.0.0.0?谁能告诉我?

问候, 罗山

【问题讨论】:

关于 2. => 我认为“0.0.0.0”表示使用所有现有的操作系​​统接口,而不仅仅是第一个。 【参考方案1】:

    与 mDNS 规范中使用的“probe”和“announce”这两个词没有关系。它只是说探测,意味着查找或查询,并像“有与您的探测请求相关的以下结果”一样宣布。

    0.0.0.0 表示这里每个 Ipv4 接口都被使用(绑定)。因此,系统中每个有能力的接口都将配置为 mDNS。应该是你提到的方式。

"0.0.0.0" => 看看这里https://en.wikipedia.org/wiki/0.0.0.0

【讨论】:

非常感谢您的回复。所以我将把对 RFC 文档的探测和发布的理论分析保留在 OPC UA 范围之外。 另外,当谈到广告服务时,也有 PTR 查询是否正常?尽管文档指定了 SRV 查询?

以上是关于OPC UA 组播发现的主要内容,如果未能解决你的问题,请参考以下文章

OPC UA 发现中的多播 DNS 名称冲突

OPC UA:安装 LDS 提供啥?

Python OPC UA 客户端安全策略(基本 256sha256)?

OPC ua是啥?

如何将文件从 OPC UA 客户端传输到 OPC UA 服务器

OPC UA官方文档翻译Part 1 --待续