这是 Apple 的开源 DNS 服务发现集合。该集合由一组守护程序、工具和库组成,在部署和使用 DNS 服务发现时可以一起或单独使用它们。该集合由以下子系统组成:
mDNS 响应程序守护程序 (mDNSResponder) 既充当 DNS 存根解析程序、使用多播 DNS (mDNS) 发布的信息的解析程序,又充当 mDNS 信息的发布者。 mDNSResponder 监视端口 5353(mDNS 端口)上的多播流量,以跟踪本地网络上通告的服务。 mDNSResponder 对非本地查询执行 DNS 解析,并使用 mDNS 解析特殊“.local”域中的查询。 mDNSResponder 在 macOS 上用作系统解析器,并提供 Bonjour 服务广告和发现,并且可以在其他平台(例如 Linux 和 BSD)上提供相同的服务。
[单击此处了解如何设置和使用 mDNSResponder。][1]
OpenThread 存根网络边界路由器可用于使用 OpenThread 为 Thread(802.15.4 网状)网络提供存根路由器服务。存根路由器是一种为一个或多个隔离(存根)网络提供服务的路由器,并且可以自动连接到基础设施网络,例如家庭 Wi-Fi 网络。存根路由器的目的是允许:
[单击此处了解如何设置和使用开放线程存根网络边界路由器][2]
DNSSD 发现代理实现了 IETF DNSSD 发现代理 ([RFC8766][3]) 和 DNS 推送 ([RFC 8765][4])。它们一起提供权威 DNS 服务,以实现 DNS 服务发现,使用 mDNS 而不是状态 DNS 数据库。这使得网络基础设施能够通过 DNS 自动提供 DNS 服务发现,从而消除了多链路网络上的常见问题,即只有主机恰好连接到正确的链路时才能发现服务。
[单击此处了解如何设置和使用 DNSSD 发现代理][5]
DNSSD 服务注册协议广告代理实现充当 [DNSSD 服务注册协议][6] 服务器:它接受来自 SRP 客户端的服务注册。然后,使用多播 DNS 在一个或多个基础设施链路上公布服务注册。
[点击此处了解如何设置和使用 DNSSD 服务注册协议广告代理][7]
DNSSD 服务注册协议客户端实现了 [DNSSD 服务注册协议][8] 的客户端。核心客户端实现的实现方式使其可以使用必须在嵌入式环境中实现的小型 API 轻松嵌入。提供了两个示例 API,一个用于 Thread,另一个用于 Posix。 Posix 实现构建了一个命令行客户端,它可以用作注册服务的守护进程,也可以用于验证服务注册协议实现的各个方面。
[点击此处了解有关 DNSSD 服务注册协议客户端的更多信息][9]
DNSSD 服务注册协议更新代理充当 [DNSSD 服务注册协议][10] 服务器:它接受来自 SRP 客户端的服务注册。然后,SRP 注册用于生成一系列 DNS 更新([RFC2136][11])。这些更新可以使用 TSIG 进行身份验证。 SRP 服务器在所有 DNS 更新完成后响应客户端,或者在部分 DNS 更新失败时响应。运行 SRP 协议更新代理的效果就好像正在更新的 DNS 服务器本身就是 SRP 服务器。
[单击此处了解如何设置和使用 DNSSD 服务注册协议更新代理][12]
DNSSD 命令行工具 (dns-sd) 提供了一种执行 mDNSResponder 提供的服务的方法。服务可以被广告、浏览和解决。该工具提供了多种不同的命令行选项,是探索 DNS-SD 功能的好方法。
[点击此处了解DNSSD命令行工具][13]
当与 mDNS Responder 守护程序一起使用时,DNSSD 客户端库提供功能齐全的 DNS 存根名称解析服务、DNSSD 广告服务以及 DNSSD 浏览和解析服务。该库是异步的,可以轻松集成到现有的异步服务器流中。
[点击此处了解 DNSSD 客户端库][14]
[点击此处了解mDNSResponder如何处理时间][15] [1]: Documents/mDNSResponder.md [2]: Documents/openthread-border-router.md [3]: https://www.rfc-editor .org/rfc/rfc8766.html“RFC8766”[4]: https://www.rfc-editor.org/rfc/rfc8765.html [5]: Documents/discovery-proxy.md [6]: https://datatracker.ietf.org/doc/draft-ietf-dnssd- srp/ [7]: Documents/advertising-proxy.md [8]: https://datatracker.ietf.org/doc/draft-ietf-dnssd-srp/ [9]:Documents/srp-client.md [10]:https://datatracker.ietf.org/doc/draft-ietf -dnssd-srp/ [11]:https://tools.ietf.org/html/rfc2136 [12]:文档/srp-update-proxy.md [13]:文档/dns-sd.md [14]:文档/dnssd-client-library.md [15]:文档/relative-time-in-mDNSResponder.md