1、DNS访问流程图(以windows为例)
-----------------------------------------------------------------------------------------------------
2、PC到LocalDNS过程解读
2.1.先查询自身缓存:浏览器会首先检查自己内部维护的 DNS 缓存。当用户访问一个网站时,浏览器会将域名对应的 IP 地址缓存下来,以便下次访问时快速获取。不同的浏览器对 DNS 缓存的存储时间和策略可能会有所不同,但一般来说,浏览器会在一定时间内保留 DNS 缓存以提高访问速度。例如,谷歌浏览器的 DNS 缓存时间相对较短。
2.2.若浏览器缓存未命中,查询操作系统缓存:如果浏览器自身的缓存中没有找到对应的 DNS 记录,它会向操作系统发出请求,获取操作系统级别的 DNS 缓存。操作系统会维护一个 DNS 缓存,其中存储了最近访问过的域名及其对应的 IP 地址。在 Windows 系统中,可以使用 ipconfig /displaydns 命令查看操作系统的 DNS 缓存,但这只是一种查看方式,浏览器是通过操作系统提供的相关系统调用接口来获取这些缓存信息的。
2.3.读取本地 hosts 文件(若操作系统缓存未命中):如果操作系统的 DNS 缓存中也没有找到所需的 DNS 记录,浏览器会检查本地的 hosts 文件。hosts 文件是一个本地的文本文件,可以手动添加域名和 IP 地址的映射关系。浏览器会按照 hosts 文件中的配置来解析域名,如果找到对应的映射关系,就会使用文件中指定的 IP 地址。
2.4.向 LocalDNS 服务器发起请求(若前面途径都未获取到):如果在前面的步骤中都没有找到对应的 DNS 记录,浏览器会向配置的 DNS 服务器发起请求,获取域名对应的 IP 地址。DNS 服务器会根据域名的层级结构,从根域名服务器开始迭代查询,直到找到负责该域名的权威域名服务器。
-----------------------------------------------------------------------------------------------------
3、LocalDNS到远程DNS服务器过程解读
本地 DNS 服务器、根 DNS 服务器、顶级域 DNS 服务器和权威 DNS 服务器 都是什么?
在 DNS(域名系统)的分层架构中,本地 DNS 服务器、根 DNS 服务器、顶级域 DNS 服务器、权威 DNS 服务器 是四个关键角色,分别承担不同的解析任务。以下是它们的详细解析:
3.1本地 DNS 服务器(Local DNS Server)
定义与角色
用户直接配置的 DNS 服务器:是用户设备(电脑、手机、路由器)首选的 DNS 解析入口,通常由网络运营商(如电信、联通)、企业 IT 部门或公共 DNS 服务商(如 114DNS、Google DNS)提供。
核心功能:
递归查询:代表用户设备向其他 DNS 服务器发起查询,并将最终结果返回给用户(无需用户设备自己逐层查询)。
缓存优化:缓存最近解析过的域名记录,加速后续查询(减少重复查询顶级域和根服务器的耗时)。
典型场景
家庭 / 企业网络:路由器通常作为本地 DNS 服务器,自动分配运营商提供的 DNS 地址(如 192.168.1.1)。
公共 DNS:用户手动配置的备用 DNS(如 8.8.8.8、1.1.1.1),用于绕过运营商 DNS 劫持或提高解析可靠性。
关键特点
用户感知的 “第一站”:用户设备只与本地 DNS 交互,无需关心上层的根、顶级域等服务器。
不存储权威记录:仅作为 “中介”,依赖上层服务器获取解析结果。
3.2根 DNS 服务器(Root DNS Server)
定义与角色
DNS 层级的最顶层:全球仅 13 组逻辑上的根服务器(编号 A~M),但通过任播技术在全球部署了数千个物理节点,确保高可用性和低延迟。
核心功能:
存储 顶级域(TLD)的权威 DNS 服务器地址(如 .com、.cn 的顶级域服务器地址)。
当本地 DNS 服务器不知道某个域名的解析结果时,根服务器会告诉它 “去找对应的顶级域服务器”。
技术细节
域名空间的入口:所有域名解析最终都会追溯到根服务器(如查询 www.example.com,根服务器会返回 .com 顶级域服务器的地址)。
历史与现状:
根服务器由 ICANN 协调管理,部分由政府或机构运营(如美国 Verisign 管理 A 根,中国管理 L 根的镜像节点)。
虽然只有 13 组,但每个根服务器有多个镜像节点(如 A 根全球有数百个镜像),确保单点故障不影响全局。
示例查询
当本地 DNS 服务器查询 www.example.com 时,若缓存中没有记录,会先向根服务器发送请求,根服务器回复:“.com 顶级域服务器的地址是 a.gtld-servers.net、b.gtld-servers.net 等”。
3.3顶级域 DNS 服务器(TLD DNS Server)
定义与角色
管理特定顶级域名(TLD):负责解析以特定后缀结尾的域名(如 .com、.org、.cn),存储该顶级域下所有二级域名的权威 DNS 服务器地址(如 example.com 的权威服务器地址)。
分类:
通用顶级域(gTLD):如 .com、.net、.org,由 ICANN 授权的机构管理(如 Verisign 管理 .com)。
国家 / 地区代码顶级域(ccTLD):如 .cn(中国)、.jp(日本),由各国本地机构管理(如中国互联网络信息中心 CNNIC 管理 .cn)。
核心功能
当本地 DNS 服务器从根服务器获取到顶级域服务器地址后,会向对应的顶级域服务器查询二级域名的权威服务器地址。
示例:查询 example.com 时,.com 顶级域服务器会返回 example.com 的权威 DNS 服务器地址(如 ns1.example.com)。
3.4权威 DNS 服务器(Authoritative DNS Server)
定义与角色
域名的 “最终权威”:由域名持有者(如企业、个人)部署或委托(如域名注册商),存储该域名的具体解析记录(A 记录、CNAME、MX 记录等),直接响应最终的解析结果。
分类:
主权威服务器(Primary):可写入和修改解析记录,是数据的源头。
副权威服务器(Secondary):从主服务器同步数据,作为备份(支持故障切换)。
核心功能
当本地 DNS 服务器找到域名的权威服务器后,权威服务器会返回该域名对应的 IP 地址(或其他记录)。
示例:example.com 的权威服务器存储了 www.example.com IN A 192.0.2.1,直接告诉本地 DNS 服务器 “这个域名的 IP 是 192.0.2.1”。
部署场景
企业官网:企业在域名注册商处配置权威服务器(如阿里云 DNS、腾讯云 DNS),管理 www.example.com 的解析记录。
私有网络:企业在内部部署权威服务器,管理私有域名(如 server.internal)的解析,无需暴露到公网。
-----------------------------------------------------------------------------------------------