DNS:DNS域名解析过程及原理

6 篇文章 1 订阅

一、理解IP和域名

我们首先要了解域名和IP地址的区别。
IP地址是互联网上计算机唯一的逻辑地址。
通过IP地址实现不同计算机之间的相互通信,每台联网计算机都需要通过IP地址来互相联系和分别。
但由于IP地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的IP地址,这样对于我们日常工作生活访问不同网站是很困难的。
基于这种背景,人们在IP地址的基础上又发展出了一种更易识别的符号化标识/一组有意义的字符,这种标识由人们自行选择的字母和数字构成,相比IP地址更易被识别和记忆,逐渐代替IP地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名。用户访问一个网站的时候,既可以输入该网站的IP地址,也可以输入其域名,对访问而言,两者是等价的,都可以访问其Web网站。

二、理解DNS域名系统(DomainName System)

DNS是互联网的一项服务。
DNS在TCP/IP网络中有非常重要的地位,能够提供域名与IP地址的解析服务。
DNS将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
DNS 的分布式机制支持有效且可靠的名字到 IP 地址的映射。多数名字可以在本地映射,不同站点的服务器相互合作能够解决大网络的名字与 IP 地址的映射问题。单个服务器的故障不会影响 DNS 的正确操作。
DNS命名系统采用层次的逻辑结构, 如同一棵倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。

域名系统_百度百科

三、理解域和域名

3.1、域

DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。域名空间的每个域的名字,通过域名进行表示。

3.2、域名

通常由一个完全合格域名(FQDN)标识。FQDN能准确表示出其相对于DNS域树根的位置也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“.”分隔,对于DNS域baidu来说,其完全正式域名(FQDN)为 baidu.com。

四、域名结构树

域名结构 - 知乎

​​

五、DNS和域名有什么关系

域名只是一个标识,DNS是域名解析系统,当您输入一个域名时,DNS开始工作,向域名对应的IP地址请求,找到域名对应的IP(服务器)后,返回结果给访问者,你就看到了这个域名对应的网页。这些DNS系统是不公开的。

六、主域名服务器与辅助域名服务器的关系

6.1、理解

用户在访问某一个域名的时候实际不是直接访问到这个承载业务的这个服务器而是先解析获取到这个域名对应的公网IP地址,再用这个IP发送请求,这个解析会先在电脑本地缓存查询在没有的场景下会到上级的DNS服务器请求。
当区的辅助服务器启动时,它与该区的主控服务器进行连接并启动一次区传输,区辅助服务器定期与区主控服务器通信,查看区数据是否改变。如果改变了,它就启动一次数据更新传输。
设置DNS服务器时,服务器管理员可以选择是将DNS服务器指定为主服务器还是辅助服务器(也称为从服务器)。
在某些情况下,服务器可以是一个区域的主要服务器,也可以是另一个区域的辅助服务器。但是每个区必须有主服务器,另外每个区至少要有一台辅助服务器,否则如果该区的主服务器崩溃了,就无法解析该区的名称。

6.2、DNS主服务器

主服务器托管控制区域文件,该文件包含域的所有权威信息(这意味着它是重要信息的可信源,例如域的IP地址)。这包括重要信息,例如域的IP地址以及负责该域管理的人员。主服务器直接从本地文件获取此信息。只能在主服务器上更改区域的DNS记录,然后主服务器才能更新辅助服务器。

6.3、DNS辅助服务器

辅助服务器包含区域文件的只读副本,它们通过称为区域传输的通信从主服务器获取其信息。每个区域只能有一个主DNS服务器,但它可以有任意数量的辅助DNS服务器。无法在辅助服务器上更改区域的DNS记录,但在某些情况下,辅助服务器可以将更改请求传递到主服务器。

6.4、为什么要有辅助DNS服务器 / 辅助服务器的优点

6.4.1、容错能力
配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍能解析该区的名称。一般把区的主服务器和区的辅助服务器安装在不同子网上,这样如果到一个子网的连接中断,DNS客户机还能直接查询另一个子网上的名称服务器。

