DNS 域名解析系统详解

安全咨询 0 533

DNS 和统一资源你定位符(URL)

域名系统是将互联网资源和地址关联起来的一个分布式数据库

QQ截图20221226131359.png

Scheme 部分代表协议,不只有 https,还有 ftp、ssh 等。不同协议代表着不同类型的应用在提供资源。

Host 部分代表站点,我们今天介绍的 DNS 主要作用就是根据 Host 查找 IP 地址。

Port 是端口,代表提供服务的应用。

Path 是路径,代表资源在服务中的路径。

Query 是查询条件,代表需要的是资源中的某一个部分。

Fragment 是二级查询条件,通常不在服务端响应,而是用于前端展示定位内容。

URL 是一种树状的设计, Host 代表主机(对应的 IP 地址由 DNS 服务提供);Port 代表应用;Path 代表资源在应用中的路径;Query 代表对资源的查询条件。



域名系统


DNS(Domain Name System,域名系统)是一个将域名和 IP 地址相互映射的分布式服务。比如说你想知道 lagou.com 的 IP 地址,就需要通过 DNS 服务获得。这样凡是访问 lagou 的用户,就不需要在浏览器中输入 lagou 的 IP 地址,而是通过一个方便人们记忆的域名。



根域名服务器


位于最顶层的是根域名服务器(Root Name Server)。人们在全世界范围内搭建了多台根域名服务器,2016 年的统计数据中,全世界目前有 13 台 IPv4 根服务器,25 台 IPv6 根服务器。


根域名服务器存储的不是域名和 IP 的映射关系,而是一个目录。如果将所有的域名记录都存放到根域名服务器,从存储量上来说,不会非常巨大。要知道一个域名记录——域名、IP 地址和额外少量信息,并不需要大量存储空间。但是如果全世界所有的 DNS 请求都集中在少量的根服务器上,这个访问流量就会过于巨大。而且一旦发生故障,很容易导致大面积瘫痪。而且因为根服务器较少,所以如果全部都走根服务器,不同客户端距离根服务器距离不同,感受到的延迟也不一样,这样对用户来说不太友好。


因此,因为流量、防止单点故障、平衡地理分布等问题,根域名服务器只是一个目录,并不提供具体的数据。



域名分级和数据分区


我们知道中文字典可以按照偏旁部首以及拼音索引,和字典类似,根服务器提供的目录也有一定的索引规则。在域名的世界中,通过分级域名的策略建立索引。伴随着域名的分级策略,实际上是域名数据库的拆分。通过域名的分级,可以将数据库划分成一个个区域。


平时我们看到的.com``.cn``.net等,称为顶级域名。比如对于 www.laogu.com 这个网址来说,com是顶级域名,lagou是二级域名,www是三级域名。域名分级当然是为了建立目录和索引,并对数据存储进行分区。

QQ截图20221226131534.png

从上图中可以看到,DNS 的存储设计是一个树状结构。叶子节点中才存放真实的映射关系,中间节点都是目录。存储分成 3 层:


顶部第一级是根 DNS 存储,存储的是顶级域的目录,被称作根 DNS 服务器;

第二级是顶级域存储,存储的是二级域的目录,被称作顶级域 DNS 服务器(Top Level DNS,TLD);

最后一级是叶子节点,存储的是具体的 DNS 记录,也被称作权威 DNS 服务器。




也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。