『计算机网络』域名系统(DNS)

域名系统是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名转换为便于及其处理的 IP 地址。相对于 IP 地址,人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机。值得注意的是,DNS 系统采用 C/S 架构,其协议运行在 UDP 之上,使用 53 号端口。

从概念上可将DNS 分为三部分:层次域名空间、域名服务器和解析器

1. 层次域名空间

在这里插入图片描述

2. 域名服务器

DNS服务器有很多台,根据层次结构分为三层,根域名服务器,顶级域名服务器,权限域名服务器

本地域名服务器不算层次结构,特点是离主机比较近,当主机和另一台比较近的主机通信时,就不用走哪些更高级的服务器了

根域名服务器并不是一个域名只有一台,而是一个域名对应多台域名服务器,全世界一共有13个这样的域名,分别是 a.rootservers.net,b.rootservers.net,c.rootservers.net, ⋯ \cdots , m.rootservers.net

在权限域名服务器中,虽然看似 abc.com 比 y.abc.com 少了一位,但是他们的地位仍是对等的,对应的两台权限域名服务器

在这里插入图片描述

3. 域名解析过程

在这里插入图片描述

3.1 递归查询

主机先是想本地域名服务器发送请求,如果查不到的话,

本地域名服务器向根域名服务器发送请求(找别人),如果还是查不到的话

根域名域名服务器向顶级域名服务器发送请求(找别人),如果还是查不到的话

顶级域名服务器向权限域名服务器发送请求(找别人)

可以看到每一次向下一个查询的服务器都变了,不是主机一个个去问,而是服务器自己一个个问下去

3.2 迭代查询

主机先是想本地域名服务器发送请求,如果查不到的话,

本地域名服务器就让主机去向根域名服务器发送请求(主机去找,本地域名给目标根域名服务器的IP地址),如果还是查不到的话,

根域名域名服务器让主机去向对应的顶级域名服务器发送请求(主机去找,根域名给目标顶级域名服务器的IP地址),如果还是查不到的话,

顶级域名服务器让主机去向权限域名服务器发送请求(主机去找,顶级域名给目标权限域名服务器的IP地址)

可以看到这里是主机一个个挨个问的地址

3.3 高速缓存

为了减少多次查询同一个域名的资源浪费,本地域名服务器会存储最近使用的ip地址解析,下次再访问同一个域名就不需要这么多查询步骤了。同时这个高速缓存主机本身也有存储

同时本地域名服务器还可以对顶级域名服务器,权限域名服务器的地址进行缓存,下一次即使是不知道的ip地址,查询也可以更快

高速缓存为了保持正确性,需要定时更新

猜你喜欢

转载自blog.csdn.net/dreaming_coder/article/details/114067258