Skip to content

2016年 408 计算机网络 第 40 题

计算机网络2016年选择题2分

题目

假设所有域名服务器均采用迭代查询方式进行域名解析。当 H4 访问规范域名为 www.abc.xyz.com 的网站时,域名服务器 201.1.1.1 在完成该域名解析过程中,可能发出 DNS 查询的最少和最多次数分别是( )。

错因

A

最少 0 对(缓存命中)✓,但最多 3 错——漏算"根服务器"那一次。最多需要查 4 次:根 → .com → xyz.com → abc.xyz.com,每次返回下一级 NS 地址,最后一次才返回主机 A 记录。错的根源:算分级时少数一级,可能把"根"忘了。

B

最少 1 错——若 201.1.1.1 缓存了 www.abc.xyz.com 的 IP(如刚才有别人查过),0 次查询即可返回。本地 DNS 服务器有缓存机制,不必每次都向外查。错的根源:忽略了缓存场景,以为"必须至少查一次"。

D

同 B 一样,最少 1 错。最多 4 对 ✓,但配上错的最少仍是错答案。错的根源:忽略缓存命中可能性。

总解析

第一步:理清迭代查询过程

假设 201.1.1.1 没有任何相关缓存——它要解析 www.abc.xyz.com,按 DNS 域树自顶向下查询:

步骤201.1.1.1 → 谁返回
根域名服务器(".").com 顶级域名服务器地址
.com 服务器xyz.com 权威服务器地址
xyz.com 服务器abc.xyz.com 权威服务器地址
abc.xyz.com 服务器www.abc.xyz.com 的 A 记录(IP)

最多 4 次——四级域名 + 根。

第二步:考虑缓存命中

DNS 服务器有内存缓存(典型 TTL 数小时到数天)。最快情形:

  • 201.1.1.1 直接缓存了 www.abc.xyz.com → IP 映射 → 0 次外发查询,直接返回结果

中间情形:缓存了 xyz.com 服务器地址,需要再查 abc.xyz.com + www.abc.xyz.com,外发 2 次;缓存了 .com 服务器地址,外发 3 次。

最少 0 次——缓存命中。

第三步:核对

选项最少最多错处
A03最多漏 1 次(忘根)
B13最少错(漏缓存) + 最多漏根
C04正确
D14最少错(漏缓存)

最终答案是 C(0,4)

编者注(生僻术语):DNS 查询有两种模式——

  • 迭代查询(题面采用):本地 DNS 服务器主动逐级问根 → TLD → 权威,每步自己处理
  • 递归查询:本地 DNS 把"全权"交给某个上游,让上游"必须给出最终答案"

本题问的是"201.1.1.1 发出的查询次数"——这是从本地 DNS 服务器视角看的迭代查询。客户端 H4 给本地 DNS 通常发的是递归查询(H4 只发 1 次"请帮我解析"),但 H4 → 本地 DNS 那 1 次不计入题面问的"201.1.1.1 发出的查询次数"。

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数