DNS(Domain Name System,域名系统)是互联网的一项服务。它作为将 Domain 和 IP 地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网。
要想访问网络上的一台计算机,我们必须要知道它的 IP 地址,但是这些地址(e.g. 243.185.187.39)只是一串数字,没有规律,因此我们很难记住。并且如果一台计算机变更 IP 后,它必须通知所有的人使用新的 IP 来找到它。
显然,直接使用 IP 地址是一个愚蠢的方案。于是人们想出了一个替代的方法,即为每一台计算机起一个名字(Hostname),然后建立 Hostname 到 IP 地址的映射关系。我们访问 Hostname,剩下的名字到地址的转换过程则由专门的服务器自动完成。
早期,名字到地址的转换过程十分简单。每台计算机保存一个 hosts 文件(e.g. /etc/hosts),