6.4.2、减少广域链路的通信量
如果某个区在远程有大量客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机
配置成先查询这些服务器,这样就能防止远程客户机通过慢速链路通信来进行DNS查询。

6.4.3、减轻主服务器的负载
辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数。

主DNS服务器包含所有相关资源记录,并且可以处理域的DNS查询,(许多注册商需要)通常至少具有一个辅助DNS服务器。这些辅助服务器的好处是它们在主DNS服务器关闭时提供冗余,并且它们还有助于将请求的负载分配到域,以便主服务器不会过载,这可能导致拒绝服务。他们可以使用循环DNS来实现这一点,循环DNS是一种负载平衡技术,旨在为群集中的每个服务器发送大致相等的流量。

七、DNS服务器与缓存

7.1、DNS服务器

运行DNS服务器程序的计算机,储存DNS数据库信息。
DNS服务器会尝试解析客户机的查询请求。
在解答查询时,如果DNS服务器能提供所请求的信息,就直接回应解析结果
如果该DNS服务器没有相应的域名信息,则为客户机提供另一个能帮助解析查询的服务器地址。
如果以上两种方法均失败,则回应客户机没有所请求的信息或请求的信息不存在。

7.2、DNS缓存

DNS服务器在解析客户机请求时
如果本地没有该DNS信息,则可以会询问其他DNS服务器
当其他域名服务器返回查询结果时
该DNS服务器会将结果记录在本地的缓存中,成为DNS缓存。
当下一次客户机提交相同请求时
DNS服务器能够直接使用缓存中的DNS信息进行解析。​

八、本地DNS服务器

8.1、观点一

通过域名访问Internet上的网站或服务器需要使用DNS来进行解析。客户端电脑使用的DNS就是本地DNS服务器,本地DNS服务器会向权威DNS获取解析记录返回给用户,并按照解析记录TTL值缓存到自己服务器。本地DNS服务器一般是网络服务商提供的DNS,也可以自己修改为常用的公共DNS。

8.2、观点二

在通过浏览器缓存及host文件都无法解析域名的情况下,OS会将这个域名发送给计算机网络配置中DNS对应的地址(LDNS),即本地区的域名服务器。这个DNS通常都提供给你本地互联网接入的一个DNS解析服务,假如是在学校接入的互联网,那么这个本地区的域名服务器基本上是在学校中;如果是在小区接入的互联网,那么这个本地区的域名服务器就是提供给你接入互联网的应用服务上,也就是电信或联通。
--《深入分析java web 技术内幕》 许令波著

8.3、观点三

本地域名服务器(查询代理和DNS查询结果缓存): 只是一个查询代理

8.4、观点四

而我们电脑上设置的DNS,是指当我们本地电脑访问域名时,率先进入哪台服务器,进入哪些DNS系统。

本地DNS服务器是什么?-华为云

什么叫本地DNS服务器?这里的本地具体什么意思呢?_百度知道

本地dns服务器到底是什么?有没有精确的概念? - 知乎

九、DNS域名解析过程

9.1、从浏览器缓存中查询。
浏览器会存储一定时间的DNS记录,操作系统不会告诉浏览器每个DNS记录的保存时限,不同浏览器设置保存时限为一个固定值(不同浏览器情况不同,一般在2-30分钟)。检查在是否有相应的域名、IP对应关系,如果有,则向其IP地址发送请求。

9.2、从操作系统缓存中查询。
如果浏览器中没有包含想要的缓存记录,那浏览器就会发起操作系统请求,继续查询操作系统缓存。(hosts文件)

9.3、从路由器中查询DNS缓存。
请求持续发送到你的路由,它通常会有自己的DNS缓存。

9.4、从ISP中查询DNS缓存。
下一个被查询地方是ISP缓存DNS的服务器。

9.5、域名服务器迭代查询,根据返回的地址逐级向上查询。

