dns递归查询实验及分析

avatar 2017年03月19日13:35:21 1 3720 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
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

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

  

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