浅析DNS域名解析过程

article/2025/10/23 13:10:43

转载自:https://blog.csdn.net/Lammonpeter/article/details/81358387

一、DNS域名解析步骤

下图是DNS域名解析的一个示例图,它涵盖了基本解析步骤和原理。
这里写图片描述
下面DNS解析步骤进行讲解,后面将采用命令行的形式来跟踪DNS解析过程。当用户在地址栏键入www.baidu.com并敲下回车键之后,域名解析就开始了。

第一步:检查浏览器缓存中是否缓存过该域名对应的IP地址

用户通过浏览器浏览过某网站之后,浏览器就会自动缓存该网站域名对应的IP地址,当用户再次访问的时候,浏览器就会从缓存中查找该域名对应的IP地址,因为缓存不仅是有大小限制,而且还有时间限制(域名被缓存的时间通过TTL属性来设置),所以存在域名对应的IP找不到的情况。当浏览器从缓存中找到了该网站域名对应的IP地址,那么整个DNS解析过程结束,如果没有找到,将进行下一步骤。对于IP的缓存时间问题,不宜设置太长的缓存时间,时间太长,如果域名对应的IP发生变化,那么用户将在一段时间内无法正常访问到网站,如果太短,那么又造成频繁解析域名。

第二步:如果在浏览器缓存中没有找到IP,那么将继续查找本机系统是否缓存过IP

如果第一个步骤没有完成对域名的解析过程,那么浏览器会去系统缓存中查找系统是否缓存过这个域名对应的IP地址,也可以理解为系统自己也具备域名解析的基本能力。在Windows系统中,可以通过设置hosts文件来将域名手动绑定到某IP上,hosts文件位置在C:\Windows\System32\drivers\etc\hosts。对于普通用户,并不推荐自己手动绑定域名和IP,对于开发者来说,通过绑定域名和IP,可以轻松切换环境,可以从测试环境切换到开发环境,方便开发和测试。在XP系统中,黑客常常修改他的电脑的hosts文件,将用户常常访问的域名绑定到他指定的IP上,从而实现了本地DNS解析,导致这些域名被劫持。在Linux或者Mac系统中,hosts文件在/etc/hosts,修改该文件也可以实现同样的目的。

前两步都是在本机上完成的,所以没有在上面示例图上展示出来,从第三步开始,才正在地向远程DNS服务器发起解析域名的请求。

第三步:向本地域名解析服务系统发起域名解析的请求

如果在本机上无法完成域名的解析,那么系统只能请求本地域名解析服务系统进行解析,本地域名系统LDNS一般都是本地区的域名服务器,比如你连接的校园网,那么域名解析系统就在你的校园机房里,如果你连接的是电信、移动或者联通的网络,那么本地域名解析服务器就在本地区,由各自的运营商来提供服务。对于本地DNS服务器地址,Windows系统使用命令ipconfig就可以查看,在LinuxMac系统下,直接使用命令cat /etc/resolv.conf来查看LDNS服务地址。LDNS一般都缓存了大部分的域名解析的结果,当然缓存时间也受域名失效时间控制,大部分的解析工作到这里就差不多已经结束了,LDNS负责了大部分的解析工作。

第四步:向根域名解析服务器发起域名解析请求

本地DNS域名解析器还没有完成解析的话,那么本地域名解析服务器将向根域名服务器发起解析请求。

第五步:根域名服务器返回gTLD域名解析服务器地址

本地DNS域名解析向根域名服务器发起解析请求,根域名服务器返回的是所查域的通用顶级域(Generic top-level domain,gTLD)地址,常见的通用顶级域有.com.cn.org.edu等。

第六步:向gTLD服务器发起解析请求

本地域名解析服务器向gTLD服务器发起请求。

第七步:gTLD服务器接收请求并返回Name Server服务器

gTLD服务器接收本地域名服务器发起的请求,并根据需要解析的域名,找到该域名对应的Name Server域名服务器,通常情况下,这个Name Server服务器就是你注册的域名服务器,那么你注册的域名的服务商的服务器将承担起域名解析的任务。

第八步:Name Server服务器返回IP地址给本地服务器

Name Server服务器查找域名对应的IP地址,将IP地址连同TTL值返回给本地域名服务器。

第九步:本地域名服务器缓存解析结果

本地域名服务器缓存解析后的结果,缓存时间由TTL时间来控制。

第十步:返回解析结果给用户

解析结果将直接返回给用户,用户系统将缓存该IP地址,缓存时间由TTL来控制,至此,解析过程结束。

这里对DNS解析的步骤进行了一个简单的介绍分析,后面将通过命令行的形式来解析一个域名的具体解析过程。

二、DNS域名解析过程分析

