DNS域名解析过程

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 当我们在浏览器输入一个URL的时候,域名系统(Domain Name System)就开始工作。域名系统是将互联网资源和地址关联起来的一个分布式数据库。DNS和统一资源定位符,域名系统本质就是定位资源,互联网中的各种资源,比如视频、图片、文件、网页。。。。下面就是一个URL的示例:

当我们在浏览器输入一个URL的时候,域名系统(Domain Name System)就开始工作。域名系统是将互联网资源和地址关联起来的一个分布式数据库。
DNS和统一资源定位符,域名系统本质就是定位资源,互联网中的各种资源,比如视频、图片、文件、网页。。。。
下面就是一个URL的示例:

https://www.example.com:8080/test?id=1000#Good
【https】Scheme部分是协议,不仅只有https,还有ftp、ssh等,不同的协议代表着不同类型的应用在提供资源。
【www.example.com】Host部分代表站点,DNS主要作用就是根据Host查找IP地址。
【8080】Port是端口号,代表提供服务的应用
【test】是路径,代表资源在服务中的路径
【id=1000】是查询条件,代表需要的是资源中的某个部分。
【Good】是二级查询条件,通常不在服务端响应,而是用于前端展示定位内容。
总的来说,URL是一个树状的设计,Host代表主机(对应的IP地址由DNS服务提供)Port代表提供服务的应用,Path代表资源在应用中的路径,Query代表对资源的查询条件。

域名系统,DNS(Domain Name System域名系统)是一个将域名和IP地址互相映射的分布式服务。DNS本身是一个分布式架构。

位于最顶层的是根域名服务器(Root Name Server),根域名服务器存储的不是域名和IP的映射关系,而是一个目录,因为流量、防止单点故障、平衡地理分布等问题,根域名服务器只是一个目录,并不提供具体的数据。
image.png

DNS域名解析过程
如上图所示,DNS的存储设计是一个树状结构,叶子节点中才存放真实的映射关系,中间节点存的都是目录。存储分为3层:

顶部是根DNS存储,存储的是顶级域名的目录,被称作根DNS服务器

第二级是顶级域存储,存储的是二级域名的目录,被称作顶级域DNS服务器。

最后一级是叶子节点,存储的是具体的DNS记录,被称作权威DNS服务器。

域名分级和数据分区

域名分级包括,根域名(.)、顶级域名(com、cn、net)、二级域名(baidu)、三级域名(www),域名分级主要是为了建立目录和索引,并对数据存储进行分区。
image.png

DNS域名解析过程
DNS查询过程

当用户在浏览器中输入一个网址,就会触发DNS查询。这个时候在上述的3个层级中,还要加一个本地DNS服务器层级,本地DNS服务器包括用户自己路由器中的DNS缓存、小区的DNS服务器、ISP的DNS服务器,具体过程如下。
image.png

DNS域名解析过程
根据上图,详细DNS查询结果如下:

1、用户输入网址,先查询本地DNS,本地DNS是一系列DNS的集合,比如ISP提供的DNS、公司网络提供的DNS。本地DNS是一个代理,将DNS请求转发到DNS网络中。如果本地DNS已经存在需要的记录,也就是本地DNS缓存中找到了对应的DNS条目,就会直接返回,而跳过之后的步骤。

2、如果本地DNS服务器中没有对应的记录,那么请求会被转发到根DNS服务器。根DNS服务器只解析顶级域,例如“www.baidu.com”,根DNS服务器只查看com部分。

3、根DNS服务器返回顶级DNS服务器的IP

4、顶级域DNS服务器中存放的是二级域名的目录

5、顶级DNS服务器返回权威DNS服务器的IP

6、在权威DNS服务器中存放具体的DNS记录,

7、权威DNS服务器返回DNS记录到本地DNS服务器

8、本地DNS服务器返回具体的DNS记录给客户端。

关于缓存

上面的每一个步骤,其实都存在缓存的设计,浏览器会缓存DNS,此外,操作系统、路由器、本地DNS服务器也会缓存,所以大部分情况,请求不会到达根DNS服务器。

以百度为例,如果在某个时刻,同一个区域内有一个用户触发了1-8的过程,另一个同区域的用户就可以在本地DNS服务器中获取DNS记录,而不需要再走到根DNS服务器,这种称为分级缓存策略。

分级缓存策略,每一层都会进行缓存,经过一层层的缓存,最终命中根DNS服务、顶级DNS服务器,权威DNS服务器的请求少之又少。

DNS记录

DNS记录例子

定义www.example.com的ip地址
www.example.com.     IN     A     139.18.28.5;

这个就是一条DNS记录,纯文本。IN代表记录用于互联网,是Intenet的缩写。A是记录的类型,A记录代表着这是一条解析IPv4地址的记录,代表域名和IPv4地址的映射关系。从这条记录可知 www.example.com.的IP地址是 139.18.28.5。

CNAME是用于定义域名的别名的,例如下面这条DNS记录

; 定义www.example.com的别名

a.example.com.          IN     CNAME   b.example.com.

这条DNS记录定义了a.example.com 是 b.example.com 的别名。在浏览器中输入a.example.com 时候,通过 DNS 查询会知道 a.example.com 是 b.example.com 的别名,因此需要实际 IP 的时候,会去拿 b.example.com 的 A 记录。主要作用是将一个域名映射到另一个域名。域名解析的时候,如果看到CNAME记录,则会从映射目标重新开始查询。

目录
相关文章
|
9天前
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
|
3月前
|
域名解析 缓存 网络协议
减少域名dns解析时间
域名解析中的TTL值设置多少合适
162 5
|
1月前
|
域名解析 弹性计算 负载均衡
新手上云教程参考:阿里云服务器租用、域名注册、备案及域名解析流程图文教程
对于想要在阿里云上搭建网站或应用的用户来说,购买阿里云服务器和注册域名,绑定以及备案的流程至关重要。本文将以图文形式为您介绍阿里云服务器购买、域名注册、备案及绑定的全流程,以供参考,帮助用户轻松上手。
|
1月前
|
负载均衡 网络协议 容灾
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
|
3月前
|
域名解析 弹性计算 安全
阿里云服务器租用、注册域名、备案及域名解析完整流程参考(图文教程)
对于很多初次建站的用户来说,选购云服务器和注册应及备案和域名解析步骤必须了解的,目前轻量云服务器2核2G68元一年,2核4G4M服务器298元一年,域名注册方面,阿里云推出域名1元购买活动,新用户注册com和cn域名2年首年仅需0元,xyz和top等域名首年仅需1元。对于建站的用户来说,购买完云服务器并注册好域名之后,下一步还需要操作备案和域名绑定。本文为大家展示阿里云服务器的购买流程,域名注册、绑定以及备案的完整流程,全文以图文教程形式为大家展示具体细节及注意事项,以供新手用户参考。
|
4月前
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
280 6
|
4月前
|
域名解析 网络协议 安全
反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性
在网络世界中,反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性。它在邮件服务器验证、网络安全等领域至关重要,帮助识别恶意行为,增强网络安全性。尽管存在配置错误等挑战,但正确管理下,反向DNS解析能显著提升网络环境的安全性和可靠性。
307 3
|
4月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
260 3
|
4月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
15天前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
65 29

相关产品

  • 云解析DNS
  • 推荐镜像

    更多