域名树与 FQDN
DNS 名字空间是一棵从右往左逐级扩大的树,最高层是根域 ".",带尾点的完整名称叫 FQDN;每个 label 最长 63 字节、整名线格式最长 255 字节。
#type / concept
#status / growing
#tech / network
#protocol / dns
[!info] related notes
- 所属 MOC: DNS 知识地图
- 多角色模型: DNS 不只是电话簿
- 委派边界: Domain 与 Zone 的区别
- 记录承载: 资源记录 RR 与 RRset
域名树与 FQDN
一句话定义
DNS 名字空间是一棵树:最顶层是根域 .,每个域名由若干 label(标签)从右往左逐级拼成;理论完整的名称以一个尾点结尾,称为 FQDN(Fully Qualified Domain Name,完全限定域名)。
核心机制 / 工作原理
根域
DNS 的最高层是根:
.
日常写的 www.example.com 其实是 www.example.com. 省略了最后的尾点。层级不是从左往右,而是从右往左逐级扩大:
www → example → com → 根(.)
Label、域名与 FQDN
以 docs.anyrouter.top. 为例:
| 标签 | 含义 |
|---|---|
docs | 主机名或子域标签 |
anyrouter | 注册域主体 |
top | 顶级域 |
| 空标签 | 根域 |
带有最终根点的完整名称即 FQDN:docs.anyrouter.top.
长度限制
在 DNS 线格式(wire format)中:
- 每个 label 最长 63 字节
- 整个域名线格式最长 255 字节
这解释了为什么不能把任意长字符串塞进一个 label,以及为什么某些过长的 CNAME 链会有实际限制。
最小例子 / 最小场景
mail.api.shop.example.com.
└─ mail (主机/服务标签)
└─ api (子域)
└─ shop (子域)
└─ example (注册域)
└─ com (顶级域)
└─ . (根)
边界与易混淆点
- 日常使用省略尾点
.,但协议层 FQDN 包含它;相对名称(不带尾点)需结合搜索域(search domain)补全,容易在内部网络造成歧义。 - 层级方向:人习惯从左往右读,但 DNS 委派从右往左——先
.知道.top在哪,再知道anyrouter.top的权威。 - label 长度限制是字节而非字符;国际化域名(IDN,如中文域名)经 Punycode 编码后更易触顶。
- 名字空间是「树」,但管理权可以切割(见 domain-vs-zone),同一棵树上可能存在多个管理 Zone。