浏览器客户端向本地DNS服务器发送一个含有域名https://www.baidu.com的DNS查询报文
本地DNS服务器把查询报文转发到根DNS服务器
根DNS服务器注意到其com后缀,于是向本地DNS服务器返回 com DNS服务器的IP地址
本地DNS服务器再次向 com DNS服务器发送查询请求,com DNS服务器注意到其https://www.baidu.com后缀并用负责该域名的权威DNS服务器的IP地址作为回应
最后,本地DNS服务器将含有https://www.baidu.com的IP地址的响应报文发送给客户端
从客户端到本地服务器属于递归查询,而DNS服务器之间的交互属于迭代查询
正常情况下,本地DNS服务器的缓存中已有com DNS服务器的地址,因此请求根域名服务器这一步不是必需的

​​

十、DNS正向解析和反向解析

10.1、正向解析

正向解析是指域名到IP地址的解析过程。

10.2、反向解析

反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。

什么是DNS的正向解析与反向解析?代码实现?_dns正向解析和反向解析_程序猿编码的博客-CSDN博客

DNS的正向和反向解析_dns正向解析和反向解析_叁煌蛋的博客-CSDN博客

十一、DNS资源记录类别

DNS 资源记录类型

DNS资源记录的七类 - 爱码网

常见的DNS记录有哪些

十二、理解DNS劫持

DNS劫持_全球百科

域名劫持_百度百科

十三、欢迎交流指正,关注我,一起学习。

参考链接

网络:IP与MAC_web前端获取mac地址_snow@li的博客-CSDN博客

本地DNS服务器的配置_〆是凌风呀的博客-CSDN博客

DNS工作原理_dns为什么是树型_宝山的博客的博客-CSDN博客

DNS域名详细解析过程(最全面,看这一篇就够)_dns域名解析_bangshao1989的博客-CSDN博客

百度安全验证

从输入URL到浏览器显示页面的流程_white camel的博客-CSDN博客

详解浏览器解析一个URL的全过程_url解析_子木呀的博客-CSDN博客

DNS域名详细解析过程_dns域名解析过程_黄瓜炒肉的博客-CSDN博客

DNS解析过程及原理_百度百科

DNS域名解析过程_哔哩哔哩_bilibili

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
DNS(Domain Name System)是互联网的一个基础设施,它通过将域名映射到IP地址来使得Internet上的计算机能够相互通信。DNS解析是将域名解析IP地址的过程,其全过程原理如下: 1. 用户在浏览器中输入域名,如www.example.com; 2. 浏览器向本地DNS服务器(如ISP提供的DNS服务器)发送域名解析请求; 3. 如果本地DNS服务器缓存中存在该域名对应的IP地址,则直接返回给浏览器; 4. 如果本地DNS服务器缓存中不存在该域名对应的IP地址,则向根域名服务器发送请求; 5. 根域名服务器返回顶级域名服务器的地址,如.com域的顶级域名服务器的地址; 6. 本地DNS服务器向顶级域名服务器发送请求; 7. 顶级域名服务器返回下一级域名服务器地址,如example.com域的DNS服务器地址; 8. 本地DNS服务器向example.com域的DNS服务器发送请求; 9. example.com域的DNS服务器返回对应的IP地址; 10. 本地DNS服务器将IP地址返回给浏览器; 11. 浏览器通过IP地址访问服务器,获取网页内容并显示。 DNS解析原理DNS采用了分布式数据库的方式进行域名解析。全球各地的众多DNS服务器共同维护了一个庞大的域名IP地址的对应关系数据库。当浏览器发出域名解析请求时,会先向本地DNS服务器发送请求,如果本地DNS服务器缓存中不存在则向其他DNS服务器查询,直到获得域名对应的IP地址为止。DNS解析过程中采用了递归查询和迭代查询两种方式。递归查询是指DNS服务器在查询过程中一直向上级DNS服务器发送请求,直到获得结果为止。而迭代查询是指DNS服务器在查询过程中只向下级DNS服务器发送请求,然后将结果返回给上级DNS服务器,最终返回给客户端。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值