图解域名解析DNS过程

DNS,就是Domain Name System的缩写,翻译过来就是域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库。DNS能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。

下面这张图,详细说明了一个DNS域名解析的全过程:

 

DNS域名解析的全过程

DNS域名解析的全过程:

1)网络客户端就是我们平常使用的电脑,打开浏览器,输入一个域名。比如输入www.163.com,这时,你使用的电脑会发出一个DNS请求到本地DNS服务器。本地DNS服务器一般都是你的网络接入服务器商提供,比如中国电信,中国移动。

2)查询www.163.com的DNS请求到达本地DNS服务器之后,本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地DNS服务器还要向DNS根服务器进行查询。

3)根DNS服务器没有记录具体的域名和IP地址的对应关系,而是告诉本地DNS服务器,你可以到域服务器上去继续查询,并给出域服务器的地址。

4)本地DNS服务器继续向域服务器发出请求,在这个例子中,请求的对象是.com域服务器。

5).com域服务器收到请求之后,也不会直接返回域名和IP地址的对应关系,而是告诉本地DNS服务器,你的域名的解析服务器的地址。

6)本地DNS服务器向域名的解析服务器发出请求,www.163.com的IP是什么?

7)本地DNS服务器这时就能收到一个域名和IP地址对应关系,www.163.com的IP是1.1.1.1

8)本地DNS服务器不仅要把IP地址返回给用户电脑,还要把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问。

原文地址:http://www.maixj.net/ict/dns-chaxun-9208

# 题目重述 请求详细解释:DNS域名解析的基本过程,即当我们在浏览器输入一个网址(如 `www.example.com`)时,系统是如何一步步找到对应的IP地址的。 --- # 详解 我们来从零开始讲清楚 **DNS域名解析的完整流程**,即使你没有任何网络基础也能完全理解! --- ## 🌐 什么是DNS? > **DNS(Domain Name System)**:域名系统 > 它的作用是将人类容易记住的“域名”(如 `www.baidu.com`)转换为机器能识别的“IP地址”(如 `14.215.177.38`) 📌 类比: - 域名就像人的名字:“张三” - IP地址就像手机号:“13800138000” - DNS 就像手机通讯录:输入“张三” → 自动拨通他的电话号码 --- ## 🔧 DNS解析的目标 当你在浏览器输入: ``` http://www.example.com ``` 计算机并不知道这个网站在哪。它必须先问: > “谁能把 `www.example.com` 这个域名翻译成IP地址?” 这个过程就是 **DNS域名解析** --- ## ✅ DNS解析的完整步骤(以递归查询为例) 假设你的电脑第一次访问 `www.example.com` ### 步骤1:检查本地缓存(最快) - 操作系统和浏览器都会记住最近查过的域名 - 先查一下有没有缓存过 `www.example.com` 的IP? - ✅ 有 → 直接使用,结束! - ❌ 没有 → 继续下一步 --- ### 步骤2:向本地DNS服务器发起递归查询 - 本地DNS服务器通常是ISP提供的(比如电信、移动),或公共DNS如 `8.8.8.8`(Google)、`114.114.114.114` - 你说:“请帮我查 `www.example.com` 的IP” - 本地DNS承诺:“我一定给你结果!”——这就是**递归查询** --- ### 步骤3:本地DNS开始迭代查询(一层层找) 现在本地DNS要自己去问别人,但它不会乱问,而是从根开始: #### 🔹 第一步:问“根域名服务器”(Root Server) > “你知道 `www.example.com` 在哪吗?” - 根服务器说:“我不知道具体IP,但我知道 `.com` 的服务器在哪。” - 返回信息:`.com` 顶级域(TLD)服务器的地址 📌 全球只有13组根服务器(用A到M标识),它们是DNS系统的起点。 --- #### 🔹 第二步:问“.com 域名服务器” > “你知道 `example.com` 在哪吗?” - .com服务器说:“我不知道 `www` 子域名的具体IP,但我知道 `example.com` 的权威服务器地址” - 返回:`example.com` 的权威DNS服务器IP 📌 这类服务器管理某个顶级域下的所有二级域名(如 `.com`, `.org`, `.net`) --- #### 🔹 第三步:问“权威DNS服务器”(Authoritative DNS Server) > “你知道 `www.example.com` 的IP吗?” - 权威服务器是最终答案提供者 - 它查自己的记录(叫“资源记录”) - 找到一条: ``` www.example.com → 93.184.216.34 ``` - 把这个IP返回给本地DNS --- ### 步骤4:本地DNS把结果返回给你的电脑 - 本地DNS收到IP后,告诉你的电脑: > “`www.example.com` 的IP是 `93.184.216.34`” - 同时把这个结果**缓存起来**,下次别人问就不用再走一遍了 --- ### 步骤5:你的电脑建立连接 - 浏览器拿到IP地址 - 开始向 `93.184.216.34` 发起HTTP请求 - 页面加载成功! ✅ 解析完成! --- ## 📊 总结:DNS解析全过程图解(文字版) ``` 用户输入 www.example.com ↓ 检查本地缓存(无) ↓ 向本地DNS服务器请求(递归) ↓ 本地DNS问根服务器:"谁管.com?" ↓ 根服务器答:"去问.com TLD服务器" ↓ 本地DNS问.com服务器:"谁管example.com?" ↓ .com服务器答:"去问 example.com 的权威DNS" ↓ 本地DNS问权威DNS:"www.example.com的IP是多少?" ↓ 权威DNS答:"是 93.184.216.34" ↓ 本地DNS将结果返回给用户,并缓存 ↓ 用户浏览器访问该IP地址 ``` --- ## 🎯 两种查询方式的区别 | 查询类型 | 谁负责找到底? | 特点 | |----------|------------------|------| | **递归查询** | 被问的服务器必须给出最终答案 | 用户只问一次,对方负责到底 | | **迭代查询** | 每次只返回下一个线索 | 本地DNS自己一层层问下去 | 📌 实际中: - 用户 ←→ 本地DNS:**递归查询** - 本地DNS ←→ 根/TLD/权威DNS:**迭代查询** --- ## 📌 缓存机制的重要性 - 每一级都可以缓存结果(本地DNS、TLD等) - TTL(Time To Live)控制缓存有效时间 - 大大减少重复查询,提高效率 例如:如果有人刚查过 `baidu.com`,你再查就会很快! --- # 知识点 - **递归与迭代查询结合**:客户端发起递归查询,DNS服务器之间采用迭代方式逐级定位。 - **分层域名结构**:DNS采用树形结构,从根→顶级域→权威服务器逐级解析。 - **缓存机制**:各级DNS缓存结果以减少重复查询,提升解析速度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值