域名服务器 (DNS) 如何工作

作者:Marshall Brain, Nathan ChandlerStephanie Crawford  | 
worker draws DNS diagram
一名IT工作者在数字白板上绘制域名系统 (DNS) 的图表。 GodfriedEdelman/Getty Images

互联网和万维网是狂野的前沿,它们依赖计算机语言、代码和网络浏览器来查找和共享数据信息。互联网最基本的工具之一是域名系统,或称 DNS。(尽管许多人认为“DNS”代表“Domain Name Server”,但它实际上代表“Domain Name System”。)

DNS 是 TCP/IP 协议套件中关于计算机如何在互联网和许多私有网络上交换数据的一套标准中的一个协议。其作用至关重要,因为它有助于将易于理解的域名(如“十万个为什么.com”)转换为互联网协议 (IP) 地址,例如 70.42.251.42,计算机使用该地址在网络上相互识别。简而言之,它是一个将名称与数字匹配的系统。

广告

DNS 概念就像互联网的电话簿。如果没有这种寻路系统,你将不得不求助于更复杂和深奥的方式来筛选散布在全球互联网上的虚拟开放平原和密集数据城市……你可以打赌,那将不会那么有趣,特别是因为现在有数亿个域名[来源:VeriSign]。

没有 DNS 服务器,互联网很快就会关闭。但是你的电脑怎么知道使用哪个 DNS 服务器呢?通常,当你连接到家庭网络、互联网服务提供商 (ISP) 或 WiFi 网络时,为你的电脑分配网络地址的调制解调器或路由器也会向你的电脑或移动设备发送一些重要的网络配置信息。该配置包括一个或多个 DNS 服务器,设备在将 DNS 名称转换为 IP 地址时应使用这些服务器。

到目前为止,你已经了解了一些重要的 DNS 基础知识。本文的其余部分将深入探讨域名服务器和名称解析。它甚至包括如何管理你自己的 DNS 服务器的介绍。让我们从 IP 地址的结构以及它对名称解析过程的重要性开始。

广告

DNS 服务器和 IP 地址

你刚刚了解到域名服务器,或 DNS 服务器,的主要工作是将(解析)域名转换为 IP 地址。这听起来是一个简单的任务,而且确实如此,除非遇到以下几点:

  • 目前有数十亿个IP 地址正在使用中,并且大多数机器也有一个人类可读的名称。
  • DNS 服务器(累计)在任何给定时间都在处理互联网上数十亿次 DNS 查询。
  • 每天有数百万人正在添加和更改域名和 IP 地址。

处理如此多的数据,DNS 服务器依赖网络效率和互联网协议。IP 的有效性部分在于网络上的每台机器在由互联网号码分配机构 (IANA) 管理的 IPV4 和 IPV6 标准中都拥有唯一的 IP 地址。以下是识别 IP 地址的一些方法:

广告

  • IPV4 标准中的 IP 地址由四个数字和三个小数点分隔,例如:70.74.251.42
  • IPV6 标准中的 IP 地址由八个十六进制数(基数-16)用冒号分隔,例如 2001:0cb8:85a3:0000:0000:8a2e:0370:7334。由于 IPV6 仍然是一个非常新的标准,本文将重点关注更常见的 IPV4。
  • IPV4 数字中的每个数字都称为“八位字节”,因为它是在路由网络流量时使用的 8 位二进制(基数-2)数字的十进制等效值。例如,写成 42 的八位字节表示 00101010。二进制数字中的每个数字都代表从右到左的 2 的某个幂,从 2^0 到 2^7。这意味着在 00101010 中,你有一个 2^1、一个 2^3 和一个 2^5。因此,要获得十进制等效值,只需将 2^1 + 2^3 + 2^5 = 2 + 8 + 32 = 42 相加。
  • 每个八位字节的值只有 256 种可能性:数字 0 到 255。
  • 某些地址和范围被 IANA 指定为保留 IP 地址,这意味着它们在 IP 中有特定的作用。例如,IP 地址 127.0.0.1 保留用于标识你当前使用的计算机。因此,与 127.0.0.1 通信就是自言自语[来源:Cisco, Lammele]。

