DNS — 域名系统

DNS(Domain Name System,域名系统)是互联网的”电话本”,负责将人类可读的域名(example.com)转换为机器可读的 IP 地址(192.0.2.1)。它是 CDN 加速的基础——CDN 通过 智能 DNS 将用户引导到最近的边缘节点。

DNS 递归查询流程

用户浏览器输入 www.example.com
  ↓ 1. 浏览器 DNS 缓存查询
  ↓ 2. 本机 hosts 文件查询
  ↓ 3. 本机 DNS 解析器 → LDNS(本地 DNS 服务器)
  ↓ 4. LDNS 递归查询:
       ↓ 根 DNS 服务器 → 返回 .com 顶级域服务器地址
       ↓ .com 顶级域服务器 → 返回 example.com 权威 DNS 地址
       ↓ example.com 权威 DNS → 返回 www.example.com 的 IP(或 CNAME)
  ↓ 5. LDNS 缓存结果 → 返回给用户
  ↓ 6. 浏览器拿到 IP → 发起 HTTP 请求

补充:浏览器 DNS 缓存和本机 hosts 文件是本地缓存,不涉及网络请求。LDNS 相当于”电信/联通的本地 DNS 服务器”。

DNS 记录类型

类型作用示例CDN 用途
A域名 → IPv4example.com → 1.2.3.4直接指向服务器 IP
AAAA域名 → IPv6example.com → 2001:db8::1IPv6 场景
CNAME域名 → 另一个域名www → cdn.example.comCDN 核心:将解析权交给 CDN
NS指定管辖 DNS 服务器example.com → dns1.hosting.com域名托管
MX邮件交换记录@ → mail.example.com邮件路由
TXT任意文本v=spf1 ...域名验证/SPF

CNAME 与 CDN 的关系

用户请求 www.example.com
  ↓ 通过 CNAME 指向
www.example.com.cdn.cloud.com
  ↓ CDN 权威 DNS 根据用户地理位置
  ↓ 返回最近的节点 IP(如 1.2.3.4)

这就是 CDN 实现”就近访问”的核心机制——CNAME 让 CDN 服务商接管了解析权

智能 DNS

普通 DNS 对所有用户返回相同的 IP;智能 DNS 则根据请求来源(LDNS 地址)返回不同的结果:

  • 南方电信用户 → 电信机房的 IP
  • 北方联通用户 → 联通机房的 IP
  • 海外用户 → 海外节点的 IP

CDN 厂商的智能 DNS 就是这个原理的规模化版本。

关键概念

  • TTL(Time To Live):DNS 记录的缓存时间。CDN 切 CNAME 后需等 TTL 过期才生效,通常 10-30 分钟
  • LDNS(Local DNS):用户所在运营商的本地 DNS 服务器
  • DNS 污染/劫持:中间的 DNS 解析被篡改,返回错误的 IP

相关页面