权威记录起始(英語:start of authority record,简称 SOA)是域名系统(DNS)的一种包含有关区域的管理信息(特别是关于区域传输的)的记录。SOA记录的格式在 RFC 1035[1] 中被定义。
背景
通常名称服务器被设置在集群中。每个集群内的数据库通过区域传输同步。区域的SOA记录包含控制区域传输的数据——序列号和不同的时间跨度。
记录也包括了区域的负责人的电子邮件地址以及主要名称服务器的名称。通常SOA记录位于区域顶部,没有SOA记录的区域是不符合RFC 1035的要求的。
结构
- NAME
- 区域名字
- TYPE
- SOA,start of authority 的缩写
- CLASS
- 区域类型(几乎都是
IN
)
- TTL
- 存活时间
- MNAME
- 区域的主要名称服务器
- RNAME
- 区域负责人的电子邮件地址。(通常,地址被编码为一个名称。地址
@
前的部分成为名称的第一个部分,@
后的部分成为名称的剩余部分。在区域文件格式中,第一部分的点被反斜杠转义。例如,john.doe@example.com
会在区域文件中被表示为john\.doe.example.com
)
- SERIAL
- 区域的序列号。如果附属于此服务器的辅助名称服务器观察到此数字增加,则从服务器将假定该区域已更新并启动区域转移。
- REFRESH
- 辅助名称服务器应向主服务器查询SOA记录以检测区域更改的周期秒数。对于小而稳定的区域推荐7004864000000000000♠86400秒(7001240000000000000♠24小时)[4]。
- RETRY
- 如果主服务器没有响应,辅助服务器重新请求SOA记录的秒数,必须小于REFRESH。对于小而稳定的区域推荐7003720000000000000♠7200秒(7000200000000000000♠2小时)[4]。
- EXPIRE
- 如果主服务器没有响应,辅助服务器应该停止应答请求的秒数,必须大于REFRESH和RETRY的和。对于小而稳定的区域推荐7006360000000000000♠3600000秒(7003100000000000000♠1000小时)[4]。
- MINIMUM
- 用于计算消极响应缓存的存活时间。权威名称服务器采用TTL和MINIMUM中较小的一个作为消极响应中的TTL发送。解析器使用返回的TTL以得知应该将消极响应缓存多久。对于小而稳定的区域推荐7005172800000000000♠172800秒(7000200000000000000♠2天)[4]。最初,该字段的含义是该区域中资源记录的最小TTL值,RFC 2308中将其改为了现在的含义[5]。
$TTL 86400
@ IN SOA ns.icann.org. noc.dns.icann.org. (
2020080302 ; 序列号
7200 ; 刷新时间
3600 ; 重试时间
1209600 ; 过期时间
3600 ; 消极响应缓存 TTL
)
序列号更改
已经建立了几种方法来更新区域的SERIAL字段:
- 从1开始,每次递增
- 最后更改的日期(ISO 8601基本格式),并附带两位数的计数器(例如,7009201703140500000♠2017031405是14 March 2017的第五次更改)。这种方法被RFC 1912所推荐。[6]
- 区域数据文件的最后一次修改时间,表示为UNIX时间戳。这种方法是djbdns套件[7]的默认方法。尽管其使用32位计数器,由于序列号算法的影响,它不易受到2038年问题的影响。
參考資料