网络服务器和其他需要持续联系点的计算机使用静态 IP 地址。这意味着当系统在线时,相同的 IP 地址始终分配给该系统的网络接口。为了确保该接口始终获得相同的 IP 地址,IP 将该地址与该网络接口的媒体访问控制 (MAC) 地址相关联。每个网络接口,无论是有线的还是无线的,都有制造商嵌入的唯一 MAC 地址。

现在,让我们看看 DNS 方程的另一面:域名。

广告

域名

Amazon.co.uk logo
亚马逊英国站的标志显示在一个亚马逊纸箱邮寄信封上。Amazon.co.uk 是亚马逊在英国的域名。 nkbimages/Getty Images

如果我们要记住所有我们最喜欢的网站的IP 地址,我们可能会疯掉!人类不擅长记住一串数字。然而,我们擅长记住单词,这就是域名的用武之地。你可能脑子里存着数百个域名,例如:

  • 十万个为什么.com — 我们最喜欢的域名
  • google.com — 世界上使用最多的域名之一
  • mit.edu — 一个受欢迎的 EDU 域名
  • bbc.co.uk — 一个使用国家代码 UK 的三部分域名

你会发现域名是由点号(句点)分隔的字符串组成。域名中的最后一个单词代表顶级域。这些顶级域由 IANA 在所谓的根区域数据库中控制,我们稍后会更仔细地研究它[来源:IANA]。顶级域有 1000 多个,以下是一些最常见的:

广告

  • COM — 商业网站,但对所有人开放
  • NET — 网络网站,但对所有人开放
  • ORG — 非营利组织网站,但对所有人开放
  • EDU — 仅限于学校和教育机构
  • MIL — 仅限于美国军方
  • GOV — 仅限于美国政府
  • US、UK、RU 和其他两位字母的国家代码 — 每个都分配给各自国家的域名管理机构

在一个域名中,你在顶级域之前添加的每个单词和点号组合都表示域结构中的一个级别。每个级别都指向管理该域级别的一个或一组服务器。例如,我们域名中的“十万个为什么”是 COM 顶级域下的二级域。

一个组织可能拥有子域层次结构,进一步组织其互联网存在,例如“bbc.co.uk”,这是 BBC 在 CO 下的域名,CO 是负责英国国家代码的域名管理机构创建的额外级别。

域名中最左边的词,例如 www 或 mail,是主机名。它指定了域中特定机器(具有特定 IP 地址)的名称,通常专用于特定目的。一个给定的域理论上可以包含数百万个主机名,只要它们在该域中都是唯一的。

“http”部分代表超文本传输协议,是用户向其访问的网站发送信息的协议。如今,你更可能看到“https”,这表示信息正在通过安全协议发送,其中信息是加密的。如果你向网站提供信用卡号,这一点尤其重要[来源:EasyNews]。

稍后,当我们了解如何创建域名时,我们将看到注册域名的一部分要求识别一个或多个名称服务器(DNS 服务器),这些服务器有权解析该域名中的主机名和子域。通常,你将通过托管服务来完成此操作,托管服务拥有自己的 DNS 服务器。接下来,我们将了解这些 DNS 服务器如何管理你的域,以及互联网上的 DNS 服务器如何协同工作,以确保流量在 IP 地址之间正确路由。

广告

分布式系统

Website address
域名地址中的“www”代表“World Wide Web”,意味着您正在网上寻找内容(而不是互联网的另一部分,比如邮件)。在地址中包含这三个字母的重要性已不如从前。 Hemera Technologies/Getty Images

