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 组播发现的主要内容,如果未能解决你的问题,请参考以下文章
Python OPC UA 客户端安全策略(基本 256sha256)?