深入浅出:一文读懂互联网的“导航仪”—— DNS

举报
solitern 发表于 2026/08/21 09:26:57 2026/08/21
【摘要】 每天当我们打开浏览器,输入 www.google.com 或 www.baidu.com 时,网页总能瞬间呈现在我们面前。但这看似简单的一击回车背后,其实隐藏着一个庞大而精密的系统在默默工作。今天,我们就来聊聊这个互联网的幕后英雄——DNS(Domain Name System,域名系统)。 1. 什么是 DNS?如果把互联网比作一个巨大的城市,那么每一台服务器就是城市里的一栋建筑,而 IP...

每天当我们打开浏览器,输入 www.google.comwww.baidu.com 时,网页总能瞬间呈现在我们面前。但这看似简单的一击回车背后,其实隐藏着一个庞大而精密的系统在默默工作。

今天,我们就来聊聊这个互联网的幕后英雄——DNS(Domain Name System,域名系统)


1. 什么是 DNS?

如果把互联网比作一个巨大的城市,那么每一台服务器就是城市里的一栋建筑,而 IP 地址(如 192.0.2.12400:cb00:2048:1::c629:be72)就是这些建筑的精确经纬度坐标。

计算机之间通信只认识 IP 地址,但人类的大脑很难记住这一长串毫无规律的数字。于是,DNS(域名系统) 应运而生。

通俗地说,DNS 就是互联网的“电话簿”或“导航仪”。 它负责将人类易读的域名(如 www.example.com)翻译成计算机能懂的 IP 地址


2. DNS 的层级结构

DNS 并不是一个单一的数据库,而是一个分布式、层级化的数据库系统。它的结构就像一棵倒立的树:

  1. 根域名服务器(Root):位于树的最顶端,全球共有 13 组根服务器(逻辑上),负责管理顶级域名。
  2. 顶级域名服务器(TLD):管理具体的顶级域名,如 .com.org.cn 等。
  3. 权威域名服务器(Authoritative):负责具体域名的最终解析。比如你购买了 example.com,你的域名服务商(如阿里云、GoDaddy)提供的服务器就是权威服务器。

3. DNS 解析的完整过程

当你在浏览器输入 www.example.com 并回车时,究竟发生了什么?这是一个“寻根问底”的过程:

第一步:本地缓存查找(最快)

  1. 浏览器缓存:浏览器会首先检查自己是否缓存了该域名的 IP。
  2. 操作系统缓存:如果浏览器没有,会向操作系统(如 Windows/macOS)请求。
  3. Hosts 文件:操作系统会检查本地的 hosts 文件,看看有没有手动配置的映射。

第二步:请求本地 DNS 服务器

如果本地都没有,计算机会向配置的 本地 DNS 服务器(通常是你宽带运营商 ISP 提供的,或者是你手动设置的如 114.114.114.114)发起递归查询
(注:递归查询意味着本地 DNS 服务器必须帮你找到最终答案,不能只给你个线索让你自己去找。)

第三步:本地 DNS 服务器的“接力赛”(迭代查询)

本地 DNS 服务器开始在互联网上帮你“跑腿”:

  1. 问根服务器:“请问 .com 顶级域名的服务器 IP 是多少?” 根服务器回答:“我不知道 www.example.com 的 IP,但 .com 的服务器 IP 是 X。”
  2. .com 顶级服务器:“请问 example.com 的权威服务器 IP 是多少?” .com 服务器回答:“我不知道具体 IP,但 example.com 的权威服务器 IP 是 Y。”
  3. example.com 权威服务器:“请问 www.example.com 的 IP 是多少?” 权威服务器回答:“它的 IP 是 93.184.216.34。”

第四步:返回结果并缓存

本地 DNS 服务器拿到 IP 后,将其返回给你的电脑,并在自己的缓存中保存一段时间(由 TTL 决定)。下次再有人查询,本地 DNS 就能直接秒回了。


4. 常见的 DNS 记录类型

在配置域名解析时,我们会遇到各种记录类型,最常用的有以下几种:

记录类型 全称 作用说明
A Address 最基础的记录,将域名指向一个 IPv4 地址。
AAAA Quad-A 将域名指向一个 IPv6 地址。
CNAME Canonical Name 别名记录。将域名指向另一个域名(常用于 CDN 或子域名跳转)。
MX Mail Exchange 邮件交换记录。指定负责接收该域名邮件的服务器。
TXT Text 文本记录。常用于域名所有权验证、SPF 防垃圾邮件验证等。
NS Name Server 指定该域名由哪台 DNS 服务器进行解析。

5. DNS 的安全与优化

传统 DNS 的痛点

传统的 DNS 查询是明文传输的(基于 UDP 53 端口),这导致了两个严重问题:

  1. DNS 劫持/污染:中间人(如不良运营商或黑客)可以篡改 DNS 响应,把你引导到钓鱼网站或广告页面。
  2. 隐私泄露:你的上网轨迹(访问了哪些域名)对运营商和中间节点是完全透明的。

现代解决方案:加密 DNS

为了解决上述问题,业界推出了加密 DNS 技术:

  • DoH (DNS over HTTPS):将 DNS 查询封装在 HTTPS 协议中(端口 443),目前主流浏览器(Chrome, Edge)和操作系统都在大力推广。
  • DoT (DNS over TLS):使用 TLS 加密 DNS 流量(端口 853),常用于 Android 系统的“私人 DNS”功能。

给普通用户的建议

如果你觉得运营商默认的 DNS 太慢或经常弹广告,可以尝试修改电脑或路由器的 DNS 为公共 DNS:

  • 阿里 DNS223.5.5.5 / 223.6.6.6
  • 腾讯 DNS119.29.29.29
  • 114 DNS114.114.114.114
  • Google DNS8.8.8.8 / 8.8.4.4(国内访问可能稍慢)

6. 总结

DNS 是互联网最核心的基础设施之一。没有它,我们就必须 memorize 所有的 IP 地址,互联网也不会像今天这样繁荣和易用。

了解 DNS 的工作原理,不仅可以帮助我们排查网络故障(如 ping 不通、网页打不开),还能让我们更好地保护自身的网络隐私。

下次当你在浏览器中敲下网址时,不妨在心里感谢一下那些在毫秒间为你奔波的 DNS 服务器吧!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。