什么是 DNS?

这个问题要从 IP 地址说起。IP 地址相关于网络设备的“门牌号”,每个在连上互联网的设备,都至少有一个 IP 地址。IP 地址的形式有两种,形如 104.155.216.90(IPv4)或者 2a00:1450:4002:804::1003(IPv6)。每个网络设备,包括服务器(网站)、终端用户,都有一个独立的 IP 地址(在使用的时候独立,使用完之后可能会被回收并复用)。

这样就产生了一个问题,IP 地址非常难记,显然 104.155.216.90 没有"leonax.net"好记。于是开发人员就发明了一种把 IP 地址转换成域名的服务。域名就是类似 leonax.net 这样的字符串,俗称网址。这个转换的服务被称为 DNS,全称是 Domain Name System。

DNS 的工作原因大致是这样的:如果终端计算机需要访问 leonax.net,它会先向管理 .net 域名的根 DNS 服务器发向请求,得到负责管理 leonax.net 的 DNS 服务器(假设是 A),然后再发送请求给 A,询问 leonax.net 的 IP 地址,最终得到结果为 104.155.216.90。然后终端计算机的浏览器就可以访问到http://leonax.net了。

根 DNS 服务器在全球一共有 13 个(以及一些镜像),显然这 13 个服务器没有能力响应来世界各地的所有 DNS 请求,于是就有了各种 DNS 缓存技术。通常终端计算机只需连接到最近的一台 DNS 缓存服务器上,如果那台服务器刚好有 leonax.net 的数据,就可以直接告诉终端计算机,而不需要麻烦根服务器。这样就大大地平衡了各个 DNS 服务器之间的负载,也减少了终端设备的等待时间。比如 Google 就开设了两个 DNS 缓存服务器,IP 地址分别为 8.8.8.8 和 8.8.4.4。

至于 DNS 的具体技术细节和实现,请自行 Google……


1 条评论 添加

发表评论

电子邮件地址不会被公开。 必填项已用*标注