深入学习 DNS 域名解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。

一、前言

在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。

二、DNS 是什么

DNS(域名系统 Domain Name System),它是一个记录域名和Ip地址相互映射的一个系统,是互联网的“电话簿”,负责将人类可读的域名(如 example.com)转换为机器可识别的 IP 地址(如 127.0.0.1)。

其核心功能就是域名解析,能够将用户访问互联网时使用的域名地址转换成对应的IP地址。正向解析:将域名转换为 IP 地址; 反向解析:将 IP 地址转换为域名。 通过域名得到域名对应的IP地址的过程被称为域名解析。DNS运行在 UDP 协议之上,使用的端口为53。

三、DNS 分层结构

DNS 是一个树状分层系统,分为以下层级:

  1. 根域名服务器.):全球 13 组,管理顶级域(如 .com)。
  2. 顶级域服务器(TLD,如 .com.org):管理二级域名(如 google.com)。
  3. 权威域名服务器:由域名注册商或用户自行管理,存储具体域名的记录(如 AMX)。

详细结构:

主机名.次级域名.域名.根域名

host.sld.tld.root

主机名 次级域名 顶级域名 根域名
host. sld. tld. root

如上图所示,域名结构是树状结构,树的最顶端代表根服务器,根的下一层就是由我们所熟知的.com、.net、.cn等通用域和.cn、.uk等国家域组成,称为顶级域。网上注册的域名基本都是二级域名,比如google.com、baidu.com等等二级域名,它们基本上是归企业和运维人员管理。接下来是三级或者四级域名,这里不多赘述。总体概括来说域名是由整体到局部的机制结构。

四、常见 DNS 记录类型

记录类型 用途 示例
A 域名 → IPv4 地址 example.com → 1.1.1.1
AAAA 域名 → IPv6 地址 example.com → 2001:db8::1
CNAME 域名别名(指向另一个域名) www.example.com → test.example.com
MX 邮件服务器地址 example.com → mail.example.com
TXT 文本信息(如 SPF、DKIM 配置) "v=spf1 include:_spf.google.com ~all"
NS 指定域名的权威 DNS 服务器 example.com → ns1.example-dns.com
PTR IP → 域名(反向解析) 1.1.1.1 → example.com
SOA 域名的权威起始记录(管理信息) 包含主 DNS 服务器、管理员邮箱等

五、DNS 解析流程

如上图所示,详细阐述 DNS 解析流程:

1、首先客户端位置是一台电脑或手机,在打开浏览器以后,输入 http://www.zdns.cn\
,它首先是由浏览器发起一个 DNS 解析请求,如果本地缓存服务器中找不到结果,则首先会向根服务器查询,根服务器里面记录的都是各个顶级域所在的服务器的位置,当向根请求 http://www.zdns.cn 的时候,根服务器就会返回 .cn 服务器的位置信息。

2、​​​​​​递归服务器拿到 .cn 的权威服务器地址以后,就会寻问 cn 的权威服务器,知不知道 服务器的地址。

3、继续向 http://zdns.cn 的权威服务器去查询这个地址,由 http://zdns.cn 的服务器给出了地址:202.173.11.10

4、最终才能进行http的链接,顺利访问网站。

5、补充说明,一旦递归服务器拿到解析记录以后,就会在本地进行缓存,如果下次客户端再请求本地的递归域名服务器相同域名的时候,就不会再这样一层一层查了,因为本地服务器里面已经有缓存了,这个时候就直接把 http://www.zdns.cn 的A记录返回给客户端就可以了。

六、DNS 服务类型

常见的 DNS 服务器就是两种:权威解析服务器和递归解析服务器,递归解析服务器也可以叫做localDNS。

权威解析服务器

DNS 权威服务器保存着域名空间中部分区域的数据。如果 DNS 服务器负责管辖一个或多个区域时,称此 DNS 服务器为这些区域的权威服务器。

根权威 DNS 或者二级权威服务器中的资源记录标记被指定为区域权威服务器的 DNS 服务器。通过资源记录中列出服务器,其他服务器就认为它是该区域的权威服务器。这意味着在 NS 资源记录中指定的任何服务器都被其他服务器当作权威的来源,并且能肯定应答区域内所含名称的查询。

递归服务器

递归服务器在正常情况下,初始的时候里面没有任何域名解析数据,里面所有的域名解析数据都来自于它到权威解析服务器的查询结果,一旦查询完毕,递归服务器就会根据TTL时间在本地形成一条缓存记录,并为用户提供DNS解析的查询服务,这是递归服务器的功能。

七、DNS 查询方式

DNS 的查询方式有两种,分为递归查询(recursion)和迭代查询(iteration)。

递归查询

客户端发起一个DNS解析请求,若本地DNS服务器若不能为客户端直接解析域名,则域名服务器会代替客户端(下级服务器)向域名系统中的各分支的上下级服务器进行递归查询,直到有服务器响应回答了该请求后,将该请求结果返回客户端。在此期间,客户端将一直处于等待状态。

迭代查询

客户端(下级服务器)发起一个DNS解析请求后,若上级DNS服务器并不能直接提供该DNS的解析结果,则该上级DNS服务器会告知客户端(下级服务器)另一个可能查询到该DNS解析结果的DNS服务器IP,客户端(下级服务器)再次向这个DNS服务器发起解析请求,如此类推,直到查询到对应的结果为止。

通常递归查询这种方式用于PC机与本地DNS服务器之间的查询,而迭代查询则多用于DNS服务器之间的查询,如下图:

总结

DNS 域名解析是互联网基础服务的重要组成部分,通过易记的名称简化了网络资源的访问。了解DNS 解析的过程和原理对于网络工程师和开发者来说非常重要,它有助于诊断网络问题和优化网络性能。

目录
打赏
0
29
31
0
29
分享
相关文章
减少域名dns解析时间
域名解析中的TTL值设置多少合适
157 5
新手上云教程参考:阿里云服务器租用、域名注册、备案及域名解析流程图文教程
对于想要在阿里云上搭建网站或应用的用户来说,购买阿里云服务器和注册域名,绑定以及备案的流程至关重要。本文将以图文形式为您介绍阿里云服务器购买、域名注册、备案及绑定的全流程,以供参考,帮助用户轻松上手。
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
阿里云服务器租用、注册域名、备案及域名解析完整流程参考(图文教程)
对于很多初次建站的用户来说,选购云服务器和注册应及备案和域名解析步骤必须了解的,目前轻量云服务器2核2G68元一年,2核4G4M服务器298元一年,域名注册方面,阿里云推出域名1元购买活动,新用户注册com和cn域名2年首年仅需0元,xyz和top等域名首年仅需1元。对于建站的用户来说,购买完云服务器并注册好域名之后,下一步还需要操作备案和域名绑定。本文为大家展示阿里云服务器的购买流程,域名注册、绑定以及备案的完整流程,全文以图文教程形式为大家展示具体细节及注意事项,以供新手用户参考。
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
244 6
反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性
在网络世界中,反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性。它在邮件服务器验证、网络安全等领域至关重要,帮助识别恶意行为,增强网络安全性。尽管存在配置错误等挑战,但正确管理下,反向DNS解析能显著提升网络环境的安全性和可靠性。
288 3
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
49 29
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

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