什么是域名系统?它是如何工作的?

DNS是互联网的电话簿!

计算机通过连接和通信来发送和接收信息,使用数字IP Addresses)。连接到互联网的每个设备都有一个独特的地址作为身份标识,其他设备用于识别和通信。

相比之下,人类使用自己的名称相互交流,这比记住号码更容易打电话给某人。

Domain Name系统(DNS)被引入来弥合人与计算机之间的沟通差距。 DNS将名称解析为数字,将直接的用户友好的域名解析为计算机友好的IP地址。

什么是域名?

域名是识别互联网上特定资源的唯一字符串。它表示当前正在请求的Web应用程序服务器。虽然您可能没有听说过域名,但您可能已经使用了无数个域名。是的!google.comyahoo.comyaoweibin.com等都是域名。

什么是DNS以及为什么需要它?

人们通过域名(如amazon.com、yaoweibin.com等)通过浏览器访问在线信息。但是Web浏览器只通过Internet协议地址(IP地址)进行通信。

DNS通过将提供的域名转换为相应的IP地址来帮助我们,以便浏览器可以加载所请求的资源。

现在,让我们使用一个类比来说明DNS的需求:

如果您想打电话给某人,您首先要拿起电话,然后滚动或搜索保存的联系人列表,然后拨打电话。

即使我们只能通过使用他们的电话号码来打电话给某人,但记住所有联系人的电话号码确实很难。这就是为什么我们在电话簿中使用名称保存移动号码的主要原因。

DNS使用相同的机制,假设它有一个包含IP地址列表和相应域名的数据库。

在今天的世界上,全球范围内有超过15亿个网站。我们在日常生活中使用其中一些。要记住所有网站的IP地址是不可能的。 DNS记住它们以使我们的生活更轻松。

它是如何工作的?

当用户在浏览器中键入URL(域名),比如yaoweibin.com,浏览器需要找到Google的IP地址以连接到它。 从给定的域名中查找IP地址的过程称为DNS解析

计算机通过IP地址识别网站位置,而不是通过域名识别。当您键入yaoweibin.com时,浏览器会进行链接以获取对应的IP地址,然后将我们的请求转发到Geekflare服务器,该服务器会返回Geekflare的主页。

DNS查找发生在Web浏览器的后台,用户键入yaoweibin.com时无需进行任何交互。

要获取网站的IP地址,请在命令提示符或终端中尝试以下命令:

nslookup www.example.com

您可以直接在浏览器中键入此结果中的IP地址。但是有些网站可能已阻止直接访问IP,这样您将无法获得预期的结果。

DNS工作流程

现在,我们已经了解了每次键入域名时都会请求IP地址的情况。让我们看看这个过程是如何发生的。

当在浏览器中输入域名以获取其IP地址时,首先它将在本地缓存中查找。此本地缓存数据可能存储在以下两个位置之一:

  • Web浏览器缓存。
  • 操作系统的缓存。

在寻找IP的DNS查询过程中,当请求的域名没有可用的缓存数据时,一组DNS服务器会协同工作以找到IP地址。

与远程DNS服务器过度通信是一个耗时的过程,会导致性能下降。为了防止这种情况,所得到的IP地址将存储在操作系统缓存、浏览器缓存和DNS解析器缓存中。

DNS服务器的类型

DNS服务器有四种类型:

  • 递归解析器
  • 根域名服务器
  • 顶级域名(TLD)服务器
  • 权威域名服务器

让我们通过协同工作的DNS服务器的例子来看一下它们是如何工作的:

假设你需要一本书,所以你去当地的书店买书,然后联系店主告诉他你想要的书,你充当“客户”,而店主则是“递归解析器”。

然后店主去查看书店的目录(“根域名服务器”),该目录指向不同的书架(“TLDs”)。

找到正确的书架后,他去那个特定的书架(“TLD”)找到完美的书架,书就在那里(“权威域名服务器”),然后找到客户所请求的适当的书。

DNS递归解析器

如果本地缓存数据中没有可用的IP,它将请求转发给称为DNS递归解析器的DNS Recursor。将请求发送给DNS递归解析器以查找IP的方法被称为DNS查询。

DNS递归解析器是一个特殊的服务器,用于接收客户的DNS查询请求,并在需要时进行一些额外的请求,以满足所请求的客户。

它通常是您的互联网服务提供商(ISP)的DNS服务器。

图片由Varonis提供

由您的ISP提供的这些DNS服务器也会在其数据库中具有缓存。如果给定域的预期IP在缓存中,它将简单地提供给请求的客户端。

否则,以下步骤用于查找IP:

  • DNS递归解析器将请求发送给根域名服务器(“DNS递归解析器→根域名服务器”)
  • 根域名服务器将没有域名的IP信息,但它会提供对应的TLD服务器的信息,这可以帮助我们找到它(“根域名服务器→DNS递归解析器”)
  • 现在,递归解析器向TLD服务器请求提供的域的IP(“DNS递归解析器→TLD服务器”)
  • TLD服务器将提供相应的权威域名服务器的信息,该服务器具有IP地址,并且它是DNS查询的最后一站(“TLD服务器→DNS递归解析器”)
  • 此时,递归解析器向权威域名服务器请求域名的IP地址(“DNS递归解析器→权威域名服务器”)
  • 最后,权威域名服务器找到给定域名的IP地址,并将其发送给递归解析器(“权威域名服务器→DNS递归解析器”)
  • 最后,递归解析器将结果存储在其缓存数据库中,并将IP地址发送回请求的客户端(“DNS递归解析器→客户端”)

根域名服务器

根域名服务器(也称为“.”域名服务器)是域名转换过程中的第一步。假设收到的请求是www.google.com,现在根域名服务器将搜索适当的.com顶级域名服务器,并将该TLD服务器的IP发送给递归解析器。

根域名服务器位于域名层次结构的顶部。递归解析器不知道如何将请求分派给根服务器。

因此,每个递归解析器都配置了一个包含13个IP根服务器地址的列表。每当进行DNS查找时,递归解析器的第一个通信将与这13个地址之一进行。

图片来源:netnod

全球共有1300多个根服务器,由12个不同的组织运营。但只能通过这13个数字地址访问它们。

由于只有13个根服务器IP地址,所以任何单个位置在任何给定时间只能看到13个根名称服务器。

顶级域名服务器

顶级域名服务器维护共享相同扩展名的所有链接的信息。这是DNS查询的第二步。

随后,TLD服务器将检查来自DNS递归器的接收到的域名(google.com),并搜索适当的授权域名服务器。

在找到google.com的授权服务器后,它将返回其IP地址给DNS递归器。

存在不同类型的链接,其中一些是:

  • gTLD – 通用顶级域名(.com,.net,.org等)
  • ccTLD – 国家代码顶级域名(.in,.us,.uk等)
  • sTLD – 赞助的顶级域名(.edu,.gov等)

授权域名服务器

授权域名服务器包含特定域的信息。它是DNS查询过程的最后一站。

授权服务器被要求提供域的A记录(代表“地址”记录),其中包含服务器的IP地址,该服务器上有所请求的链接。

如果它拥有所请求域记录的信息,它将将其IP地址返回给递归器,进而将其返回给请求的客户端。

结论

域名系统是互联网的重要方面之一。它是连接到互联网的第一步。它不仅确保互联网用户友好,而且还有助于高效加载所请求的内容。

如果没有DNS,在我们生活在无数网站的互联网世界中,这将是一个沉重的负担。

类似文章