DNS 域名解析
问题
DNS 的解析过程是什么?有哪些记录类型?
答案
DNS 解析流程
查询顺序:浏览器缓存 → OS 缓存 → hosts 文件 → 本地 DNS → 递归/迭代查询。
DNS 记录类型
| 类型 | 说明 | 示例 |
|---|---|---|
| A | 域名 → IPv4 | example.com → 1.2.3.4 |
| AAAA | 域名 → IPv6 | example.com → 2001:db8::1 |
| CNAME | 别名 | www.example.com → example.com |
| MX | 邮件服务器 | example.com → mail.example.com |
| NS | 域名服务器 | example.com → ns1.example.com |
| TXT | 文本记录 | SPF、域名验证 |
| SRV | 服务发现 | 指定服务的主机和端口 |
常见面试问题
Q1: 递归查询和迭代查询的区别?
答案:
- 递归查询:客户端 → 本地 DNS 服务器,只问一次,本地 DNS 负责全部查询过程
- 迭代查询:本地 DNS → 根 → 顶级 → 权威,每次只返回下一步的地址,本地 DNS 自己跑下一步
通常客户端到本地 DNS 是递归,本地 DNS 到上级服务器是迭代。
Q2: DNS 使用 TCP 还是 UDP?
答案:
- 默认使用 UDP(端口 53):查询快,数据量小(< 512 字节)
- 使用 TCP 的场景:响应数据超过 512 字节、区域传送(主从 DNS 同步)