DNS 查询过程与脆弱性
递归查询与迭代查询如何配合?
- 递归查询: 客户端向本地 DNS 服务器请求, 由本地服务器负责给出最终答案;
- 本地服务器有缓存则直接返回 IP;
- 无缓存则转入迭代查询;
- 迭代查询: 本地 DNS 服务器依次向根、TLD、权威服务器逐个询问;
- 根 DNS 返回 TLD DNS 的 IP 地址;
- TLD DNS 返回权威 DNS 的 IP 地址;
- 权威 DNS 返回主机名对应的 IP 地址;
一次完整的域名解析经历哪些步骤?
- 客户端运行 DNS 客户端, 浏览器从 URL 中提取主机名并交给它;
- DNS 客户端向 DNS 服务器发送包含主机名的请求;
- 本地 DNS 服务器通过递归 + 迭代查询获得 IP 地址;
- DNS 客户端收到包含 IP 地址的回复报文;
- 浏览器按该 IP 地址与 80/443 端口的进程建立 TCP 连接;

DNS 为什么容易遭受 DDoS 攻击?
- 攻击方式: 向每个 DNS 根服务器发送大量分组;
- 后果: 大多数合法请求得不到回答;
- 缓解: 本地 DNS 缓存与层次结构天然分散了查询压力;