DNS 查询:域名如何被解析为 IP 地址

简介: 在网页和页面资源加载之前,DNS 必须被解析为 IP 地址,然后浏览器才能建立 TCP 连接来发起 HTTP 请求。除此以外,对于每个使用 URL 引用的外部资源,DNS 解析必须在发起 HTTP 请求之前完成相同的解析步骤(针对每个域名)。当用户在浏览器地址栏输入 URL 地址并敲下回车时 DNS 解析过程就开始。此时,浏览器向操作系统请求特定页面,在例子中即为 google.com 。

在 Catchpoint 我们认为快速的 DNS (Domain Name Server)解析像内容一样重要。DNS 负责将域名( www.google.com ) 解析为 IP 地址供浏览器使用。该系统是网页性能的基础,然而大多数人并不完全理解它是如何工作的。因此,为了帮你更好的理解网站可用性及性能,我们会发布一系列博客文章,从基础知识开始,来阐明有时复杂的 DNS 世界。

为了简单期起见,本文假设不存在 DNS 缓存。因此,这是最差的场景。我们会在未来的文章中讨论 DNS 缓存。

在网页和页面资源加载之前,DNS 必须被解析为 IP 地址,然后浏览器才能建立 TCP 连接来发起 HTTP 请求。除此以外,对于每个使用 URL 引用的外部资源,DNS 解析必须在发起 HTTP 请求之前完成相同的解析步骤(针对每个域名)。当用户在浏览器地址栏输入 URL 地址并敲下回车时 DNS 解析过程就开始。此时,浏览器向操作系统请求特定页面,在例子中即为 google.com 。

  1. OS 向 DNS Resolver 发起 递归查询

因为操作系统并不知道 www.google.com 是什么,它向 DNS Resolver 发起请求。操作系统向 DNS Resolver 发起的请求带有特殊的标记表明它是一个 递归查询。这意味着 DNS Resolver 必须完成递归且响应必须为 IP 地址或错误。

对大多数用户而言,他们的 DNS Resolver 由他们的 ISP (网络运营商提供)。或者使用一个开源替代方案,比如:Google DNS(8.8.8.8) 或者 OpenDNS(208.67.222.222)。可以在你的网络或路由器配置查看或配置。此时,DNS Resolver 执行一个递归步骤来将域名解析为 IP 地址。

  1. DNS Resolver 向根服务器发起 迭代查询

Resolver 从向 一个 根 DNS Server 请求 www.google.com 的 IP 地址开始。该请求并不包含递归标记,因此是一个迭代请求,意味着它的响应必须是一个地址,权威名称服务器地址或错误。根域在域名最后以隐藏的"."表示。不需要额外输入“.”,浏览器会自动加上。

有 13 个名为 A-M 根服务器集群, 服务器分布在 380 个地区。他们被 12 个不同的组织管理,并汇报给 IANA(Internet Assigned Numbers Authority) ,比如:Verisign 管理着 A 和 J 集群。所有的服务器都是 IANA 运行的一个主服务器的副本。

  1. 根服务器响应

这些根服务器拥有所有顶级域名(TLDs)的位置,如 .com、.de、.io,以及较新的通用顶级域名,如 .camera。

根域并没有 "www.google.com" 的 IP 信息,但是它知道 .com 可能知道,所以它返回 .com 服务器的位置。根域返回 13 个 .com 的 gTLD 服务器的位置列表,以 NS 或者 name server 记录形式列出。

  1. DNS Resolver 向 TLD 服务器发起 迭代查询

下一步 resolver 请求向其中一个 .com 名称服务器请求 google.com 的位置。就像根服务器一样,每个顶级域名都有 4-13 集群的名称服务器存在于多个位置。有两种类型的顶级域名(TLD): 由政府组织管理的国家代码(ccTLD, Country Code Top Level Domain),以及通用域名(gTLD, Generic Top Level Domain)。每个通用顶级域名都有一个不同的商业实体负责运行这些服务器。在当前的例子中,我们将使用由 Verisign 负责运行 gTLD 服务器,Verisign 负责管理通用顶级域名中的 .com, .net, .edu, .gov。

  1. TLD 服务器响应

每个 TLD 服务器有 TLD 中每个域名的所有权威名称服务器列表。例如, 13 个 .com 的 gTLD 服务器中的每个服务器都有每个 .com 域名 的所有名称服务器列表。.com 的 gTLD 服务器并没有 google.com 的 IP 地址,但是知道 google.com 的名称服务器。.com 的 gTLD 服务器响应一个包含所有 google.com NS 记录的列表。当前例子中 Google 有 4 个名称服务器, 从 ns1.google.com 到 ns4.google.com。

  1. DNS Resolver 向 Google.com NS 发起 迭代查询

最终, DNS resolver 向 Google 其中一个名称服务器请求 www.google.com 的 IP 地址。

  1. Google.com NS 响应

这次被请求的名称服务器知道 IP 地址, 并分别针对 IPv4 和 IPv6(取决于请求类型) 返回 A 或 AAAA 记录。

  1. DNS Resolver 响应 OS

