加载中...
mDNS(多播 DNS)和 DNS-SD(DNS 服务发现)让局域网内的设备无需配置 DNS 服务器就能互相发现,是 Apple Bonjour、Chrome 投屏、打印机自动发现等功能的底层协议。

| 类型 | 应用层协议(局域网发现) |
| 发布年 | 2013(RFC 6762/6763) |
| 默认端口 | UDP 5353,组播 224.0.0.251 |
mDNS(RFC 6762)使用组播地址 224.0.0.251(IPv6 为 ff02::fb),端口 UDP 5353。设备想知道「谁是 myprinter.local?」时,直接把 DNS 查询发往组播,局域网里所有设备都能收到,拥有该名字的设备直接回应。.local 域名是 mDNS 专用的,不经过普通 DNS。
DNS-SD(RFC 6763)在 mDNS 之上实现服务发现:服务注册时发布 PTR 记录(「_http._tcp.local 有哪些服务」)、SRV 记录(服务的主机名和端口)、TXT 记录(额外属性)。客户端查询 PTR 就能发现局域网内所有 HTTP 服务,不需要预先知道 IP。[1]
Apple 在 2002 年随 Mac OS X 10.2 推出 Bonjour,率先大规模部署 mDNS/DNS-SD,让 Mac 用户能零配置发现网络打印机和文件共享。之后 Chromecast、Apple TV、HomeKit 设备发现、Spotify Connect、AirPrint 都建立在这套机制上。
Avahi 是 Linux 下的 Bonjour 兼容实现,很多嵌入式设备(树莓派、NAS)预装 Avahi 以支持网络发现。值得注意的是 mDNS 仅限同一二层网络,跨路由器不可用,这是它和常规 DNS 最大的区别。

| 类型 | 应用层协议(局域网发现) |
| 发布年 | 2013(RFC 6762/6763) |
| 默认端口 | UDP 5353,组播 224.0.0.251 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