DNS粗解

        现在网络世界纷繁复杂,常用的网站就有几十个,如果都用IP地址访问,恐怕没人能够记住,我们需要一个地址簿,根据名称,就可以查看具体的地址。(当然现在很多人都是知道百度的,直接通过百度搜索网站,记得之前有一个hao123网站,记录了很多知名网站的连接)。

例如,我想去杭州西湖,这个就是名称,根据这个名称通过地图搜索实在哪条路多少号。

        DNS服务器就是我们所说的网络世界的地址簿,日常生活中每个人上网,都需要访问它,对它来说是非常大的挑战,如果DNS服务器除了故障,整个互联网都可能瘫痪。另外,上网的人分布在世界各地,大家都去访问同一个DNS服务器,会导致时延很大,因此,DNS服务器一定要设置成高可用、高并发和分布式。

于是,树状的层次结构如下:

https://static001.geekbang.org/resource/image/59/a6/59f79cba26904ff721aabfcdc0c27da6.jpg

  1. 根DNS服务器:返回顶级域DNS服务器的IP
  2. 顶级域DNS服务器:返回权威DNS服务器的IP
  3. 权威DNS服务器:返回相应主机的IP

为了提高DNS的解析性能,网络会就近部署DNS缓存服务器,我们可以分析出如下DNS的解析流程。

  1. 客户端访问www.163.com,(一般客户端系统会有本地缓存,linux下可以查看/etc/hosts文件,没有查到缓存则)会给本地域名服务器发出一个DNS请求,寻求www.163.com的ip地址;本地域名服务器一般是网络服务商的某个机房
  2. 本地DNS收到客户端的请求,寻找本地缓存是否有此域名和IP地址的对应关系表,有就返回IP,没有就向它的根域名服务器寻求帮助,根域名服务器是最高层次的,全球只要13套,它是不直接解析域名的,但会指明一条道路。
  3. 根DNS根据收到的本地DNS请求,返现后缀是.com,就把.com顶级域名服务器IP告诉本地DNS
  4. 本地DNS就转过来询问.com顶级域名服务器,.com顶级域名服务器负责二级域名,它可以提供一条更清晰的方向,提供负责www.163.com区域的权威DNS服务器IP
  5. .本地DNS转向权威DNS服务器,权威服务器查询后将对应的IP地址告诉本地DNS
  6. 本地DNS将IP返回客户端,并缓存IP,客户端于是和目标建立连接

到这里,我们完成了DNS的解析过程,整个过程如下图:

https://static001.geekbang.org/resource/image/ff/f2/ff7e8f824ebd1f7e16ef5d70cd79bdf2.jpg

 

猜你喜欢

转载自blog.csdn.net/yangrendong/article/details/89392299