在正式开始分析解析过程之前,先来介绍几个基本的域名解析方式的概念。域名解析记录主要分为A记录MX记录CNAME记录NS记录以及TXT记录

  • A记录A代表的是Address,用来指定域名对应的IP地址,比如将map.baidu.com指定到180.97.34.157,将zhidao.baidu.com指定到180.149.131.245A记录允许将多个域名解析到一个IP地址,但不允许将一个域名解析到多个IP地址上。

  • MX记录MX代表的是Mail Exchage,就是可以将某个域名下的邮件服务器指向自己的Mail Server,如baidu.com域名的A记录IP地址是180.97.34.157,如果将MX记录设置为180.97.34.154,即xxx@baidu.com的邮件路由,那么DNS会将邮件发送到180.97.34.154所在的服务器,而正常web请求仍然会解析到A记录的IP地址180.97.34.157

  • CNAME记录CNAME指的就是Canonical Name,也就是别名解析,可以将指定的域名解析到其他域名上,而其他域名就是指定域名的别名,整个解析过程称为别名解析。比如将baidu.com解析到itlemon.cn,将csdn.net解析到itlemon.cn,那么itlemon.cn就是baidu.comCSDN.net的别名。

  • NS记录:就是为某个域名指定了特定的DNS服务器去解析。

  • TXT记录:为某个主机名或者域名设置特定的说明,比如为itlemon.cn设置的的TXT记录为“Lemon的技术笔记”,这个TXT记录为itlemon.cn的说明。

上面概念中的IP地址都是假定的,帮助理解。下面将通过解析域名baidu.com为例,进一步说明域名解析流程。

直接查看域名结果,可以通过命令nslookup加上域名来查看:
这里写图片描述
上图中Non-authoritative answer表示解析结果来自非权威服务器,也就是说这个结果来自缓存,并没有完全经历全部的解析过程,从某个缓存中读取的结果,这个结果存在一定的隐患,比如域名对应的IP地址已经更变。
这只是一个快捷的解析结果,如果需要浏览全部的解析过程,那么可以使用dig命令来查看解析过程。
这里写图片描述
分析上图DNS解析过程,我们可以看出:
第一步:从本地DNS域名解析服务器获取到13个根DNS域名服务器(.)对应的主机名。
这里写图片描述
第二步:从13个根域名服务器中的其中一个(这里是h.root-servers.net)获取到顶级com.的服务器IP(未显示)和名称。
这里写图片描述
第三步:向com.域的一台服务器192.43.172.30(i.gtld-servers.net)请求解析,它返回了baidu.com域的服务器IP(未显示)和名称,百度有四台顶级域的服务器。
这里写图片描述
第四步:向百度的顶级域服务器220.181.37.10(ns3.baidu.com)请求www.baidu.com,它发现这个www有个别名,而不是一台主机,别名是www.a.shifen.com
这里写图片描述
一般情况下,DNS解析到别名就停止了,返回了具体的IP地址,如果想看到具体的IP地址,可以进一步对别名进行解析,解析结果如下:
这里写图片描述
这时候看到最后的解析结果是180.97.33.107180.97.33.108。在解析别名的过程中,可以发现shifen.combaidu.com都是指定了相同的域名解析服务器。以上是一个域名的解析过程,最后的解析结果和一开始的使用nslookup的结果一致。


http://chatgpt.dhexx.cn/article/QJh8DaRw.shtml

相关文章

详解DNS域名解析全过程

关于dns域名解析的大致过程很多人都知道,但有些细枝末节的东西容易遗忘,今天有空整理一下,作为以后复习用,如有不对的地方,还望指正。解析大致过程如图(不喜欢看图的可以直接跳过): …

DNS域名详细解析过程

最近需要搭建一个网站,需要域名解析和备案了,租了一个很便宜的服务器,而且服务超级好,有兴趣私聊我。 什么是DNS域名解析 我们首先要了解域名和IP地址的区别。IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不…

浅谈DNS域名解析的过程

