DNS系统
由多个服务器组成,包括根服务器、顶级域服务器(如.com、.org等)和权威DNS服务器,它们共同协作完成域名到IP地址的解析过程。这个过程通常是自动完成的,用户不需要手动进行任何操作。
电脑配置DNS后,访问网页时的一个数据流程:
用户输入域名 → 2. 查本地缓存(浏览器 / 系统)→ 3. 查本地 DNS 服务器 → 4. 本地 DNS 服务器逐级查询(根→顶级.com/.cn...→权威baidu.com)→ 5. 获得 IP 地址 → 6. 与服务器建立 TCP 连接 → 7. 发送 HTTP/HTTPS 请求 → 8. 服务器返回数据 → 9. 浏览器解析并展示网页。
域名服务器类别
权威 DNS 服务器(Authoritative DNS Server)是直接负责管理特定域名及其对应 IP 地址等解析记录的服务器,它存储着该域名最权威、最准确的解析信息,是域名解析流程中最终提供正确结果的 “源头”。
1. 根域名服务器(Root Name Server)
地位:DNS 系统的 “顶层管理者”,是全球域名解析的起点。
数量与分布:全球共 13 组根服务器(用字母 A-M 标识),由不同机构管理,通过 anycast 技术在全球多地部署镜像节点(实际物理节点远超 13 个),确保高可用性。
功能:不直接存储具体域名的 IP 地址,仅负责告知 “顶级域名服务器” 的地址。例如,当查询www.baidu.com时,根服务器会返回.com顶级域名服务器的 IP。
作用:引导解析请求进入正确的顶级域名体系(如.com、.cn、.org等)。
2. 顶级域名服务器(TLD Server,Top-Level Domain Server)
地位:管理 “顶级域名”(如.com、.cn、.net、.org)及下属二级域名的服务器。
分类:
用顶级域名(gTLD):如.com(商业)、.org(组织)、.net(网络)等;
国家 / 地区顶级域名(ccTLD):如.cn(中国)、.us(美国)、.jp(日本)等。
功能:存储二级域名(如baidu.com、qq.com)对应的 “权威 DNS 服务器” 地址。例如,.com顶级服务器会告知 “baidu.com的权威 DNS 服务器地址是 xx.xx.xx.xx”。
作用:将解析请求从 “顶级域名” 引导至 “二级域名的管理服务器”。
3. 权威域名服务器(Authoritative Name Server)
地位:特定域名(及子域名)解析记录的 “最终数据源”,由域名所有者直接管理或委托服务商管理。
功能:直接存储域名对应的 IP 地址及其他解析记录(如 A 记录、AAAA 记录、CNAME 记录、MX 记录等)。例如,百度的权威 DNS 服务器存储www.baidu.com→180.101.50.242、map.baidu.com→xxx.xxx.xxx.xxx等记录。
特点:
仅对自己管理的域名负责(如baidu.com的权威服务器不会处理google.com的请求);
解析记录由域名所有者通过 DNS 管理平台(如域名注册商的控制台)直接修改,修改后会实时生效(或按 TTL 时间更新)。
用户访问百度流程
核心是 “从本地到全球,逐级查询权威记录”:
步骤 1:优先查询本地缓存(非服务器层面)
用户设备(电脑 / 手机)会先检查本地存储的解析结果,避免直接向服务器发起请求:
浏览器缓存:浏览器(如 Chrome、Edge)会暂存近期解析过的域名 - IP 对应关系(TTL 通常为几分钟),若存在则直接使用;
操作系统缓存:若浏览器无结果,系统会查询自身缓存(如 Windows 的ipconfig /displaydns可查看)和hosts文件(本地静态映射表,优先级高于 DNS 服务器)。
步骤 2:向递归 DNS 服务器发起 “递归查询”
若本地缓存无结果,用户设备会向已配置的递归 DNS 服务器(如运营商 DNS 或114.114.114.114)发送请求,明确要求:“请返回www.baidu.com的 IP 地址”。
递归 DNS 服务器会先检查自身缓存:若之前解析过该域名且记录未过期(未超过 TTL),则直接返回 IP,流程结束;
若自身缓存无结果,则进入 “向上级服务器发起迭代查询” 阶段。
步骤 3:递归 DNS 服务器向根服务器发起 “迭代查询”
递归 DNS 服务器需逐级向上级服务器查询,直至获取权威记录:
第一步:查询根服务器
递归服务器向根服务器发送请求:“请问www.baidu.com的 IP 是什么?”
根服务器回复:“我不直接存储,但.com顶级域名服务器的地址是 xx.xx.xx.xx,你去问它。”
第二步:查询顶级域名服务器(.com)
递归服务器向.com顶级服务器发送请求:“请问www.baidu.com的 IP 是什么?”
顶级服务器回复:“baidu.com的权威 DNS 服务器地址是 yy.yy.yy.yy,你去问它。”
第三步:查询权威 DNS 服务器(baidu.com)
递归服务器向baidu.com的权威 DNS 服务器发送请求:“请问www.baidu.com的 IP 是什么?”
权威服务器直接返回:“www.baidu.com对应的 IP 是180.101.50.242”(即最终结果)。
步骤 4:返回结果并缓存
递归 DNS 服务器将从权威服务器获取的 IP 地址返回给用户设备;
同时,递归服务器会将该解析结果缓存(按记录的 TTL 时间,通常为几小时到几天),以便后续其他用户查询同一域名时直接复用,减少重复查询。
步骤 5:用户设备使用 IP 访问目标服务器
用户设备拿到 IP 后,通过该 IP 与目标服务器(如百度的 web 服务器)建立连接,最终完成网页加载。
总结
·类型核心:根服务器→顶级服务器→权威服务器构成 “全球层级体系”,负责存储和指引解析路径;递归服务器(本地 DNS)是 “用户代理”,负责全程处理查询并返回结果。
·访问逻辑核心:从本地缓存到递归服务器,再通过迭代查询逐级向上(根→顶级→权威)获取最终 IP,缓存机制贯穿全程以提升效率。