资源记录 RR 与 RRset
一条 DNS 记录由 Owner Name/TTL/Class/Type/Data 组成;相同名称、类型和 Class 的一组记录构成一个 RRset,是 DNSSEC 签名与缓存的基本单位。
#type / concept
#status / growing
#tech / network
#protocol / dns
[!info] related notes
资源记录 RR 与 RRset
一句话定义
资源记录(Resource Record, RR) 是 DNS 数据的最小单元,由 Owner Name + TTL + Class + Type + Data 组成;RRset 是「相同 Owner Name、相同 Type、相同 Class」的一组记录,是缓存与 DNSSEC 签名的基本单位。
核心机制 / 工作原理
一条记录:
www.example.com. 300 IN A 203.0.x.x
| 字段 | 含义 |
|---|---|
| Owner Name | 记录属于哪个名称 |
| TTL | 可被缓存多久 |
| IN | Internet 类(绝大多数记录都是 IN) |
| A | 记录类型 |
| Data | 具体数据(这里是 IPv4 地址) |
RRset
同一个名称、类型的一组记录算一个 RRset:
example.com. 300 IN A 203.0.x.x
example.com. 300 IN A 203.0.x.x
这两条 example.com 的 A 记录组成一个 A RRset。DNSSEC 是对「整个 RRset」做签名,而不是对单条记录(见 dnssec)。
最小例子 / 最小场景
查询 example.com A 时,权威返回的是「A RRset」——可能包含 1 条或多条 A。客户端/负载均衡从中选一个 IP。
边界与易混淆点
- RRset 是签名与缓存的单位:TTL、负缓存、DNSSEC 验证都按 RRset 粒度,而不是单条。
- 不同 Type 即使同名也算不同 RRset:
example.com A与example.com MX是两个 RRset。 - CNAME 与同名的其他记录(除 DNSSEC 相关)通常互斥:一个名称一旦是 CNAME,就不应再有其他类型记录(见 dns-cname)。
- Class 几乎总是
IN;CH( Chaos )等罕见类别一般只在特殊场景出现。