DNS 是应用层协议,用于将域名转换成 IP 地址。

1. 解析过程

DNS 的核心系统是一个三层的树状、分布式服务,基本对应域名的结构。

  1. 根域名服务器:管理顶级域名服务器,返回 com、net、cn 等顶级域名服务器的 IP 地址;
  2. 顶级域名服务器:管理各自域名下的权威域名服务器。例如 com 顶级域名服务器可以返回  baidu.com 域名服务器的 IP 地址;
  3. 权威域名服务器:管理自己域名下主机的 IP 地址。比如 baidu.com 权威域名服务器可以返回 www.baidu.com 的 IP 地址。

例如,要访问 www.baidu.com,就要进行下面的过程:

1)浏览器缓存:浏览器首先会再自己的缓存中查找是否有该域名对应的 IP 地址;
2)系统缓存:如果浏览器缓存中没有的话,就会自动检查本地 hosts 文件内是否有该域名对应的 IP;

3)本地DNS服务器:如果浏览器缓存和系统缓存都没有相应的映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器。

4)根域名服务器

5)顶级域名服务器

6)权威域名服务器

7)保存结果至缓存,同时将结果反馈给客户端。

2. 递归查询与迭代查询

1)主机向本地域名服务器的查询采用的是递归查询。

  如果主机询问的本地域名服务器不知道被查询的域名的 IP 地址,那么本地域名服务器就向根域名服务器发出查询请求。

2)本地域名服务器向根域名服务器的查询采用的是迭代查询。

   1) 本地域名服务器向根域名服务器发出的查询请求时,根域名服务器把自己所知道的“com”顶级域名服务器的的 IP 地址告诉本地域名服务器;

  2) 本地域名服务器再向“com”顶级域名服务器发出查询请求,顶级域名服务器把自己所知道的“baidu.com”权威域名服务器的 IP 地址告诉本地域名服务器;

  3) 本地域名服务器再向“baidu.com”权威域名服务器发出请求,权威域名服务器把www.baidu.com的 IP 地址告诉本地域名服务器。
最后,本地域名服务器把结果返回给主机。

  

最新文章

  1. Emotion Debt 2017/1/6
  2. Gulp基础
  3. Redis常用命令(二)
  4. c++学习笔记——聚合类
  5. Shredding Company
  6. ApplePay
  7. protected访问修饰符
  8. 修改jquery的remote让前段显示服务器错误信息
  9. javascript 验证身份证
  10. 201521123014 《Java程序设计》第14周学习总结
  11. JavaScript之隐式类型转换
  12. easyui实现分页
  13. WEB日期控件
  14. FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)
  15. nodejs -- require , exports , module
  16. es6初级之解构----之二 及 键值反转实现
  17. BZOJ4919:[Lydsy1706月赛]大根堆(set启发式合并)
  18. select、poll 和epoll区别
  19. Python distribute到底使用package_data还是MANIFEST.in?
  20. 洛谷P2792 [JSOI2008]小店购物(最小树形图)

热门文章

  1. UVa OJ 455 Periodic Strings
  2. 分析型CRM系统都分析什么?
  3. Linux 实验楼
  4. [Linux]常用命令、组合命令以及输入输出重定向
  5. github祥解
  6. Rust trait
  7. Linux_计划任务
  8. openstack总结复习
  9. 搜狗拼音输入法v9.6a (9.6.0.3568) 去广告精简优化版本
  10. linux进程间通信-(转自 临水)