Linux 小知识翻译 - 「DNS服务器」

这次聊聊「DNS服务器」。

DNS(Domain Name System)服务器,也被称为域名服务器。

因为使用互联网的时候,必须要指定DNS服务器,所以你一定听过DNS这个名字吧。

那么,这个DNS服务器是干啥用的呢?

通过互联网连接其他主机的时候,用户一般会输入类似「www.lpi.or.jp」这样的主机域名。

这种域名对用户来说很好理解。但是计算机是通过「202.218.212.222」这样的IP地址来识别网络的主机的。

DNS服务器的任务就是建立这种域名和IP地址的对应关系。

粗略来说,DNS服务器主要有2个作用:

其一,根据客户端的询问,将域名转化为IP地址(或者IP地址转为域名),这个功能被称为「Full-Service Resolver」[fn:2],执行这个询问的客户端称为「Stub Resolver」[fn:3]。

其二,管理和提供域名和IP地址对应的数据,这个功能被称为「内容服务器」。

有的DNS服务器包含以上2个功能,有的DNS服务器只包含上面1个功能。

DNS的构造非常复杂,一言以敝之,DNS服务器在大部分的情况下,只有一台是没有意义的。互联网中,多台DNS服务器一起合作,才能达成「域名和IP地址关联」的目的。

理由非常简单,互联网上连接的主机数目超级庞大,靠一台DNS服务器来管理所有域名是不可能的。

因此,DNS服务器采用的是「分散管理」方法。即,域名和IP地址的关联数据不是在一台DNS服务器上,而是在数个~数十个服务器上驻留。

也就是「根据多台DNS服务器的合作」,才完成域名到IP地址的解析。

DNS服务器的构造虽然稍微有些困难,但我想只要记住「多台DNS服务器合作运行」这个概念,就会容易理解一些。

上一篇:Linux 小知识翻译 - 「Shell 脚本」


下一篇:[安卓]AndroidManifest.xml文件简介及结构