什么是 DNS 查找以及 DNS 查找的工作原理

使用互联网(Internet)时听说过“DNS”这个词吗?DNS代表域名系统(Domain Name System)。在我们继续讨论什么是DNS以及DNS查找如何工作之前,让我们了解DNS中的 D代表什么。

什么是域

您知道 Web URL的格式是http:s//www.domainname.tld。在此示例中,TLD (tld) 指的是顶级域。在网络的早期,TLD是以下之一:

  1. .com(指商业组织)
  2. .org(指非营利组织)
  3. .net(又是商业网站)
  4. .gov(政府网站)
  5. .edu(教育)
  6. .mil(军事用途)和
  7. .int(国际)

随着购买网站的人数增加,引入了与位置相关的域类型。例如,.asia.us、.in 和.ca分别指的是亚洲(Asia)、美国、印度(India) 和加拿大(Canada)很快(Soon),其他几种TLD类型的出现,告诉我们网站的类型。例如,.me指的是个人网站,而.tv指的是视频流媒体网站。增加TLD类别可以根据网站类型对网站进行分类,同时满足消费者日益增长的需求。

在上面的URL示例中(https://www.domainname.tld),https指的是数据传输的方式,www表示它与万维网(World Wide Web)有关。wwwTLD之间的任何内容都是网站的域名。

早些时候,人们必须输入www才能访问网站。由于托管服务提供商允许将www.domainname.tld重定向到domainname.tld ,因此您可以在将URL输入浏览器时跳过键入www 。域名的一个例子是“thewindowsclub”。访问域“thewindowsclub”的URL是 https://www.thewindowsclub.com 或 http://thewindowsclub.com。在这里,“ thewindowsclub ”是.com TLD的一部分。然后,可以有子域。对于 www.news.thewindowsclub.com,“ news ”是“ (news)thewindowsclub ”的子域。

当您购买一个域名时,您可以购买一个与不同TLD(TLDs)对应的名称。您可以选择.com.net.us或其他TLD——(TLDs –)前提是它尚未被其他人占用。简单地(Simply)购买一个网站将无济于事,因为人们在获得地址之前无法访问它。对于您购买的任何域,您可以创建任意数量的子域并将其用于网站和其他目的。对于您创建的每个域和子域,您需要指定包含您网站内容的服务器地址。如果域或子域指的是某个设备(例如,网络打印机),则需要指定该设备的地址。

互联网(Internet)上的所有域和子域都附加了一个地址。我们称它们为 IP 地址:Internet 协议(Internet Protocol)地址,或者换句话说,与Internet一起工作的地址。只有知道包含其内容的服务器的 IP 地址,才能访问域/子域。

什么是 DNS

你知道互联网(Internet)上有无限的网站。同样(Again),每个网站都可以有自己的许多子域。记住这些网站的 IP 地址是不可能的。这就是您可以用自己的语言输入域名的原因(使用URL格式——在技术上也称为别名)。(alias)有一个系统可以解析域名,这样您就可以连接到您在URL中提到的网站。该系统帮助您查找您在浏览器中输入的域名的 IP 地址,以便浏览器可以连接到网站。该系统简称为域名系统(Domain Name System)DNS

域名系统,或俗称的 DNS,是一个分布式数据库,其中包含域名到其 IP 地址的映射(Domain Name System, or DNS as it is popularly known, is a distributed database that contains the mapping of domain names to their IP addresses)

直到最近,一个名为InternNIC(InternNIC)的非营利组织 负责管理域名及其 IP 地址。当它“以营利为目的”时,它的垄断就结束了,现在有许多公司管理着与域名相关的数据库。尽管数据库由不同的公司维护,但它们以任何DNS 服务(DNS Service)都可以获取任何域的 IP 地址的方式相互连接。

DNS 服务(DNS Service)可帮助您解析在 Web 浏览器中输入的域名。它还有助于在您发送电子邮件或单击活动链接时解析地址。通常,您的Internet 服务提供商会(Internet Service Provider)为您提供DNS 服务(DNS Service)。除了您的ISP,还有一些公司提供公共域名(Domain Name) 服务(Services)。此类公司的示例包括Google、Comodo和OpenDNS。当您单击链接或在 Web 浏览器中输入URL时,将联系(URL)DNS 服务(DNS Service)以解析相关DNS. DNS服务负责扫描域名系统(Domain Name System)数据库并向您提供您希望连接的主机的 IP 地址。

域名和子域可以称为别名(aliases)。拥有包含不同别名地址信息的数据库的服务器称为名称服务器(Name Servers)域名系统(Domain Name System)中有两种类型的服务器在运行。第一种类型是根服务器(Root Servers)——它们保存有关顶级域(Top Level Domains)TLD:.com、.net 和 .org 等)的数据。其他类型包含托管您的域和子域的服务器的地址。

