深入学习 DNS 域名解析

简介: 在平时工作中相信大家都离不开 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 解析的过程和原理对于网络工程师和开发者来说非常重要,它有助于诊断网络问题和优化网络性能。

相关文章
|
4月前
|
监控
新功能上线:云解析DNS-重点域名监控功能发布
新功能上线:云解析DNS-重点域名监控功能发布
|
5月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
10月前
|
域名解析 存储 网络协议
域名解析的终极指南:从基础到进阶,彻底搞懂 DNS 记录
域名解析是网站运行的基础,正确配置DNS记录至关重要。本文从基础到进阶全面解析DNS知识,涵盖A、AAAA、CNAME、MX、TXT、CAA等常见记录类型及其应用场景。通过学习,你将了解DNS的工作原理,掌握如何优化域名配置,确保网站与邮件服务高效运行。无论搭建个人博客还是企业官网,本文都能助你轻松搞定域名解析!
2409 0
|
8月前
|
网络协议 安全 区块链
DNS+:互联网的下一个十年,为什么域名系统正在重新定义数字生态? ——解读《“DNS+”发展白皮书(2023)》
DNS+标志着域名系统从基础寻址工具向融合技术、业态与治理的数字生态中枢转变。通过与IPv6、AI和区块链结合,DNS实现了智能调度、加密传输等新功能,支持工业互联网、Web3及万物互联场景。当前,中国IPv6用户达7.6亿,全球DNSSEC支持率三年增长80%,展现了其快速发展态势。然而,DNS+仍面临安全威胁、技术普惠瓶颈及生态协同挑战。未来,需推动零信任DNS模型、加强威胁情报共享,并加速标准制定,以筑牢数字时代网络根基,实现更安全、高效的数字生态建设。
564 4
|
9月前
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
987 2
|
9月前
|
网络协议 安全 Linux
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
2747 0
|
11月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1076 29
|
11月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
460 4
|
11月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。

推荐镜像

更多
  • DNS