真实面经题目 · 原创解析
DNS 解析过程是什么?
DNS 解析是把域名转换为 IP 地址的过程。通常会先查浏览器、系统、hosts 和本地递归解析器缓存;未命中时,递归解析器依次查询根域、顶级域和权威域名服务器,拿到 A 或 AAAA 等记录后按 TTL 缓存并返回。
真实面经题目 · 原创解析
DNS 解析是把域名转换为 IP 地址的过程。通常会先查浏览器、系统、hosts 和本地递归解析器缓存;未命中时,递归解析器依次查询根域、顶级域和权威域名服务器,拿到 A 或 AAAA 等记录后按 TTL 缓存并返回。
可以按一次用户访问域名的链路回答。浏览器先查自身缓存,再查操作系统缓存和 hosts;如果没有命中,就把查询交给配置的本地 DNS 或公共 DNS 递归解析器。递归解析器如果也没有缓存,会先问根域名服务器,根返回对应顶级域服务器地址;再问顶级域服务器,得到权威域名服务器地址;最后问权威服务器,获得目标域名的 A、AAAA 或 CNAME 结果。若有 CNAME,需要继续解析别名直到得到可连接地址。解析结果会根据 TTL 缓存在递归解析器、系统或应用中。拿到 IP 后,客户端才会继续建立 TCP 或 QUIC 连接。测试时要关注缓存失效、TTL、IPv4/IPv6、CNAME 链、CDN 调度、失败降级、污染劫持和不同网络运营商差异。
DNS 查询不会每次都从根服务器开始。浏览器可能有 DNS 缓存,操作系统也可能缓存结果,hosts 文件还能直接覆盖域名映射。缓存能降低延迟和权威服务器压力,但也会带来变更不立即生效、灰度不一致和故障恢复滞后的问题。
本地未命中后,客户端通常把请求交给运营商 DNS、企业 DNS 或公共 DNS。这个解析器对客户端提供递归服务,也就是替客户端完成后续多级查询。递归解析器自身会缓存结果,并可能参与访问控制、内容过滤或 CDN 地域调度。
递归解析器不知道答案时,会先查询根域名服务器。根服务器不直接返回业务域名 IP,而是告诉它应该去哪个顶级域服务器,例如 .com、.cn 或其他后缀。顶级域服务器再返回该域名所属的权威域名服务器地址。
权威域名服务器保存域名的真实解析配置,会返回 A、AAAA、CNAME、MX、TXT 等记录。访问网站通常关注 A 和 AAAA;如果返回 CNAME,解析器还要继续解析别名。CDN 场景下,权威服务器可能根据来源、线路和健康状态返回不同地址。
解析结果带有 TTL,表示缓存可使用的时间。客户端拿到 IP 后,才会进入 TCP 三次握手、TLS 握手或 QUIC 建连。DNS 只解决名字到地址的发现问题,不保证后续端口可达、证书正确或应用服务健康。
递归查询是客户端把问题交给解析器并等待最终答案。迭代查询是解析器逐级询问其他服务器,对方可能只返回下一跳服务器地址。实际链路中两者通常同时存在于不同角色之间。
TTL 过长会让变更和故障切换生效慢,过短会增加解析流量和延迟,并提高权威服务器压力。生产配置要在稳定性、切换速度和解析成本之间平衡。
不说明。DNS 只返回地址。后续还可能因为端口不可达、TCP 或 QUIC 建连失败、TLS 证书不匹配、HTTP 路由错误、服务过载或防火墙策略导致访问失败。
需要验证别名链是否正确、是否存在循环、TTL 是否合理、最终 A 或 AAAA 是否可达,以及 CDN 或第三方服务切换时是否影响证书、回源和缓存策略。