常见 DNS / mDNS 资源记录类型(type)

77 阅读1分钟

✅ 常见 DNS / mDNS 资源记录类型(type)

类型 (type)名称含义在 mDNS 中的用途
1AIPv4 地址提供服务实例对应的 IPv4 地址
28AAAAIPv6 地址提供服务实例对应的 IPv6 地址
12PTR指针记录用于从服务类型查找服务实例名(如 _airplay._tcp.local -> MyTV._airplay._tcp.local
33SRV服务定位记录告诉你服务运行在哪个主机、哪个端口
16TXT文本记录提供服务的附加信息(例如支持的功能、版本等)
255ANY通配查询表示希望服务器返回该名称下的所有类型的记录(用于调试)
5CNAME规范名称域名别名,不常用于 mDNS
15MX邮件交换记录不用于 mDNS,但常见于标准 DNS
6SOA起始授权记录用于 DNS zone,不用于 mDNS
2NS域名服务器不常用于 mDNS
41OPT扩展选项用于 EDNS(扩展 DNS)

🔄 一次完整的 mDNS 查询交互中,各类型作用如下:

  1. PTR

    • 查询某服务类型有哪些实例(例如:_airplay._tcp.local
    • 响应中列出每个实例名(如 MyTV._airplay._tcp.local
  2. SRV

    • 通过实例名查询具体运行在哪台主机、哪个端口
    • 例如:MyTV._airplay._tcp.localhostname.local, port 7000
  3. TXT

    • 返回该服务实例的功能描述
    • 如:features=0x7, model=AppleTV3,2, deviceid=00:11:22:33:44:55
  4. A / AAAA

    • 查询 hostname.local 的 IP 地址(IPv4 或 IPv6)

📦 一个典型 AirPlay 服务发现中用到的记录类型

text
复制编辑
1. 查询 _airplay._tcp.localtype=PTR
2. 得到 MyTV._airplay._tcp.local
3. 查询 MyTV._airplay._tcp.localtype=SRV 和 type=TXT
4. 得到主机名 host=apple-tv.local, port=7000, features=xxx
5. 查询 apple-tv.localtype=A 或 AAAA