每个域名都有一个域名服务器处理其请求,并且有一个人员或IT团队维护该DNS服务器数据库中的记录。地球上没有其他数据库像DNS服务器一样接收如此多的请求,它们在处理所有这些查询的同时,每天还要处理来自数百万人的数据更新。这是DNS最令人惊叹的部分之一——它完全分布在全球数百万台机器上,由数百万人在管理,然而它却像一个单一的、集成的数据库一样运行!

由于管理 DNS 似乎是一项艰巨的任务,大多数人倾向于将其交给 IT 专业人员。然而,通过学习一些关于 DNS 如何工作以及 DNS 服务器如何分布在互联网上的知识,你可以自信地管理 DNS。首先要知道的是 DNS 服务器在其所在网络上的目的。DNS 服务器将以下列其中一项作为其主要任务:

广告

  • 维护一个包含其网络上最常用域名和 IP 地址的小型数据库,并将所有其他名称的名称解析委托给互联网上的其他 DNS 服务器。
  • 将 IP 地址与该 DNS 服务器具有权限的所有主机和子域进行配对。
DNS servers routing requests
当您在网页浏览器中输入URL时,您的DNS服务器会利用其资源将该名称解析为相应网页服务器的IP地址。
©十万个为什么.com

执行第一项任务的 DNS 服务器通常由你的互联网服务提供商 (ISP) 管理。如前所述,ISP 的 DNS 服务器是你一上线就会从 DHCP 获取的网络配置的一部分。这些服务器位于你 ISP 的数据中心,它们按如下方式处理请求:

  • 如果其数据库中有名和 IP 地址,则自行解析该名称。
  • 如果其数据库中没有域名和 IP 地址,则会联系互联网上的另一个 DNS 服务器。它可能需要多次执行此操作。
  • 如果它必须联系另一个 DNS 服务器,它会缓存查找结果有限的时间,以便能够快速解析后续对相同域名的请求。
  • 如果在合理搜索后仍无法找到域名,它将返回错误,表明该名称无效或不存在。

上面提到的第二类 DNS 服务器通常与网络、邮件和其他互联网域名托管服务相关联。尽管一些核心 IT 高手会设置和管理自己的 DNS 服务器,但托管服务已使 DNS 管理对技术水平较低的用户来说容易得多。

管理特定域名的 DNS 服务器被称为该域名的授权起始点 (SOA)。随着时间的推移,从 SOA 查找主机的结果将传播到其他 DNS 服务器,然后这些服务器又传播到其他 DNS 服务器,如此在整个互联网中传播。

这个庞大的 DNS 服务器网络包括根域名服务器,它们位于给定顶级域的域名层次结构的顶部。每个顶级域都有数百个根域名服务器可供选择。虽然 DNS 查找不一定非要从根域名服务器开始,但它们可以将根域名服务器作为最后的手段,以帮助追踪域名的 SOA。

现在你已经了解了 DNS 服务器如何相互连接以改进名称解析过程,接下来让我们看看如何配置 DNS 服务器以使其成为你的域名的权威。

广告

创建新域名

person shopping online
如果你是一个购物网站,拥有一个易记的域名非常重要。 skaman306/Getty Images

当您想创建一个新域名时,您需要执行以下操作:

  • 使用 Whois 数据库查找尚未注册的唯一域名。有几个网站提供免费的 Whois 数据库查询服务,例如 Network Solutions。如果查询结果为空,则表示该域名可用。
  • 向注册商注册域名。注册商有很多选择,有些提供特殊价格,例如同时注册一个域名的COM、NET和ORG版本,或者注册两年或两年以上,或者将域名与同一公司进行托管。
  • 如果您在与注册商不同的公司托管域名,请将注册商配置为将您的域名指向您的托管公司的正确主机名或IP 地址(请参阅下方有关 A 记录的信息)[来源:Wilson 和 Randall]。

