1 DNS介绍
Domain Name System,域名系统;是一个复杂的系统体系;作用是解析域名找到对应ip地址,这样就可以跟ip地址所在的服务器通信,获取数据。
比如我们在地址栏输入github.com,那么DNS系统会帮我们找到ip为20.205.243.166的服务器;如下图;该ip地址所对应的服务器在美国微软数据中心
在介绍DNS详细的寻址过程前,先了解几个概念;
1.1 域名组成
顶级域名就是最后一个.之后的部分;com、net、org等等就是顶级域名
二级域名是最后一个点前面的部分;baidu.com、taobao.com等等
三级域名如 emial.baidu.com、www.baidu.com、map3.baidu.com等等
比如 xiaobaigis.com是一个二级域名,www.xiaobaigis.com是三级域名;这里的.com就是顶级域名(一级域名)
注:但平时我们也可能称xiaobaigis.com是一级域名,www.xiaobaigis.com是二级域名。不过还是上面说法更严谨一些。
如上所知,一个二级域名可以有多个三级域名;我们平时购买的大部分都是二级域名。
域名的顺序可以这么去理解:www.xiaobaigis.com对应 市<—省-<—国;也就是从前往后查,越来越具体。正如后面我们要说到的DNS寻址过程,也是按照这个顺序去查找的。
1.2 域名服务器
(1)根域名服务器
最高层次的域名服务器,也是最重要的域名服务器。在很早时候全球只有13个根域名服务器名称,而且大部分分布在美国;
注:所以实事求是说,互联网完全被美国掌握;不过目前随着各国技术进步,我们对根域名服务器做了镜像服务器,可以替代一部分根域名服务器功能;
根域名服务器如下
- a.root-servers.net.
- b.root-servers.net.
- c.root-servers.net.
- d.root-servers.net.
- e.root-servers.net.
- f.root-servers.net.
- g.root-servers.net.
- h.root-servers.net.
- i.root-servers.net.
- j.root-servers.net.
- k.root-servers.net.
- l.root-servers.net.
- m.root-servers.net.
上面每个地址并不是对应一个服务器,可以理解为一个集群;
作用:在DNS中,它负责管理顶级域名,保存了所有顶级域名和其对应的ip地址及托管商;跟域名服务器像一个字典,当我们输入一个域名后,首先去根域名服务器查找并返回顶级(com、org等)域名做在的服务器地址;
简单来说,根域名服务器帮我们查询并返回顶级域名的地址;比如要查询顶级域名.cn的地址;所以说如果根域名服务器中删除了所有.cn域名跟ip的对应数据;那么我们将访问不到所有.cn结尾的url地址
你可以把根域名服务器比作国家总理;
(2)顶级域名服务器
在DNS中,它们负责管理在该顶级域名服务器注册的下一级域名(二级域名);
你可以把顶级域名服务器比作省长
(3)权威域名服务器
权威域名服务器通常是指顶级域名以下的管理二级、三级、四级等域名的服务器。
你可以把权威域名服务器比作市长
关系如下:
2 DNS寻址(解析ip的流程)
上面了解了DNS相关概念,这里介绍正常DNS寻址过程
2.1 DNS解析服务器
它主要响应来自客户端的递归请求并花时间跟踪DNS记录的计算机。通过发出一系列请求来完成此操作,直到它到达所请求记录的权威 DNS 名称服务器,也就是下面的第8步;
2.2 解析流程
一旦 DNS 查找的 8 个步骤返回了www.baidu.com 的 IP 地址,浏览器就能够发出对网页的请求;
步骤如下:
- 用户在浏览器中输入www.baidu.com;然后发送请求;该请求由DNS解析器接受;
- DNS解析器向根域名服务器发送请求报文"www.baidu.com";(向根发送)
- 根域名服务器返回顶级域名.com的顶级域名服务器地址,由DNS解析器接受;(根返回顶地址)
- DNS解析器向 .com 顶级域名服务器发送请求报文"baidu.com";(向顶发送)
- TLD 服务器返回二级域名baidu.com 的 IP 地址 ,由DNS解析器接受。(顶返回权威地址)
- 递归解析器向域的权威服务器发送请求报文"www.baidu.com"。(向权威发送)
- 权威服务器返回三级域名www.baidu.com的ip地址,又DNS解析器接受(权威返回ip地址)
- 最后DNS 解析器使用最初请求的域的 IP 地址响应 Web 浏览器。(DNS寻址结束)
- 浏览器向 IP 地址对应的服务器发出http请求。
- 该 IP 上的服务器返回要在浏览器中呈现的网页
原文链接:https://blog.csdn.net/popstarqq/article/details/123585875