用户在浏览器输入www.baidu.com时,DNS域名解析大致分为以下几个过程: 浏览器客户端检查自身有没有该域名的缓存: 如果浏览器有命中,直接返回该域名对应的IP地址,解析结束; (这个缓存可以设置TTL来控制有效时间,有点像A…

多张图带你彻底搞懂DNS域名解析过程

目录 1、DNS2、域名系统DNS 的作用3、域名的层级关系4、DNS域名解析过程递归查询迭代查询 5、高速缓存6、DNS相关面试问题 1、DNS DNS(Domain Name System)是域名系统的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统&#xff…

DNS域名解析过程详解

DNS域名解析 DNS域名解析是我们进行网上冲浪的关键服务,想要了解DNS域名解析为IP地址的全过程,我们就要了解DNS协议和DNS的具体含义。 DNS协议是用来进行域名和IP地址互相转化的,基于UDP和TCP协议,其产生原因有二。第一是因为IP…

DNS域名解析的过程

一、主机解析域名的顺序 1、找缓存 2、找本机的hosts文件 3、找DNS服务器 注意: 配置IP和主机名时,要记得修改/etc/hosts文件, 因为有些应用程序在主机内的进程之间通信的时候,会本机的主机名,如果主机名不能正确解析…

DNS域名解析过程

目录 1、DNS2、域名系统DNS 的作用3、域名的层级关系4、DNS域名解析过程 递归查询迭代查询 5、高速缓存6、DNS相关面试问题 1、DNS DNS(Domain Name System)是域名系统的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统&#xf…

DNS域名详细解析过程(最全面,看这一篇就够)

什么是DNS域名解析 我们首先要了解域名和IP地址的区别。IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互通信,每台联网计算机都需要通过IP地址来互相联系和分别。 但由于IP地址是由一串容易混淆的数字串构成,人们很…

G9服务器装系统,宏基g9笔记本u盘装系统重装win7系统教程

宏基g9笔记本性能强悍、外型霸气,是游戏发烧友不可错过的一台高端游戏本。宏基g9笔记本凭借其人性化的游戏优化,让多少游戏玩家为之倾倒。今天快启动小编就为大家分享宏基g9笔记本u盘装系统重装win7系统教程。 u盘装系统重装win7系统教程: 1、…

用u盘装linux系统分区怎么画,如何用u盘安装linux系统

Liux因其开源性收到广大编程爱好者的青睐!,那么如何用u盘安装linux系统呢?接下来大家跟着学习啦小编一起来了解一下用u盘安装linux系统的解决方法吧。 用u盘安装linux系统方法一 1、用【U启动U盘启动盘制作工具】制作U盘启动盘,并下载正版系统镜像或纯净…

戴尔r930服务器U盘装系统,云骑士u盘装机大师dell怎么用u盘装系统

云骑士u盘装机大师dell怎么用u盘装系统。戴尔以IT直销享誉全球,主要产品包括家用笔记本,家用台式机,商务电脑,服务器存储。当下流行的装系统的方式是用U盘装系统,那么戴尔电脑怎么用U盘装系统呢? 下面跟大家总结一下:先是制作U盘启动盘。使用云骑士U盘启…

hp服务器启动u盘装系统,hp惠普笔记本进入bios设置u盘启动装系统的方法步骤详细教程...

我们在使用惠普笔记本电脑的时候,有的小伙伴可能因为我们的电脑出现了一些故障问题需要重装自己的操作系统。如果想要用U盘启动的方式来进行装机的话,对于hp惠普笔记本怎么进入bios设置u盘启动装系统的问题,小编觉得我们在开机的时候摁住F10即…

联想u盘linux安装教程,联想笔记本用U盘安装 winXP系统教程

联想笔记本用U盘安装 winXP系统教程。联想笔记本是指联想集团生产的便携手提电脑。 联想集团成立于1984年,由中科院计算所投资20万元人民币、11名科技人员创办,到今天已经发展成为一家在信息产业内多元化发展的大型企业集团。今天小编将给大家介绍使用U盘…

索尼u盘重装系统步骤

当电脑系统出现故障问题,比如蓝屏,黑屏,死机崩溃等情况无法进系统的时候,我们可以通过u盘重装系统的方法解决。有使用索尼电脑的用户想了解u盘怎么重装系统,下面小编就给大家演示一个简单的索尼u盘重装系统步骤。 具体…

三星笔记本U盘重装win10系统教程

怎么给电脑重装系统?不少使用三星笔记本的用户想要体验最新的win10系统,但又不知道怎么重装win10系统。Win10系统的重装可以借助U盘进行。不过很多用户不清楚怎么通过U盘来重装win10系统。那么下面就让小编为大家带来三星笔记本U盘重装win10系统教程。 …

计算机无法用u盘重装系统,电脑开不了机怎么办教你用u盘安装系统

电脑出问题,每次带到电脑店都是重装系统的操作,每一次都40,50的。这谁顶得住,就思索为什么不自己去重装系统呢,又可以省下这笔钱,还能自己学会去解决简单的电脑问题。想到就去做,然后去网上找的一些教程&am…

华硕笔记本U盘装系统教程

华硕笔记本U盘装系统BIOS设置教程 一、硬件:华硕笔记本;U盘 二、所需要软件: 1、系统安装GHOST文件:WINDOWS XP; WINDOWS 7; WINDOWS 8; WINDOWS10。下载地址:http://www.tudoupe.com/xt/ 2、…

Emc服务器怎么用u盘装系统,用u盘装系统的具体方法

在平时的日常生活里,当系统错误时,我们可以用U盘重装系统。那么该如何解决用u盘装系统这个难题呢?下面是学习啦小编收集的关于用u盘装系统的具体方法,希望对你有所帮助。 用u盘装系统的具体方法 第一步:下载最新版 U大师U盘启动盘…

神舟战神笔记本怎么U盘装Win10系统教学

神舟战神笔记本怎么U盘装Win10系统教学分享。有的用户使用神舟战神笔记本时,电脑安装的还是win7旗舰版系统。win7目前已经停止了更新,使用起来体验不好。我们可以将电脑系统进行升级,Win10系统还是非常不错的,对系统占用会更少&am…

联想笔记本电脑u盘重装win10系统教学

联想笔记本电脑u盘重装win10系统教学。如果你有一个闲置的u盘,那么建议你可以拿它来练手一下u盘重装系统。我们只需要将这个u盘制作成为启动盘,之后有需要重装系统都可以使用它。甚至朋友有需要重装系统,也可以使用它来快速的帮忙重装一个新系…