IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 超详图解DNS域名解析全过程 -> 正文阅读

[网络协议]超详图解DNS域名解析全过程

👩?💻博客主页:崇尚学技术的科班人的博客主页
?欢迎关注🖱点赞🎀收藏?留言?
🔮本文由 崇尚学技术的科班人 原创,csdn首发!
😘系列专栏:计算机网络
🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦
📕今日一语:但行前路,不负韶华!

前言:关于我今天为什么要写这么一篇文章 —— 《超详图解DNS域名解析全过程》。主要有两个原因:一是我这学期学习的计算机网络刚好讲解到了这一部分,想要好好复习一下;还有一个原因就是这个域名解析过程是面试中的一个重点,所以十分重要,所以说帮忙总结一下,给正准备面试同学一个小福利。

在这里插入图片描述

1、域名解析

  • 什么是域名解析

其实这个过程在我们生活中十分常见,就比如我们打开浏览器访问我们想要访问的页面的时候,我们都是输入一串英文名 www.baidu.com,然后浏览器就会响应返回对应的百度搜索的主页,这个过程可能十分快,但是它这个过程会涉及到 浏览器输入 url 到响应的全过程 ,当然我们这篇文章不会对其进行解析,其中域名解析是其中的一个重要环节,我们这篇文章只对域名解析全过程进行解析。之后的话,我会重新写一篇文章对前面的 浏览器输入 url 到响应的全过程 进行详细的解析。

所以可能大伙可能会认为我们进行资源访问时是通过 www.baidu.com 进行寻找资源的,其实并不是这样的,寻找资源主要还是靠的是 IP地址

所以说在我们访问对应的资源的时候,我们就需要将对应的域名转换为 IP地址。 那么域名解析就是起到这样的一个作用。

  • 域名服务器

当然域名解析的话是由运行在域名服务器上的程序完成的。主要的域名服务器有以下几类:

  1. 根域名服务器
  2. 顶级域名服务器
  3. 授权域名服务器(权限域名服务器)
  4. 本地域名服务器

这四种域名服务器贯穿整个域名解析过程。

2、域名解析过程

  • 域名解析过程主要有两种方式:递归查询和迭代查询

下面我们将围绕这两种方式进行解析。

2.1、递归查询

先上图看看这个递归查询的全过程

在这里插入图片描述

  1. 当浏览器需要知道域名所对应的 IP地址 时,那么它会向本地域名服务器进行查询

  2. 如果本地主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步的查询。

  3. 在这种情况下,本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归在其他几个域名服务器之间进行的(也就是根域名以DNS客户的身份,向顶级域名服务器继续发出查询请求报文;顶级域名服务以此类推)。

  4. 然后,本地域名服务器从根域名服务器得到了所需的IP地址,最后本地域名服务器将查询结果告诉主机 m.xyz.com

2.2、迭代查询

在这里插入图片描述

  1. 当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器“你下一步应该向哪一个顶级域名服务器进行查询”。

  2. 然后让本地域名服务器向这个顶级域名服务器进行后续的查询。同样,顶级域名服务器收到查询报文后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应该向哪一个权限域名服务器查询。

  3. 然后让本地域名服务器向这个权限域名服务器进行后续的查询。最后,知道所要解析的域名的IP地址后,把这个结果返回给发起查询的主机。

  4. 本地域名服务器将查询结果保存到本地缓存,同时返回给客户机

2.3、域名缓存

不管是迭代查询还是递归查询,其实这个过程都是比较漫长的。那么我们如果想要进行优化的话,我们就可以使用域名缓存进行优化。

  • 在浏览器和本地域名服务器中都对应的域名缓存。

它们的作用都相同,都是加快域名解析过程。如果我们可以从域名缓存中直接获取,那么我们直接获取;否则我们就需要从走对应的域名解析过程,同时还会将对应的结果保存在域名缓存中。

今天的分享就到这里了,如果你感觉对你有帮助的话,请你三连支持,后面的文章会一点点更新。

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-25 11:44:24  更:2022-05-25 11:44:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 16:20:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码