Skip to content

DNS 与 CDN

DNS 考察"域名怎么变成 IP",CDN 考察"内容怎么就近分发",两者合起来就是用户访问链路的起点。

Q1: DNS 解析的完整流程? 「🟢 校招/初级」

考察点:递归查询与迭代查询的区别。

参考答案

  1. 浏览器缓存 → 操作系统缓存 → hosts 文件。
  2. 本地 DNS 服务器(LDNS,通常由运营商提供)。
  3. LDNS 缓存未命中则发起迭代查询:根域名服务器 → 顶级域服务器(.com)→ 权威域名服务器,逐级拿到 IP。
  4. 结果逐级缓存返回给客户端(受 TTL 控制)。
  • 对客户端是递归(只问一次拿结果),LDNS 对上级是迭代(自己一步步问)。

追问延伸

  • DNS 用 TCP 还是 UDP?(默认 UDP,响应超过 512 字节或区域传输用 TCP)
  • 什么是 DNS 劫持?怎么防?(DoH、DoT)

Q2: 常见的 DNS 记录类型有哪些? 「🟢 校招/初级」

考察点:运维与网络的基础认知。

参考答案

  • A:域名 → IPv4 地址;AAAA:域名 → IPv6。
  • CNAME:域名 → 另一个域名(别名,常用于 CDN 接入)。
  • MX:邮件服务器记录;NS:指定权威域名服务器。
  • TXT:文本记录,常用于域名所有权验证(如 SPF、DKIM)。

追问延伸

  • 为什么 CDN 一般用 CNAME 而不是 A 记录?
  • CNAME 能不能和 MX 记录共存?有什么坑?

Q3: 什么是 CDN?工作原理是什么? 「🟡 中级」

考察点:内容分发的基本架构。

参考答案

  • CDN 是把内容缓存到全球边缘节点,用户就近访问以降低延迟、减轻源站压力。
  • 原理:域名解析到 CDN 服务商的 DNS,智能 DNS 根据用户地理位置/运营商返回最优边缘节点;未命中缓存时边缘节点回源拉取并缓存。
  • 适合静态资源(图片、JS/CSS、视频);动态内容可用动态加速(专线优化路由)。

追问延伸

  • 缓存更新策略:刷新(主动失效)和预热?
  • 多个用户访问同一资源,边缘节点之间怎么保证一致?

Q4: 负载均衡了解吗? 「🟡 中级」

考察点:流量入口的架构认知。

参考答案

  • 四层负载均衡:基于 IP + 端口转发(LVS、F5),性能高,不理解应用层协议。
  • 七层负载均衡:基于 URL、Header 等做路由(Nginx、HAProxy),灵活但开销大。
  • 常见算法:轮询、加权轮询、最少连接、IP 哈希(会话保持)、一致性哈希。
  • 实际链路:DNS 轮询 → 四层 → 七层 → 服务实例。

追问延伸

  • 一致性哈希解决什么问题?虚拟节点呢?
  • Nginx 的 ip_hash 在客户端经过代理时有什么问题?

Q5: 什么是 DoS/DDoS 攻击?怎么防御? 「🟡 中级」

考察点:安全基础认知。

参考答案

  • DoS:通过海量请求耗尽目标资源(带宽、连接数、CPU),使其无法服务;DDoS 用僵尸网络从多源发起。
  • 常见类型:SYN flood(利用三次握手)、UDP flood、CC 攻击(打应用层接口)、慢速攻击。
  • 防御:流量清洗(高防)、限流、验证码、SYN Cookie、CDN 吸收流量、隐藏源站。

追问延伸

  • CC 攻击和 SYN flood 防御思路有什么不同?
  • 怎么区分正常流量高峰和攻击?