提供主机名到 IP 地址的转换
- 端口 53
- 默认使用 UDP,可以显式指定 TCP
分层 DNS 服务器
能够防止单点故障,提升通信容量,提升可维护性
DNS 查找通常会经过下面四步:
- 询问 Resolver
- 询问根服务器
- 询问顶级域名服务器
- 询问次级域名服务器
以用户访问 www.example.com
为例:
- 客户端向递归服务器发起请求:
“
www.example.com
的 IP 是什么?” - 递归服务器查询根服务器:
根服务器返回
.com
的 TLD 服务器地址。 - 递归服务器查询 TLD 服务器:
TLD 服务器返回
example.com
的权威服务器地址。 - 递归服务器查询权威服务器:
权威服务器返回
www.example.com
的 IP 地址。 - 递归服务器缓存结果,并将 IP 返回客户端。
解析记录
- A
- 将域名直接转换为 ipv4
- AAAA
- 将域名转换为 ipv6
- CNAME
- 将别名转换为其他别名
- MX (Mail Exchange Record)
- 指定接收该域名邮件的 邮件服务器地址
plaintext example.com MX 10 mail.example.com
- NS (Name Server)
- 指定管理该域名的 权威 DNS 服务器
- TXT
- 存储文本信息
- 常用于验证域名所有权、配置 SPF/DKIM/DMARC(反垃圾邮件)
- PTR (Pointer Record)
- 反向解析,将 IP 地址映射回域名(用于邮箱服务器验证)
报文格式
DNS-over-HTTPS(DoH)
- 协议:通过 HTTPS 封装 DNS 查询,使用 TCP 443 端口(与 HTTPS 网站共用端口)。
- 特点:
- 流量伪装成普通 HTTPS 流量,绕过防火墙或 ISP 的 DNS 审查。
- 依赖 HTTP/2 或 HTTP/3 协议,支持多路复用和高效传输。
- 示例:
请求:GET /dns-query?dns=... HTTP/2
主机:dns.google
DNS-over-TLS(DoT)
- 协议:通过 TLS 加密的 TCP 连接,使用 TCP 853 端口。
- 特点:
- 专用端口易被识别和封锁(如某些国家/网络限制)。
- 加密性等同于 DoH,但流量特征更明显。