跳到主要内容

DNS 查询过程与脆弱性

递归查询与迭代查询如何配合?​

  • 递归查询: 客户端向本地 DNS 服务器请求, 由本地服务器负责给出最终答案;
    • 本地服务器有缓存则直接返回 IP;
    • 无缓存则转入迭代查询;
  • 迭代查询: 本地 DNS 服务器依次向根、TLD、权威服务器逐个询问;
    • 根 DNS 返回 TLD DNS 的 IP 地址;
    • TLD DNS 返回权威 DNS 的 IP 地址;
    • 权威 DNS 返回主机名对应的 IP 地址;

一次完整的域名解析经历哪些步骤?​

  1. 客户端运行 DNS 客户端, 浏览器从 URL 中提取主机名并交给它;
  2. DNS 客户端向 DNS 服务器发送包含主机名的请求;
  3. 本地 DNS 服务器通过递归 + 迭代查询获得 IP 地址;
  4. DNS 客户端收到包含 IP 地址的回复报文;
  5. 浏览器按该 IP 地址与 80/443 端口的进程建立 TCP 连接;

本地 DNS 服务器

DNS 为什么容易遭受 DDoS 攻击?​

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