dns递归查询实验及分析

avatar 2017年03月19日13:35:21 1 3345 views
博主分享免费Java教学视频,B站账号:Java刘哥

拓扑图如下


 

 



 

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

如图所示,我们这里两台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

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0