开发者社区> 科技探索者> 正文

自己对DNS的理解

简介:
+关注继续查看
dns
1.工作原理
  client发出请求www.xx.com的过程主要是以下的阶段:
  1.client查询本地缓存里面有无www.xx.com的记录---ipconfig/displaydns
  2.client查询本机system32\drivers\etc\hosts文件中有无记录
  3.client向本机DNS server 发送查询请求
  4.DNS server查看服务器本地缓存中是否有该记录,如果没有则查询本地的区域文件?
    (如果所查询的地址本身就不在DNS的区域文件中,他还会进行查询不?DNS是否查询本地的区域文件是通过什么方式确定的?)
  5.DNS server中存在13个根DNS服务器的地址(DNS server服务器中的文件cache.dns),当在本地无法查询到client要求的地址时,DNS server随机的向根服务器发送(递归)查询。
  6.任何一个根服务器收到请求,就开始进行(迭代查询)从右向左开始查询,返回一个个的被委派的DNS服务器。返回NS记录
  7.查到的结果返回给发起初始查询的DNS服务器,初始查询DNS服务器将结果缓存并发送给client
  8.client根据返回的A记录与目标地址建立起WEB连接。
2.DNS工作内容
  1.任意一个DNS server 如果将他设置为网络中唯一的DNS server的时候,只要这个DNS server能够通过gateway连接到外网(能够和根服务器通信),他就可以解析任何存在的域名。
    解析过程:
            1.若client查询的记录在本机缓存 则不启动查询,直接返回记录
            2.若client查询的记录在区域文件 则返回对应得记录
            3.查询的记录不在本机的管理范围中。启动递归查询
            4.连接13个根服务器 启动递归查询 并将结果存入本机缓存
  2.DNS 转发器的作用
    根服务只有13个,如果DNS的查询全部都发送到根服务器效率比较低下,启动DNS转发器后,DNS进行查询的时候,如果遇到本机不能解析的查询,就向DNS转发器请求查询,DNS转发器指定的地址一般都是比较大的DNS服务器,通常接受大量的DNS查询操作,比如电信的核心DNS  这样利用DNS的缓存机制,在这个DNS中就集中了很多的查询结果,DNS查询只需要从缓存中获取记录,,,不用去根服务器取得  效果很好.
3.DNS对自己申请域名的解析
  DNS服务器建立后对自己申请的域名的解析,实际上是在客户端申请了域名后,通过向根服务器和其下属的二级服务器申请该域名的解析权利来实现的,而根服务器和其下属的二级服务器则是通过  委派解析权 将你申请的域名的解析权利赋予给你建立的DNS服务器。这样当其他的client对你申请的域名进行查询的时候,在完成递归和迭代查询后,,,其他的client得到的是由你建立的DNS返回的A记录或者CNAME记录。。。。。
本文转自OnMyWay博客51CTO博客,原文链接http://blog.51cto.com/active/281614如需转载请自行联系原作者

yab109

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux网络服务之DNS服务
DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互 映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
46 0
Morpheus - DNS Spoofing
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396497 ...
837 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载