dns递归查询实验及分析

avatar 2017年3月19日13:35:21 评论 314 views

拓扑图如下

 

 

 

为了方便分析,我给用红色它们标一个号

如图所示,我们这里两台pc机(一台就够了,可以把最右那个去掉),两台web服务器(分别是百度和360的主机服务器),三台dns服务器(一台是百度的dns服务器,一台是360的百度服务器,一台是根dns服务器)

给所有机器配上ip【1-6号】

这一步毋庸置疑,ip就是机器的身份证号码,那个ip随便取,其中40是博主学号哈

 

给pc机【1号】配置本地dns

这一步很关键,否则主机就不知道本地域名服务器在哪里,不知道从哪里去找,博主这里给的ip为192.168.40.5的那台dns服务器,同时这台服务器也是百度的dns服务器,当然你也可以设置其他的

配置百度和360的权威域名服务器【4号,5号】

如图dns1是www.baidu.com的权威域名服务器,dns2是www.360.com的权威域名服务器

dns1配置如图(别忘了开启dns服务)

dns2配置如图(别忘了开启dns服务)

 

配置根域名服务器【6号】

配置如图(别忘了开启dns服务)

 

改一下百度和360的网站首页内容

w为了方便我们辨别,给百度和360的index.html修改一下

www.baidu.com的index.html内容如图

www.360.com的index.html内容如图

pc机分别访问发ping包效果图

在pc机的浏览器访问www.baidu.com的状态如图(动态图单击放大

在pc机的浏览器访问www.360.com的状态如图(动态图单击放大

分析总结

如果用户(pc机)想访问www.baidu.com,可以直接通过本地dns获知,这个没啥说的。

但是想访问www.360.com却不能访问到,所以需要上面的权威域名服务器和根域名服务器,pc机访问在www.360.com时,会去本地dns查找,本地dns里没用www.360.com的ip,但是本地dns有.com,并且知道dns.com的对应ip地址,因此它会往上一级(根dns)发送一个dns请求,根dns收到这个包,但是根dns也不知道www.360.com的ip,于是根dns又会发一个包,这时候360.com收到这个包,它知道www.360.com的ip,是192.168.40.4,然后又返回一个包给根dns,根dns再发一个包到本地dns,最后本地dns返回一个和包给pc机,然后pc机就知道www.baidu.com的ip啦,就能愉快的访问百度网站啦。

 

 

 

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: