域名系统(Domain Name System,DNS)是互联网的核心基础设施之一,将人类友好的域名转换为机器可用的IP地址。它是一个分布式、层次化的数据库系统,处理全球每日数万亿次查询。DNS由RFC 1034和1035(1987年)奠基,后续通过众多RFC演进(如DNSSEC、加密DNS)。截至2025年12月29日,DNS根服务器系统包括13个逻辑根(A-M),通过Anycast技术扩展至约1960个物理实例,确保高可用性和抗DDoS能力。
DNS不仅是寻址基础,还支持负载均衡、邮件路由、安全验证等功能。随着隐私威胁增加,加密DNS(如DoH、DoT、DoQ)正加速普及。
本篇文章将带你深入 DNS 的底层架构,解析其解析逻辑、资源记录以及现代网络安全对其的重塑。
DNS 并不是一台单一的服务器,而是一个全球分布的层级系统。为了保证高可用性和管理方便,它被设计成一个倒置的树状结构。
.(虽然平时我们省略它)。全球共有 13 组逻辑根服务器,它们知道所有顶级域名服务器的位置。.com、.org、.cn 等后缀。根服务器仅返回TLD指向,不存储所有记录,确保分布式可扩展。
DNS查询分为递归查询(解析器代劳)和迭代查询(客户端逐级问)。
典型流程(查询www.ebool.com):
查询主要用UDP(端口53),大响应用TCP。EDNS0扩展支持更大包。
DNS 数据库中存储的不仅仅是 IP 地址,还有多种功能的“条目”,称为资源记录(RR),DNS记录存储在区文件(Zone File)中。
| 记录类型 | 全称 | 核心用途 |
|---|---|---|
| A | Address | 将主机名映射到 IPv4 地址。 |
| AAAA | Quad-A | 将主机名映射到 IPv6 地址。 |
| CNAME | Canonical Name | 别名记录。将一个域名指向另一个域名(常用于 CDN 加速)。 |
| MX | Mail Exchanger | 邮件交换记录。定义负责处理邮件的服务器地址及优先级。 |
| TXT | Text | 文本记录。常用于 SPF 校验(防邮件伪造)或所有权验证。 |
| NS | Name Server | 委托记录。指定由哪台服务器负责该区域的解析。 |
为了减轻全球服务器的负担,DNS 严重依赖缓存。
原始的 DNS 协议是明文传输且缺乏验证的,这导致了DNS 劫持和缓存投毒。
通过数字签名确保返回的查询结果确实来自真实的权威服务器。它解决了“真假”问题,但不解决“隐私”问题。
为了防止运营商或黑客偷窥你访问了哪些网站,现代浏览器和系统开始支持加密 DNS。
为什么 8.8.8.8 全球都能用且都很快?这得益于 Anycast (任播) 技术。同一个 IP 地址可以由分布在全球不同地理位置的服务器共同持有,网络会自动寻找距离你最近的那一台。
此外,当你在上海访问一个美国的域名,解析器可能会根据你的地理位置返回一个位于上海的 CDN 节点 IP,这就是基于 DNS 的流量调度技术。
DNS 是互联网的灵魂。它通过巧妙的层级化管理解决了数以亿计的域名寻址问题,又通过缓存机制对抗了海量的并发查询。随着 DoH 等技术的普及,DNS 正在从一个“简陋的查号台”向“加密、可靠的安全基石”演变。