DNS服务发现,多播DNS和Bonjour如何关联?


11

我对术语有些迷惑。我想开始使用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。

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

Answers:


8

我刚刚在这里回答了你先前的问题。

我认为答案涵盖了您在此处提出的问题,但以防万一:

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

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.