什么是 DNS?它有什么用处?

您听说过DNS一词吗?您是否(Did)偶然发现了告诉您无法访问DNS 服务器的错误消息?(DNS server)您知道DNS是什么以及它的用途是什么吗?如果您想了解,请阅读本指南。我们解释了DNS是什么、它在互联网上的作用以及它是如何工作的。为了彻底,我们还将回顾一下它的历史。让我们开始吧:

什么是 DNS(域名系统)?

DNS代表“域名系统(domain name system)”,它是用于管理全球网站IP地址(IP address)的标准。在计算机语言中(computer language),互联网上的每个网站都有一个可以找到的IP 地址。(IP address)例如,可以在IP 地址 104.26.13.188找到我们的(IP address 104.26.13.188)Digital Citizen网站。

计算机和其他设备在记住和使用无限数量网站的 IP 地址方面没有问题。然而,像你我这样的人很难做到这一点。最后,记住 digitalcitizen.life 比记住 104.26.13.188 这样的一系列数字要容易得多。这就是DNS 技术(DNS technology)存在的原因:

DNS的目的是将互联网上网站的 IP 地址转换为我们人类可读、易于理解和记忆的东西。

DNS 可以将网站名称转换为数字 IP 地址

在某种程度上,您可以将DNS 技术(DNS tech)视为一个巨大的电话簿,它将名称与世界上每个网站的IP 地址(IP address)相关联。DNS与真实电话簿的区别在于,您拥有的不是电话号码,而是IP 地址(IP address)。我们记得朋友的名字是正常的,但不记得他们的电话号码。当您想打电话给您的一位朋友时,您只需打开智能手机上的电话簿并按他们的名字呼叫他们。

就像您不必记住朋友的电话号码一样,您不必记住网站的 IP 地址即可访问它们。您只需要记住它们的名称,DNS 技术(DNS technology)会自动将它们与正确的 IP 地址相关联。

DNS如何工作?

现在您知道DNS代表什么以及它的作用了。但它是如何做到的呢?答案是:DNS通过(DNS)DNS 服务器(DNS servers)完成其工作。它们是特殊的服务器,用于存储来自 Internet 的各种网站的 IP 地址的大型数据库,以及执行相同操作的其他DNS服务器的 IP 地址。(DNS)

当您想访问一个网站时,您的计算机或设备会询问其 DNS 服务器是否知道该网站的 IP 地址。(When you want to visit a website, your computer or device asks its DNS server if it knows the IP address of that website.)如果确实如此,并且您的计算机收到了答复,您将立即被转发到该网站的IP 地址(IP address)。这个过程称为DNS 查找(DNS lookup)。这就像智能手机电话簿上的搜索功能。(search function)

但是,您的计算机或设备(computer or device)上设置的DNS 服务器(DNS server)可能不知道您尝试访问的网站的IP 地址。(IP address)这是可能发生的事情,因为维护一个包含世界上所有网站的数据库是一项艰巨的任务。但是,DNS 服务器(DNS server)并不是网站海洋中的孤岛:它们之间也相互连接,并且还保持着层次结构。如果 DNS 服务器不知道某个网站的 IP 地址,它会将问题转发给(If a DNS server doesn't know the IP address of a certain website, it relays the question to another DNS server)层次结构中更高的另一个 DNS 服务器。找到结果后,会将响应转发回您的计算机或设备(computer or device)

显示 DNS 工作原理的图表

整个“询问和响应(ask and respond)”过程发生在几毫秒内。它是如此之快,以至于您不知道哪个DNS 服务器(DNS server)已经转发了您尝试访问的网站的IP 地址。(IP address)然而,现代计算机、设备和应用程序不喜欢任何延迟,即使它可能很小,所以它们中的大多数还保留其DNS请求的缓存。这样,他们可以在您下次访问时更快地打开您已经访问过的网站。

如果您想知道谁维护DNS服务器,您应该知道此类服务器由一系列不同的实体维护,从您的ISP互联网服务提供商(Internet Service Provider))到来自世界各地的政府组织和大学。

