返回 ELI5 知识库首页 🌐 DNS & ABSOLUTE DOMAIN PATH
🌐 FQDN · Fully Qualified Domain Name · Absolute DNS Hierarchy

什么是 FQDN(完全合格域名 · 绝对坐标)?

在公司局域网喊一声“张伟(普通主机名 server1)”,大家可能知道是谁,但寄国际快递时必须写上“中国·浙江省·杭州市·西湖区·XX路XX号·张伟”;而 FQDN 就是互联网世界的“全球唯一绝对快递地址” —— 从主机名一路追溯到最顶层根域(Root .),绝无歧义!

📍 相对主机名 (PQDN):只在本地懂

同名同姓,跨网必定迷路

比如只输入 mysqlmail。只有在特定局域网或同一个 K8s 命名空间(Namespace)里才能找到;一旦拿到公网或跨环境调用,DNS 根本不知道是哪里的服务器!

主机名: mysql 相对名称 (PQDN) 公网 DNS 解析 ❌ NXDOMAIN 迷路 ⚠️ 相对域名离开本地 search domain 立即失效
  • 依赖搜索后缀:严重依赖 /etc/resolv.conf 里的 search 配置
  • 无法跨网通信:不同子网或公网客户端无法直接寻址
VS
🌐 FQDN:全球唯一的全限定绝对域名

带齐省市门牌,全宇宙精准直达

例如 db.prod.us-east.example.com.。精确包含“主机名 + 二级域 + 顶级域 (TLD) + 根域(.)”,全球任何一台联网电脑或 K8s 节点都能 100% 精准无误找到它!

🌐 完整域名路径结构 (从根到叶) www . google . com . [Host] [2nd-Level] [TLD] [Root] ✨ 全球 DNS 树状倒挂权威解析 · 绝对零歧义!
  • 全球唯一性:在整个地球互联网上有且仅有一台对应服务器
  • K8s 跨空间通信底座:svc.namespace.svc.cluster.local
💡

一句话顿悟:末尾隐藏的小圆点 . 到底是什么?

所有标准 FQDN 的末尾其实都有一个经常被浏览器省略的“根域小圆点”(如 google.com.)!
这个点代表全球仅有 13 组的“互联网 DNS 根服务器(Root Zone)”。带着这个点,DNS 就知道“不需要再给它追加本地搜索后缀了,直接从宇宙最顶层根服务器开始递归查询”!

拆解 FQDN 的 4 大核心层级与典型应用

从 DNS 倒挂树状结构到云原生微服务,读懂域名寻址机制

🌳

1. 根域 (Root Domain: .)

整个 DNS 宇宙的最顶端。由 ICANN 统一管理的 13 组根服务器(A~M),指引所有顶级域名的去向。

🏛️

2. 顶级域名 (TLD: .com / .cn)

国家代码(.cn, .us)或通用顶级域(.com, .org, .ai)。记录着各大二级域名权威 DNS 服务器的地址。

🏢

3. 权威域名与子域 (SLD)

企业购买的唯一品牌域(如 google.com)及其划分的业务子域(如 api.aws.amazon.com)。

☸️

4. K8s 集群服务 FQDN

微服务跨命名空间调用标准格式:order-service.default.svc.cluster.local,精准跨 Pod 直连!

🕹️ FQDN 绝对域名拆解与 DNS 寻址演练台

观察不同场景下的 FQDN 如何被逐层解构并定位到物理 IP:

FQDN 结构逐级解构 (从主机到顶级根域):
www . google . com . [Root .]
🌐 公网标准 FQDN 解析分析
主机名 (Hostname): www
二级域 (SLD): google
顶级域 (TLD): com
根域 (Root): 尾部隐式 . 符号
✔ 绝对路径寻址 · 零 DNS 搜索后缀歧义
⚡ 性能优化黑技巧

末尾加个点,省去 4 次无用 DNS 查询

在 Linux 服务器里执行 curl google.com 时,系统会默认先尝试匹配 /etc/resolv.conf 里的搜索后缀(如 google.com.corp.local)。

如果直接写 google.com.(末尾带点),DNS 会直接直连根域查询,查询耗时直降 75%

☸️ K8s 内部寻址法宝

CoreDNS 的魔法格式

在 Kubernetes 中,Pod 默认可以通过短名字 redis 访问同 Namespace 下的数据库。

但跨 Namespace 时,必须使用完整的 FQDNredis.database-ns.svc.cluster.local,构成了云原生微服务网格的寻址骨架。

📜 SSL 证书绑定法则

HTTPS 证书对 FQDN 的严格校验

CA 机构颁发 SSL 证书时,是严格绑定到具体的 FQDN(如 api.example.com)或泛域名(*.example.com)上的。

这也是为什么 SNI 扩展中必须传递完整 FQDN,服务器才能准确匹配并掏出对应的合法公钥证书!