深入浅出DNS系列(五)-查询过程详解

    xiaoxiao2021-03-25  73

    申明:文档中使用的james.cn、kobe.cn域名,只在内部测试环境中使用,如有侵权,请联系,将在第一时间更改 参考文档:《DNS与BIND》、《RFC1034》、《RFC1035》 本实例的操作系统为centos 5.5 64bit 安装的前置条件不在这里叙述 文档中的客户端与服务端是linux系统

    1 实践中最佳DNS结构

    1.1 结构图

    1.2 抓包分析

    可以看出,查询过程与结构图一致

    1.2.1 抓包分析图中根域服务器与 cn域服务器的响应结果图示

    1.3 补充说明

    DNS体系是C/S架构的系统,权威DNS服务器为Server角色,解析器为Client角色,localdns为代理角色 在实践中,基本上采用结构图中的结构,在操作系统中的解析器作为存根解析器存在,其向localdns发起递归查询,不会发起非递归查询,也不会根据NS、CNAME等指引信息发起进一步查询(至少到目前为止,我没有发现操作系统可以配置发起非递归查询,nslookup、dig等诊断工具可以,但其不属于操作系统解析器的一部分) 实践中的这种最佳结构,其优点是降低了操作系统的解析器的复杂度,充分使用localdns的缓存功能,其缺点是localdns代表客户机,对于授权服务器来讲不知道真实客户机的IP地址,只知道localdns的IP地址;这也导致在大型互联网应用、CDN网络中,在使用DNS进行全局调度时会发生定位不准确的情况。 操作系统的存根解析器不是完整的解析器,所以你不要期待通过响应NS、CNAME记录,指引其发起进一步的查询,此细节常常被忽略,在这里着重提示。

    2 没有缓存的A记录查询过程

    如“结构图”所示,localdns没有apche1.james.cn的A记录的缓存,也没有相关指引性记录缓存(NS记录/CNAME记录) 其查询过程与“结构图”一致。

    3 有缓存的A记录查询过程

    试验步骤: (1) 使用dig @192.168.198.138 apache1.james.cn. a保证localdns有apache1.james.cn的A记录缓存 (2) dig @192.168.198.138 apache1.james.cn. a

    3.1 查询过程

    3.2 抓包截图

    4 没有A记录缓存,有对应域NS记录缓存的A记录查询过程

    试验步骤: (1) 使用dig @192.168.198.138 james.cn. ns保证localdns有james.cn的ns记录缓存 (2) dig @192.168.198.138 apache.james.cn. a

    4.1 查询过程

    5 查询A记录,对应域名是CNAME的查询过程

    5.1 james.cn域中的CNAME记录

    www.apache.james.cn. IN CNAME redis.kobe.cn. mail.apache.james.cn. IN CNAME redis.kobe.cn. ftp.apache.james.cn. IN CNAME redis.kobe.cn.

    5.2 kobe.cn域中的记录

    redis.kobe.cn. IN A 192.168.198.194

    5.3 试验步骤

    查询dig @192.168.198.138 ftp.apache.james.cn . a 为了直观反应CNAME的查询过程,先在localdns中缓存james.cn和kobe.cn域的ns记录,步骤如下: (1) dig @192.168.198.138 james.cn. ns (2) dig @192.168.198.138 kobe.cn. ns (3) dig @192.168.198.138 ftp.apache.james.cn . a

    5.4 查询过程

    5.5 抓包截图

    6 查询A记录,对应域名是CNAME,且CNAME记录有缓存的查询过程

    6.1 试验步骤

    查询dig @192.168.198.138 ftp.apache.james.cn . a 为了直观反应CNAME的查询过程,先在localdns中缓存james.cn和kobe.cn域的ns记录,步骤如下: (1) dig @192.168.198.138 james.cn. ns (2) dig @192.168.198.138 kobe.cn. ns (3) dig @192.168.198.138 ftp.apache.james.cn. cname (4) dig @192.168.198.138 ftp.apache.james.cn. A

    6.2 查询过程

    6.3 抓包截图

    转载请注明原文地址: https://ju.6miu.com/read-37675.html

    最新回复(0)