此时, resolver 完成了递归步骤并可以给最终用户的操作系统返回一个 IP 地址。

  1. 浏览器发起 TCP 握手

此时操作系统已经拿到 www.google.com 的 IP 地址,将其提供给应用程序(浏览器),浏览器初始化 TCP 连接开始加载页面。关于该过程的更多信息,我们写了一篇博客 剖析 HTTP。

如前所述,就完成解析的时长而言,这是最糟糕的情况。就大多数情况而言,如果用户最近访问过相同域名的 URL , 或者其他依赖相同 DNS resolver 的用户发起过类似请求,将不需要 DNS ,或将限制在本地 DNS 解析器上的查询。 我们将在后续文章讨论这个问题。

在这种没有 DNS 缓存的情况下,涉及 4 套 DNS 服务器,所以可能会出现很多问题。最终用户并不知道幕后发生了什么;他们只是等待页面加载,所有 DNS 查询必须在浏览器请求前发生。

这就是为什么我要抢到快速 DNS 的重要性。你可以有一个快速且后见良好的站点,但如果你的 DNS 很慢,你的网页将依然响应缓慢。

目录
打赏
0
0
0
0
77
分享
相关文章
域名解析的终极指南:从基础到进阶,彻底搞懂 DNS 记录
域名解析是网站运行的基础,正确配置DNS记录至关重要。本文从基础到进阶全面解析DNS知识,涵盖A、AAAA、CNAME、MX、TXT、CAA等常见记录类型及其应用场景。通过学习,你将了解DNS的工作原理,掌握如何优化域名配置,确保网站与邮件服务高效运行。无论搭建个人博客还是企业官网,本文都能助你轻松搞定域名解析!
622 0
DNS+:互联网的下一个十年,为什么域名系统正在重新定义数字生态? ——解读《“DNS+”发展白皮书(2023)》
DNS+标志着域名系统从基础寻址工具向融合技术、业态与治理的数字生态中枢转变。通过与IPv6、AI和区块链结合,DNS实现了智能调度、加密传输等新功能,支持工业互联网、Web3及万物互联场景。当前,中国IPv6用户达7.6亿,全球DNSSEC支持率三年增长80%,展现了其快速发展态势。然而,DNS+仍面临安全威胁、技术普惠瓶颈及生态协同挑战。未来,需推动零信任DNS模型、加强威胁情报共享,并加速标准制定,以筑牢数字时代网络根基,实现更安全、高效的数字生态建设。
71 2
|
2月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
105 26
减少域名dns解析时间
域名解析中的TTL值设置多少合适
349 5
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
新手上云教程参考:阿里云服务器租用、域名注册、备案及域名解析流程图文教程
对于想要在阿里云上搭建网站或应用的用户来说,购买阿里云服务器和注册域名,绑定以及备案的流程至关重要。本文将以图文形式为您介绍阿里云服务器购买、域名注册、备案及绑定的全流程,以供参考,帮助用户轻松上手。
没有域名只有IP地址怎么申请https证书?
IP 地址 SSL 证书是一种特殊的 SSL/TLS 证书,允许直接为 IP 地址配置 HTTPS 加密,适用于内部服务、私有网络和无域名的设备管理。与基于域名的证书不同,申请过程较为复杂,需选择支持 IP 的证书颁发机构(CA),并完成额外的身份验证步骤。浏览器对 IP 地址的支持有限,可能会显示警告。通过正确配置服务器(如 Nginx 或 Apache),可以确保通信安全。
无需域名,如何通过IP地址申请SSL证书保障网站安全
SSL证书不仅适用于域名,还可为IP地址申请,确保无域名或局域网内数据传输安全。本文详解如何为IP地址申请SSL证书:选择支持的CA机构(如JoySSL),完成注册、验证并安装证书。特别适合没有域名、开发测试环境及局域网应用等场景。虽价格较高且供应商较少,但在特定需求下是有效解决方案。
阿里云服务器租用、注册域名、备案及域名解析完整流程参考(图文教程)
对于很多初次建站的用户来说,选购云服务器和注册应及备案和域名解析步骤必须了解的,目前轻量云服务器2核2G68元一年,2核4G4M服务器298元一年,域名注册方面,阿里云推出域名1元购买活动,新用户注册com和cn域名2年首年仅需0元,xyz和top等域名首年仅需1元。对于建站的用户来说,购买完云服务器并注册好域名之后,下一步还需要操作备案和域名绑定。本文为大家展示阿里云服务器的购买流程,域名注册、绑定以及备案的完整流程,全文以图文教程形式为大家展示具体细节及注意事项,以供新手用户参考。
阿里云SSL证书不同类型DV、OV和EV如何收费?单域名和通配符SSL价格整理
阿里云SSL证书提供免费和收费版本,涵盖DV、OV、EV多种类型。收费证书品牌包括DigiCert、GlobalSign等,价格从238元/年起。免费SSL证书由Digicert提供,单域名有效3个月,每个实名主体每年可领取20个。具体价格和详情见阿里云SSL官方页面。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问