深入浅出DNS系列(五)-查询过程详解
来源:互联网 发布:趣味性软件使用教程 编辑:程序博客网 时间:2024/05/01 08:23
申明:文档中使用的james.cn、kobe.cn域名,只在内部测试环境中使用,如有侵权,请联系,将在第一时间更改
参考文档:《DNS与BIND》、《RFC1034》、《RFC1035》
本实例的操作系统为centos 5.5 64bit
安装的前置条件不在这里叙述
文档中的客户端与服务端是linux系统
可以看出,查询过程与结构图一致
在实践中,基本上采用结构图中的结构,在操作系统中的解析器作为存根解析器存在,其向localdns发起递归查询,不会发起非递归查询,也不会根据NS、CNAME等指引信息发起进一步查询(至少到目前为止,我没有发现操作系统可以配置发起非递归查询,nslookup、dig等诊断工具可以,但其不属于操作系统解析器的一部分)
实践中的这种最佳结构,其优点是降低了操作系统的解析器的复杂度,充分使用localdns的缓存功能,其缺点是localdns代表客户机,对于授权服务器来讲不知道真实客户机的IP地址,只知道localdns的IP地址;这也导致在大型互联网应用、CDN网络中,在使用DNS进行全局调度时会发生定位不准确的情况。
操作系统的存根解析器不是完整的解析器,所以你不要期待通过响应NS、CNAME记录,指引其发起进一步的查询,此细节常常被忽略,在这里着重提示。
其查询过程与“结构图”一致。
(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
(1) 使用dig @192.168.198.138 james.cn. ns保证localdns有james.cn的ns记录缓存
(2) dig @192.168.198.138 apache.james.cn. a
mail.apache.james.cn. IN CNAME redis.kobe.cn.
ftp.apache.james.cn. IN CNAME redis.kobe.cn.
为了直观反应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
为了直观反应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
参考文档:《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.1945.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 抓包截图
0 0
- 深入浅出DNS系列(五)-查询过程详解
- 一起学DNS系列(八)DNS 客户端查询过程
- 一起学DNS系列(十)图、例详解DNS递归和迭代查询原理及过程 (2)
- 一起学DNS系列(十)图、例详解DNS递归和迭代查询原理及过程 (1)
- 一起学DNS系列(十)图、例详解DNS递归和迭代查询原理及过程 (1)
- 一起学DNS系列(十)图、例详解DNS递归和迭代查询原理及过程 (2)
- 深入浅出DNS系列(一)- DNS杂谈
- 深入浅出DNS系列(二)- DNS
- DNS解析过程原理【深入浅出详解】
- DNS解析过程原理【深入浅出详解】
- Druid.io系列(五):查询过程
- 深入浅出DNS系列(七)- BIND
- 深入浅出DNS系列(八)- subnet
- 深入浅出DNS系列(九)- EDNS
- 深入浅出DNS系列(十)- DNSSEC
- 深入浅出DNS系列(三)- DNS相关协议
- 深入浅出DNS系列(六)- DNS解析器
- 深入浅出DNS系列(四)-内部根服务器架设实例与详解
- WEB-AJAX和JQuery篇
- AWS RDS设置参数组:修改character_set_server为UTF8
- 用Java实现给图片添加文字水印
- 各种排序算法的JAVA实现
- 2
- 深入浅出DNS系列(五)-查询过程详解
- 基于Vue2的移动端开发环境搭建详解
- 实现两个线程A,B,A打印5个奇数,B打印5个偶数,交替进行,如此循环50次
- 用Struts2写了一个小Demo,含简单的CRUB功能
- POI生成excel数据量大时内存溢出解决
- 4650: [Noi2016]优秀的拆分
- h5 canvas 绘制的写轮眼特效
- 安卓学习 权限Permission
- 深度学习方法(十一):卷积神经网络结构变化——Google Inception V1-V4,Xception(depthwise convolution)