说一说DNS解析过程

本文深入讲解DNS系统的架构,包括根DNS、顶级DNS、权威DNS及本地DNS的角色与工作原理。探讨了递归查询与迭代查询两种DNS解析方式,并解释了hosts文件与浏览器缓存的作用。

DNS提供的服务简单来说就是查询域名对应的IP

各种DNS服务器

  1. 根DNS:13个根"服务器",大部分在老美家。你可能会问:全球的服务13台服务器就解决了?岂不是比双十一淘宝厉害好几个档次。实际上,这里应该说是13个服务器群,每一个根服务器是一个冗余的服务器网络,只不过对外表现是一个服务器。阿里还是很厉害的。
  2. 顶级DNS服务器:顶级的意思是顶级域名,比如教育的edu,非盈利组织的org,国内的cn,hk等等,每个顶级服务器(群),负责对应后缀的请求。并且他们记录了自己旗下的权威DNS。
  3. 权威DNS:一个干实际事情的DNS服务器,顶级DNS只是分配任务,权威DNS像字典一样提供查询功能。
  4. 本地DNS服务器:学校或者单位一般都有自己的DNS服务器,这些服务器缓存了大量IP地址和域名,来提高相应速度。
  5. hosts文件:这只是操作系统中的一个文件,缓存域名和ip地址的关系。Linux和windows以及mac都有这个文件。
  6. 浏览器缓存:浏览器会缓存访问过的域名和IP地址,来提供速度,毕竟他们之间的映射关系很稳定。

举个例子

说了一堆,来举个例子吧!
我们在浏览器中敲www.baidu.com会发生啥呢?

有下面两种查询方式:
递归查询
  1. 浏览器查询缓存,是否有百度的ip,如果有结束
  2. hosts文件中是否有百度的ip地址,如果有结束
  3. 如果本地DNS有百度的ip地址,如果有,本地DNS将其返回给请求主机,然后结束
  4. 根服务器根据com后缀,将请求转发给顶级域名服务器
  5. 顶级域名服务器查询自己的权威DNS服务器
  6. 权威DNS域名服务器查询到百度的IP,将结果返回给顶级,顶级返回给根,根返回给本地,本地返回给请求主机,结束。
8923455-7bff790ed6d28e61.png
图文序号不对应
迭代查询
  1. 浏览器查询缓存,是否有百度的ip,如果有结束
  2. hosts文件中是否有百度的ip地址,如果有结束
  3. 如果本地DNS有百度的ip地址,如果有,本地DNS将其返回给请求主机,然后结束
    (前三步不变)
  4. 根服务器根据com后缀,将顶级服务器IP告诉给本地服务器
  5. 本地服务器访问顶级DNS,顶级DNS将权威DNS返回给本地
  6. 本地服务器访问权威DNS,权威DNS将百度IP返回给本地
  7. 本地将百度IP返回给请求主机
8923455-1c5fd7d4700dcc47.png
图文序号不对应

补充

DNS是基于UDP的服务

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值