跳到正文

DNS 分层解析与缓存

50 分钟

DNS 分层解析与缓存

本课目标

能沿应用进程、名字解析、传输连接和请求响应画完整协议链;能计算缓存TTL、连接数、RTT与对象时延,并识别每条连接的发起方和状态。

核心机制

DNS把域名映射到资源记录,命名空间按根、顶级域、权威区域分层。递归查询要求被询问者完成后续查询,迭代查询返回下一步转介。常见记录A/AAAA、NS、CNAME、MX;缓存按TTL过期,负缓存也可有时限。DNS通常用UDP,截断或区域传送等情况可用TCP。

报文与时序推演

解析www.example.com可依次询问根、.com、example.com权威服务器;本地递归服务器缓存权威回答后,TTL内后续客户端可直接命中。CNAME别名还需继续解析目标名。

统一表格记录“时刻、客户端/服务器、协议、连接、源/目的端口、请求、响应、缓存状态”。DNS先解决名字到地址/服务,传输层建立通信,应用协议再交换报文;不同阶段不可用一个‘网络请求’笼统代替。

可运行模型

cache={'www.example.com':{'addr':'192.0.2.8','ttl':300,'age':120}};r=cache['www.example.com'];print('hit',r['age']<r['ttl'],r['ttl']-r['age'])

先手算再运行。修改TTL、对象数、连接复用方式、FTP模式或邮件域,重新画报文和时延。

边界与错因

递归与迭代描述查询责任,不等同UDP/TCP;DNS缓存命中也受TTL约束。FTP控制/数据连接分离,主动/被动模式的数据连接发起方不同。SMTP负责提交与传输,POP3/IMAP负责读取。HTTP无状态指协议请求独立,不妨碍Cookie建立应用状态。

迁移练习

将DNS缓存设为过期、FTP放在NAT后、MX查询失败、HTTP对象改为并行/持久/多路复用,重新计算连接、RTT和错误传播。必须指出哪个阶段变化,而不是只改总时间。

课内验收

完成下方两道在线题,并提交协议时序或RTT表。计算题说明忽略/计入哪些时间;选择题指出错误项混淆的协议职责。

Practice

本课练习

2

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

1TTL剩余 3

TTL300秒、已过120秒,剩余?

登录 后答题可以领积分
2DNS记录 3

包括?

多选题:必须选全正确项,漏选或多选均不得分。

登录 后答题可以领积分