跳到主要内容

7. 虚构示例

7.1 示例说明

免责声明

本示例使用虚构服务 "foobar" 来帮助理解 SRV 记录。即使未来实现了 "foobar" 服务,也并不意味着它一定会使用 SRV 记录。

以下是尚未使用的域 example.com 的区域文件(节选):


7.2 区域文件

$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 .

7.3 客户端查询

在此示例中,"example.com." 域中 "foobar" 服务的客户端需要:

  • 对 "_foobar._tcp.example.com." 进行 SRV 查询
  • 可能还需要对 "new-fast-box.example.com." 和/或其他相关主机名进行 A 查询

7.4 响应大小分析

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)

导航