在本文前面,我们简要提到过DNS服务器不仅在它们之间进行通信,而且它们还具有一个层次结构。这句话可能让您很想知道哪个DNS服务器是“山中之王”。🙂 这是答案:有 13 个国王,这意味着世界上所有的DNS服务器都中继(world relay)到这 13 个主要的 - “食物链(food chain)的顶端” - DNS服务器。它们还带有DNS 根服务器(root servers)的名称。

但是,不要假设那里只有 13 个物理根服务器。实际上,这些根DNS服务器中的每一个都使用冗余网络设备(network equipment),并且在地理上分布在多个位置,因此如果其中一个物理DNS服务器出现故障,互联网也不会出现故障。更准确地说,有 13 台根服务器由 12 家运营商(它们是独立的组织)维护,全球共有 1038 个实例(也称为物理DNS 根(DNS root)服务器)。

2020 年 DNS 根服务器实例图

如果您想知道谁维护它们以及它们的地理位置,您可以在Wikipedia - Root name serverroot-servers.org上找到该列表。剧透警告(Spoiler alert):大多数根DNS运营商来自(America)美国(United) (States)

DNS 是什么时候发明的,由谁发明的?

DNS 或域名系统是由一个叫 Paul Mockapetris 的人在 1983 年发明的。(DNS or Domain Name System was invented by a man called Paul Mockapetris, back in 1983.)在此之前,互联网几乎不存在。然而,作为ARPANET一部分的计算机,由(ARPANET)ARPA高级研究(Advanced Research)计划(Projects)(Agency),来自美国国防部(United)(Department)创建(States)和维护(Defense)计算机网络(computer network),都依赖数字地址在它们之间进行通信。阿帕(ARPANET)网是我们今天所知的互联网的基础之一。ARPANET中主机的数字地址 是手动添加的,最初存储在一个HOSTS.txt 文件(HOSTS.txt file)中,用于将它们翻译成人类可读的名称。

然而,只使用HOSTS.txt文件很快就会变得太慢,因为主机(计算机)的数量正在增加。这个问题的解决方案来自Paul Mockapetris,他必须发明一种方法来让网络更容易被人们使用。换句话说,他必须找到一种为数字分配名称的方法,这样人们就不必为他们所连接的所有计算机学习数字地址。

于是,DNS出现了:一种将命名职责划分到多个服务器的系统,这些服务器位于网络的不同位置。域名系统(Domain Name System)具有很大的优势,即即使某些服务器出现故障,也能够提供答案(将名称转换为数字地址),因为仍在工作的其他服务器可以提供相同的功能。

您想了解更多关于DNS的信息吗?

如果您对此问题的回答是“是”(Yes),那么我们随时准备提供帮助。多年来,我们发布了很多与DNS相关的教程和指南。如果您渴望学习,请随意浏览列表:

  • 在Windows 10(Windows 10)中更改DNS设置的3 种方法
  • 我的DNS是什么?在Windows 10(Windows 10)中查找的 5 种方法
  • 什么是第三方DNS 服务器(DNS server)?使用公共DNS 服务器(DNS server)的8 个理由
  • 什么是基于HTTPS的DNS或安全 DNS 查找(HTTPS or Secure DNS lookups)在谷歌浏览器(Google Chrome)中启用它!
  • 如何在Firefox中启用(Firefox)基于 HTTPS(HTTPS)DNS

现在您对DNS(DNS)有了更多的了解。你还有什么想学的吗?

既然您已经了解了DNS 技术(DNS technology)的基础知识及其工作原理,那么您应该可以更轻松地了解在浏览 Internet 时遇到的某些问题。如果您对DNS(DNS)有任何疑问或想分享有关DNS服务器的更多信息,请随时在下面的部分中发表评论。



About the author

我是一名专业的计算机技术人员,在该领域拥有超过 10 年的经验。我专注于 Windows 7 和 Windows 应用程序开发,以及酷网站设计。我在该领域知识渊博,经验丰富,对于任何希望发展业务的组织来说都是一笔宝贵的财富。



Related posts