教学目标
📖 课前导入
你在浏览器中输入 www.baidu.com,几毫秒后网页就加载出来了。但网络通信用的是IP地址,浏览器怎么知道百度的IP是什么?
答案就是DNS(域名系统)——互联网的"电话簿",它把人类友好的域名翻译成计算机使用的IP地址。
📚 一、DNS域名系统概述
什么是DNS?
DNS(Domain Name System,域名系统)是一个分布式数据库系统,提供域名与IP地址之间的映射服务。它使用UDP端口53(大量数据传输时用TCP端口53)。
www.baidu.com
人类友好的域名
110.242.68.66
计算机使用的IP地址
📚 二、域名的层次结构
域名是倒过来的"树"
根域(.)
.com
.cn
.org
.edu
↑ 顶级域(TLD)
baidu.com
tsinghua.edu.cn
↑ 二级域
www.baidu.com
mail.baidu.com
↑ 主机名(三级域)
常见顶级域名
📚 三、DNS解析过程 ⭐核心
完整的DNS解析流程
1. 浏览器缓存:先查浏览器自己的DNS缓存。有则直接使用。
2. 操作系统缓存:查本机hosts文件和系统DNS缓存。
3. 本地DNS服务器(递归查询):向配置的DNS服务器(如运营商DNS 114.114.114.114)发送查询请求。如果它有缓存就直接返回。
4. 根DNS服务器(迭代查询):本地DNS没有缓存,向根服务器查询。根服务器返回".com顶级域服务器的地址"。
5. 顶级域DNS服务器:本地DNS再向.com服务器查询。它返回"baidu.com权威DNS服务器的地址"。
6. 权威DNS服务器:本地DNS向baidu.com的权威DNS查询www.baidu.com,得到最终的IP地址。
7. 返回结果:本地DNS将结果缓存并返回给客户端。浏览器和操作系统也会缓存。
递归查询 vs 迭代查询
递归查询
客户端→本地DNS:"你帮我查到底,直到给我最终答案"
客户端只发一次请求,本地DNS负责全部后续查询。
迭代查询
本地DNS→根/顶级域/权威DNS:"我不知道,但你可以去问xxx"
每次只返回下一步应该问谁,本地DNS自己逐步追查。
📚 四、常见DNS记录类型
| 记录类型 | 名称 | 说明 | 示例 |
|---|---|---|---|
| A | 地址记录 | 域名 → IPv4地址 | www.baidu.com → 110.242.68.66 |
| AAAA | IPv6地址记录 | 域名 → IPv6地址 | google.com → 2404:6800::200e |
| CNAME | 别名记录 | 域名 → 另一个域名 | www.baidu.com → www.a.shifen.com |
| MX | 邮件交换记录 | 指定邮件服务器 | baidu.com → mx.maillb.baidu.com |
| NS | 名称服务器记录 | 指定权威DNS服务器 | baidu.com → ns1.baidu.com |
| PTR | 反向解析记录 | IP地址 → 域名 | 110.242.68.66 → www.baidu.com |
| TXT | 文本记录 | 存储任意文本(如SPF) | 域名所有权验证等 |
📚 五、DNS诊断命令
ipconfig /flushdns 清空本机DNS缓存,常用于DNS修改后的刷新。
DNS域名解析全过程
通过动画和Wireshark抓包演示DNS的完整解析过程,包括递归查询和迭代查询
通过动画和Wireshark抓包演示DNS的完整解析过程,包括递归查询和迭代查询
✅ 课堂小测
随堂测验
第 1/5 题DNS默认使用哪个传输层协议和端口号?
📋 本课小结
DNS:域名→IP的分布式映射系统,使用UDP端口53。
域名层次:根域 → 顶级域(.com) → 二级域(baidu.com) → 主机名(www)。
解析流程:缓存→本地DNS(递归)→根→顶级域→权威DNS(迭代)。
常用记录:A(IPv4)、AAAA(IPv6)、CNAME(别名)、MX(邮件)、NS(名称服务器)。