示例 1:(Example 1:)abc.xyz.com的情况下,根服务器(Root Servers)将保存有关xyz.com的信息。其他一些名称服务器(Server)将包含显示xyz.com地址的数据库条目。由于您还托管abc.xyz.com,因此其地址可以位于保存xyz.com地址的同一(xyz.com)名称(Name)服务器上,也可以位于不同的名称服务器(Server)上。如果您将另一个子域添加到abc.xyz.com,其地址可能再次位于相同或不同的名称服务器上,具体取决于您托管它的位置。上述之间的关系可以建立如下:

xyz com abc xyz.com qwe  xyz.com qwe abc.xyz.com

要建立qwe的地址,域名系统服务(Domain Name System Service)必须解析:

这是域名系统服务(Domain Name System Service)未使用任何缓存的情况。我们将在本文稍后讨论缓存。如上所示,要解析qwe.abc.xyz.com的 DNS,DNS系统需要(DNS)DNS数据库进行四次扫描。鉴于 URL 不同部分的地址(URL)可以位于不同的名称服务器(Servers)上,这变得很复杂。但是由于互联网(Internet)的速度,您可以在几毫秒内看到页面下载,在最坏的情况下,几秒钟。

DNS 查找的工作原理

到目前为止,您知道有不同的服务器托管包含不同域及其子域的 IP 地址的数据库。您还知道,有一些根服务器保存着托管(Root Servers)顶级域(Top Level Domains)的服务器的 IP 地址。这些根服务器(Root Servers)有助于访问包含保存主域名 IP 地址的数据库的服务器。如果有子域,它们的地址可以在与主域名相同的服务器上,也可以在不同的服务器上。所有这些服务器都可以访问以找出您需要使用的确切URL的 IP 地址。(URL)找出Internet上任何(Internet)URL的IP 地址的过程称为DNS抬头。要了解DNS 查找(DNS Lookup)的工作原理,请看以下示例。

示例 2:(Example 2:)考虑一个由十台计算机组成的网络。每台计算机都有自己的地址,这样在网络中传输的数据包就知道要去哪里。第 11 台计算机托管包含这十台计算机中每台计算机的别名及其 IP 地址的数据库。虽然计算机用户可以使用他们的名字来引用计算机,但数据包需要计算机的 IP 地址才能到达预期的接收者。如果计算机A需要使用计算机B所附的打印机,A会查询第11台计算机的数据库知道B的IP地址,然后找出B所附的打印机的地址。只有在获得打印机的地址后,A将打印命令路由到连接到 B 的打印机。

在这种情况下,会发生以下迭代:

A 联系计算机 11
A 联系 B
A 联系打印机连接到 B

类似的方法用于查找DNS记录。例如,当您单击 http://thewindowsclub.com 时,您的路由器将联系您的默认DNS 服务(DNS Service)进行DNS解析。DNS服务将联系根服务器(Root Servers)并询问包含.com记录的服务器的 IP 地址。此地址将发送回您的DNS服务。DNS服务再次到达包含.com域地址的名称服务器(Server),并要求它提供 http://thewindowsclub.com 的地址。在获得托管 thewindowsclub.com 的服务器的 IP 地址后,您的DNS服务会将 IP 地址返回到您的计算机,然后启动您的浏览器以下载主网页。这意味着您的DNS服务正在发送至少两个请求来接收简单域名的 IP 地址。

下图解释了 DNS 查找的工作原理:(Following is an image that explains how DNS lookup works:)

在上述情况下,如果您要查找 https://news.thewindowsclub.com,您的DNS服务必须额外运行一个请求才能知道其 IP 地址。

由于每次从头开始解析DNS都需要时间,因此许多(DNS)ISP(ISPs)DNS 服务提供商会(DNS Service Providers)创建包含已解析地址的本地缓存。这些主要是他们在某个时间点已经从根服务器(Root Servers)和其他名称服务器获取的地址。(Servers)在这种情况下,当您发送 URL 请求时(URL)DNS服务将在其本地DNS缓存中查找URL的解析地址,而不是直接联系(Root)服务器。如果找到,它会立即将解析发送回您的计算机,否则会继续解析DNS使用上述联系根服务器(Root Servers)和其他名称服务器(Servers)的方法。

某些操作系统也包含您在计算机上常用的地址的本地缓存副本。这也有助于节省使用Internet的时间。稍后我们将在另一篇文章中讨论DNS缓存。

如果您对 DNS 查找的工作方式仍有任何疑问,请告诉我们。(Please let us know if you still have any doubts about how DNS lookup works.)



About the author

电话是人们可以拥有和使用的最通用的工具之一。它允许人们与他人交流、访问互联网以及做很多其他事情。使用 iPhone 或 Android 设备,您甚至可以观看视频和下载音乐。手机也非常适合拍照、上网、听音乐等。



Related posts