DNS服务发现,组播DNS和Bonjour如何相关?

Modified on: Thu, 10 Oct 2019 03:00:03 +0800

我在术语上有点迷失。我想开始使用Bonjour。作为第一步,我试图找到一种简单的方法来使用它。我认为我可能会从命令行调用Bonjour来注册和发现服务。

当我问其他人怎么做时,我被告知有关mDNS(适用于Mac和Linux但不适用于Windows)。人们还告诉我,我可以使用“dns-sd”(适用于Windows)。我被告知“dns-sd”只是mDNS的别名。

但是!后来我发现DNS服务发现和多播DNS是两个不同的东西(兼容并且在一起使用时工作特别好,但它们不需要彼此)。

此外,在我看来,mDNS和DNS-SD是Bonjour的三个主要组成部分中的两个。这样对吗?没有Bonjour我可以使用它们吗?在我的Windows 7上我安装了Bonjour,我能够在命令行中运行“dns-sd”。但是我无法运行mDNS。

所以,我此刻有点困惑。任何人都可以请求澄清一下情况吗?

作者:Roman

最佳答案

我刚刚回答了您之前关于此处的问题。

我认为这个答案涵盖了你在这里提出的问题,但以防万一:

Bonjour由3部分组成:
 1. IPv4(和IPv6)链路本地寻址(IPv4中的169.254.0.0/16地址)
 2.多播名称解析(通过mDNS协议)。这允许ad-hoc或隔离LAN上的主机通过多播DNS查询和响应来自动将主机名映射到彼此的IP地址,而无需传统的单播DNS服务器。
 3. DNS服务发现,它允许您发现给定类型的服务的名称和详细信息。在本地网络上,DNS服务发现通常也是通过mDNS完成的,但通过“Wide Area Bonjour”,您实际上可以通过单播DNS服务器对整个域进行DNS服务发现。

使用dns-sd工具可以完成第2部分和第3部分所需的所有查询/查找,我在回答您的其他问题时给出了示例。

我认为你的困惑部分来自这样一个事实:命令行工具的名称与协议相同。 mDNS是多播域名服务协议的名称,但它也是用于发送mDNS协议查询和接收响应的通用命令行工具的旧名称。 “dns-sd”是用于执行DNS服务发现以及执行多播名称解析查找的最常用命令行工具的当前名称。这两个命令行工具通常都调用由“mDNSResponder”后台进程/ service / daemon处理的API。

作者:Community,Spiff

相关问答

添加新评论