DNS 的工作原理

已发表: 2016-12-15

计算机使用称为 IP 的寻址方案通过 Internet 进行通信。 IP 地址是一串唯一的数字,以句号分隔。 然而,人类在记住长串数字方面往往很糟糕。 因此,为了使访问计算机更容易,需要一个电话簿。 将计算机名称映射到 IP 地址的电话簿; 这样人类和软件就可以轻松地连接到其他一些计算机资源。

在 DNS 之前,Internet 被称为 ARPANET,连接的计算机很少; 因此,只需要一个 HOSTS.TXT 文件来维护它们的 IP 地址到名称的映射。

地址是手动管理的,对映射的更改需要致电 SRI 的网络信息中心(以前称为斯坦福研究所)。

在 80 年代的某个时候,手动管理所有这些映射变得很麻烦,因此需要一个解决方案。 域名系统就是那个解决方案。

什么是 DNS,它解决了什么问题。

开发域名系统是为了解决必须维护大量计算机名称的迫切需要。 它由称为“名称服务器”的服务器分层网络和通信协议实现。 它也是自然分布的,这使其在发生故障时具有弹性。 名称服务器存储有关域名记录的信息,并响应来自其他服务器或客户端的查询。 我们将在本文后面深入研究什么是域名记录。 但首先,让我们了解一下 DNS 世界中的一些关键概念:

根名称服务器及其层次结构

我们之前提到过,DNS 是一个分层系统。 此层次结构由三个不同级别的名称服务器组成。 根域名服务器、顶级域 (TLD) 和权威的 DNS 服务器用于其他一切。 整个 Internet 有 13 台根服务器。 这些不是物理的,因为它们的分布式特性可以跨越多台机器。 但是,它们确实提供了有关哪些名称服务器负责顶级域(.com、.net 等)的权威答案。 与负责这些 TLD 下所有内容的名称服务器相比,这些根服务器包含最新和最准确的指针。

使用 Pressidium 托管您的网站

60 天退款保证

查看我们的计划

顶级域名服务器

这些是负责域最后一部分的名称服务器。 管理大多数顶级域的实体称为互联网名称与数字地址分配机构 (ICANN)。 TLD 有多种类型,最常见的是国家代码(.uk、.nl、.us 等)。 还有一些非常熟悉的,如.com、.net、.gov、.edu,它们被称为通用。

权威域名服务器

这些是负责特定域(即 pressidium.com)的名称服务器。 它们包含他们的域记录并被称为权威,不仅因为它们拥有有关域的最新和最准确的信息,而且还因为域所有者已指定它们。

领域

域只是标识一组 Internet 资源(计算机、网络等)的标签。 它被个人和组织用来在互联网上建立他们的身份。

注册商

域名注册商是管理域的商业实体。 他们被顶级域注册机构授权执行此功能。 他们可以购买各种顶级类型的域名。 该域将与您的个人数据相关联,从而证明所有权。

名称服务器记录

正如我们之前提到的,域是定义一组 Internet 资源的标签。 名称服务器包含有关这些信息,响应来自其他服务器或客户端的查询。 这些资源被组织和表示为结构化文本,在所谓的域名记录中。

记录有多种类型,但最常用的有以下几种:

  • A(地址)
  • CNAME(规范名称)
  • MX(邮件交换)

A 记录可能是最基本和最广泛使用的记录,它是将名称映射到 IP 地址的记录。 例如以下记录:

website.com. IN A 23.9.62.14

将域website.com映射到 IP 地址23.9.62.14

另一种常见的做法是让多个 A 记录的 IP 映射到同一个名称。 这提供了一种基本但有效的负载平衡形式,因为每次向域名服务器查询该域时,它都会返回不同的 IP 地址。

CNAME 记录用于将一个名称别名为另一个 A 记录。 这通常在您需要多个子域(www、ftp、mail)指向同一个域(同一服务器可以是 web/ftp/email 服务器)时使用。 例如:

ftp IN CNAME website.com.

将为website.com创建一个ftp别名,这样当有人通过 ftp 访问 ftp.website.com 时,他们将被重定向到 website.com。

Τ这里是 DNS 和电子邮件之间的特殊关系。 虽然 ftp 和 web 等服务实际上可以在没有 DNS 的情况下运行(如果你能记住 IP 地址的话),但另一方面,电子邮件却不能。 电子邮件绝对需要 DNS 才能正常运行。 MX 记录用于定义将处理该域的所有传入电子邮件的 A 记录。 例如,如果您希望 mail.website.com 处理所有发往 website.com 的邮件,请输入以下内容:

website.com. MX 10 mail.website.com
website.com. MX 20 mail-backup.website.com

这里还有一些额外的事情:

MX 字符串旁边的数字对应于优先级。 第一条记录定义mail.website.com的优先级为 10 ,而第二条记录的优先级为20 这确保了如果由于某种原因 mail.website.com 变得不可用,那么优先级为 20 的第二个条目将接管。

名称解析

当您使用计算机名称连接到某个地方,任何地方会发生以下事情(让我们以 www.pressidium.com 为例):

partiii-dns-in
  1. 您的浏览器或客户端软件使用一个名为 DNS 解析器的软件模块,它会查找您配置的 DNS 服务器(这通常是您的 ISP 为您设置的)
  2. 然后,您的 ISP 的名称服务器检查它是否知道答案,如果不知道,则调用根名称服务器询问谁负责 .com(因为域是 pressidium.com)
  3. 然后,根域名服务器以 .com 的 TLD 域名服务器列表进行响应。
  4. 您的 ISP 名称服务器联系 TLD 名称服务器并询问他们是否知道哪个名称服务器是 pressidium.com 的权威名称服务器。
  5. 最后,您的 ISP NS 联系该域的权威名称服务器,并询问“www.pressidium.com”的 A 记录

这一系列调用称为递归,通常涉及一些服务器端缓存,因此您的 ISP 名称服务器可能不会遇到所有麻烦。

下一步是什么?

前面我们描述了 DNS 和电子邮件的特殊关系。 结束我们的互联网核心技术系列的最后一部分,我们将看看电子邮件。 电子邮件有着悠久的历史; 它经历了很多变化,并在多项竞争技术中幸存下来。 即使是现在,在我们普遍存在的“永远在线”社交互联网文化中,电子邮件对于业务和沟通来说仍然是必不可少的。