无论您的 SOA 在其他地方还是在您自己的系统上,您都可以扩展和修改您的 DNS 设置以添加子域、重定向电子邮件和控制其他服务。这些信息保存在 DNS 服务器上的区域文件中。如果您运行自己的服务器,您可能需要手动在文本编辑器中编辑区域文件。现在许多注册商都有一个网络界面,您可以使用它来管理您域名的 DNS。您添加的每个新配置都称为记录,以下是您可以为 DNS 服务器配置的最常见的记录类型[来源:GoDaddy.com]。

广告

  • 主机 (A) — 这是 IP 地址到主机名的基本映射,是任何域名的基本组成部分。
  • 规范名称 (CNAME) — 这是您域名的别名。任何访问该别名的人都将自动被定向到 A 记录中指示的服务器。
  • 邮件交换器 (MX) — 这将电子邮件流量映射到特定的服务器。它可以指示另一个主机名或 IP 地址。例如,使用 Google 作为其域的电子邮件的人将创建一个指向 ghs.google.com 的 MX 记录。
  • 名称服务器 (NS) — 这包含区域的名称服务器信息。如果您配置此项,您的服务器将让其他 DNS 服务器知道您的服务器是您域的最终权威(SOA),用于缓存来自世界各地其他 DNS 服务器的域查找信息。
  • 授权起始点 (SOA) — 这是每个区域文件开头的一个较大记录,包含该区域的主名称服务器和一些其他信息。如果您的注册商或托管公司正在运行您的 DNS 服务器,您无需管理此项。如果您正在管理自己的 DNS,可以参考这篇关于 DNS SOA 记录结构的文章,了解如何操作[来源:Burch]。

以下是一个区域文件对于那些直接在文本编辑器中编辑它的人来说可能的样子。请注意,中间列(每行第二个项目)包含上述记录类型之一。当您在左列看到“@”时,这意味着该记录适用于所有未另行指定的情况。

@ NS auth-ns1.十万个为什么.com

@ NS auth-ns2.十万个为什么.com

@ MX 10 mail

mail A 209.170.137.42

vip1 A 216.183.103.150

www CNAME vip1

典型用户可能会最常用到 MX 和 CNAME 记录。如果您选择为您的域使用像 Google Apps 这样的服务,MX 记录允许您将您的邮件服务指向托管公司以外的其他地方。CNAME 记录允许您将域的主机名指向各种其他位置。这可能包括设置 google.example.com 重定向到 google.com,或者设置一个拥有自己 IP 地址的专用游戏服务器并将其指向类似 gameserver.example.com 的地址。

广告

DNS 在不断发展

您应该明白,DNS 并非一个静态概念。在 2018 年末,ICANN 最终推出了 DNS 的新安全功能。简而言之,这些更改影响了域名系统安全扩展 (DNSSEC) 协议中使用的加密密钥,技术人员称之为根区密钥签名密钥 (KSK)。ICANN 表示,这些安全改进是必要的,因为网络正在快速变化和扩展,部分原因是物联网,它将数百万个新的互联设备带入互联网的范畴[来源:Cooney]。

这些安全措施非常重要,因为犯罪分子黑客经常试图利用DNS系统窃取个人信息或简单地制造混乱,例如在DNS劫持等攻击中。这意味着防御型计算机用户和IT专业人员都必须及时了解预防措施,以防止DNS投毒攻击和拒绝服务攻击等[来源:Greenberg]。

广告

DNS 常见问题

DNS 是什么?
DNS 代表域名系统,被认为是互联网的电话簿。DNS 将 URL 与正确的 IP 地址连接起来。
DNS 有什么作用?
DNS 提供了一种将 URL 与特定网站的 IP 地址匹配的方法。
我可以使用 8.8 8.8 DNS 吗?
这是谷歌的公共 DNS 服务器,基本意味着谷歌是 DNS 的提供商,并负责该服务的维护。互联网上的任何人都可以使用这个 DNS。
切换你的 DNS 安全吗?
将 DNS 设置更改为 OpenDNS 服务器被认为是安全的,完全可逆,并且不会损害网络或电脑。
DNS 在您的手机上意味着什么?
与互联网的每一次连接都依赖于 DNS,这也包括您的手机。要在您的手机上启用私人 DNS,请前往“设置”>“网络和互联网”>“高级”>“私人 DNS”> 输入您的私人 DNS 服务网址作为主机名,然后点击保存。

