7. 虚构示例 (Fictional Example)
免责声明: 此示例使用虚构服务 "foobar" 来帮助理解 SRV 记录。如果服务 "foobar" 被实现, 并不意味着它必然会使用 SRV 记录。
这是 example.com 的区域文件 (部分), 这是一个仍未使用的域:
区域文件 (Zone File)
$ORIGIN example.com.
@ SOA server.example.com. root.example.com. (
1995032001 3600 3600 604800 86400 )
NS server.example.com.
NS ns1.ip-provider.net.
NS ns2.ip-provider.net.
; foobar - 如果 old-slow-box 或 new-fast-box 可用则使用它们,
; 使四分之三的登录转到 new-fast-box。
_foobar._tcp SRV 0 1 9 old-slow-box.example.com.
SRV 0 3 9 new-fast-box.example.com.
; 如果 old-slow-box 和 new-fast-box 都不可用, 切换到
; 使用系统管理员的机器和服务器
SRV 1 0 9 sysadmins-box.example.com.
SRV 1 0 9 server.example.com.
server A 172.30.79.10
old-slow-box A 172.30.79.11
sysadmins-box A 172.30.79.12
new-fast-box A 172.30.79.13
; 不支持其他服务
*._tcp SRV 0 0 0 .
*._udp SRV 0 0 0 .
客户端查询 (Client Query)
在此示例中, "example.com." 域中 "foobar" 服务的客户端需要:
- 对 "_foobar._tcp.example.com." 进行 SRV 查找
- 可能对 "new-fast-box.example.com." 和/或其他命名主机进行 A 查找
响应大小分析 (Response Size Analysis)
SRV 回复的大小约为 365 字节:
分解:
- 30 字节: 一般开销
- 20 字节: 查询字符串 "_foobar._tcp.example.com."
- 130 字节: 4 个 SRV RR (每个 20 字节加上 "new-fast-box"、"old-slow-box"、"server" 和 "sysadmins-box" 的长度 - 查询部分中的 "example.com" 在此引用, 不需要再次计算)
- 75 字节: 3 个 NS RR (每个 15 字节加上 "server"、"ns1.ip-provider.net." 和 "ns2" 的长度 - 同样, "ip-provider.net." 被引用, 只需计算一次)
- 120 字节: SRV 和 NS RR 提到的 6 个地址记录 (假设仅 IPv4)