更多信息

相关文章

更多精彩链接

  • Bluehost Web Hosting。“停放域名定义。” https://my.bluehost.com/hosting/help/79 (2018年11月5日)
  • Chirgwin, Richard。“‘囚犯们接管了疯人院’:DNS教父痛批通过HTTPS采用DNS。”The Register。2018年10月23日。(2018年11月5日) https://www.theregister.co.uk/2018/10/23/paul_vixie_slaps_doh_as_dns_privacy_feature_becomes_a_standard/
  • Cisco。“面向新用户的 IP 定址和子网划分。”2016年8月10日。https://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/13788-3.html (2018年11月5日)
  • Cooney, Michael。“ICANN 的互联网 DNS 安全升级似乎顺利进行。”Network World。2018年10月12日。(2018年11月5日) https://www.networkworld.com/article/3313341/internet/icanns-internet-dns-security-upgrade-apparently-goes-off-without-a-glitch.html
  • GoDaddy.com。“帮助:什么是区域文件和区域记录?” GoDaddy.com, Inc.,2011年5月5日。(2018年11月5日)
  • GoDaddy.com。“管理 DNS 区域文件。” https://www.godaddy.com/help/manage-dns-zone-files-680 (2018年11月5日)
  • Greenberg, Andy。“黑客词典:什么是 DNS 劫持?”Wired。2017年9月4日。https://www.wired.com/story/what-is-dns-hijacking/ (2018年11月5日)
  • InterNIC。“关于域名、注册商和注册的 InterNIC 常见问题。”InterNIC。互联网名称与数字地址分配机构。2003年9月25日。(2018年11月5日) http://www.internic.net/faqs/domain-names.html (2018年11月5日)
  • IT Geared。“什么是 DNS 中的 SOA 记录?”2011年10月28日。http://www.itgeared.com/articles/1132-what-is-soa-record-in-dns/ (2018年11月5日)
  • Lammele, Todd。“了解你的 IP 地址。”Tech Republic。2001年5月3日。https://www.techrepublic.com/article/getting-to-know-your-ip-addresses/ (2018年11月5日)
  • Modi, Archit。“如何在 Linux 中查找您的 IP 地址。”OpenSource.com。2018年5月17日。https://open-source.net.cn/article/18/5/how-find-ip-address-linux (2018年11月5日)
  • Morgenroth, Sven。“HTTPS 上的 DNS 的优缺点。”Security Boulevard。2018年11月1日。https://securityboulevard.com/2018/11/pros-and-cons-of-dns-over-https/ (2018年11月5日)
  • Price, David。“如何查找您的 Mac 的 IP 地址。”MacWorld。2018年4月24日。https://www.macworld.co.uk/how-to/mac/mac-ip-address-3676112/ (2018年11月5日)
  • Rusen, Ciprian。“在 Windows 中查找 IP 地址的 8 种方法(所有版本)。”Digital Citizen。2017年12月6日。https://www.digitalcitizen.life/find-ip-address-windows (2018年11月5日)
  • SecurityTrails.com。“预防 DNS 攻击的 8 个技巧。”2018年7月4日。https://securitytrails.com/blog/8-tips-to-prevent-dns-attacks (2018年11月5日)
  • Verisign。“Verisign 域名行业简报。”2018年。https://www.verisign.com/en_US/domain-names/dnib/index.xhtml (2018年11月5日)
  • Wilson, Jeffrey 和 Randall, Neil。“如何为您的网站注册域名。”PC Mag。2018年7月27日。https://www.pcmag.com/article2/0,2817,33918,00.asp (2018年11月5日)

广告

正在加载中...