DNS解析过程

DNS解析过程

域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。一个域名对应一个IP地址,一个IP地址可以对应多个域名,所以多个域名可以同时被解析到一个IP地址,域名解析需要由专门的域名解析服务器DNS服务器来完成。

解析方式

DNS解析查询的方式有两种:递归解析查询和迭代解析查询,通常来说,客户端和本地域名服务器是递归查询,而本地域名服务器和其他域名服务器之间是迭代查询。

递归解析

假如我们本地客户端是A,有三个域名解析服务器BCD,首先在本地客户端A发起一次DNS解析请求,对B服务器请求解析DNSB服务器查询后并无解析记录,则B服务器对C服务器请求解析DNS,,C服务器查询后并无解析记录,则C服务器对D服务器请求解析DNS,,D服务器查询到解析记录,将解析记录返回到C服务器,C服务器将解析记录返回到B服务器,B服务器将解析记录返回到A服务器,完成一次递归解析查询。

A → B → C → D
A ← B ← C ← D

迭代解析

假如我们本地客户端是A,有三个域名解析服务器BCD,首先在本地客户端A发起一次DNS解析请求,对B服务器请求解析DNSB服务器查询后并无解析记录,返回到A未查询成功并携带C服务器的地址,客户端AC服务器请求解析DNSC服务器查询后并无解析记录,返回到A未查询成功并携带D服务器的地址,客户端AD服务器请求解析DNS,查询到解析记录,并将解析记录返回到A,完成一次迭代解析查询。

A → B
A → C
A → D

解析过程

浏览器缓存

在输入URL后浏览器首先检查自身的DNS缓存是否对于此域名有IP地址,通常浏览器对于自身DNS解析缓存保留时间比较短,且数量也有限制,chrome对于域名解析的缓存时间为60s,可以通过地址栏输入chrome://net-internals/#dns清除DNS缓存。

HOSTS

HOSTS文件是一个系统文件,其作用就是将域名与其对应的IP地址建立一个对应关系,当进行DNS解析时系统会首先自动从HOSTS文件中寻找对应的IP地址,如果没有找到,则系统会再将域名提交DNS域名解析服务器进行IP地址的解析。Windows操作系统的此文件通常在C:\Windows\system32\drivers\etc\目录下,Linux操作系统的此文件通常在/etc/目录下。

本地域名解析服务器

客户端向本地域名服务器请求解析,本地域名服务器一般是运营商ISP提供的,一般是通过53端口发送UDP报文请求服务器解析DNS,从客户端到本地域名服务器的解析是递归查询的。假如请求的解析域名为example.expamle.com,本地域名解析服务器未命中,则本地域名解析服务器开始迭代查询。

根域名解析服务器

本地域名解析服务器向根域名服务器a.rootserver.net进行请求,根域名服务器查询到.com顶级域名所对应的服务器,然后向本地域名服务器返回.com顶级域名所对应的服务器解析地址。

顶级域名解析服务器

本地域名解析服务器向顶级域名解析服务器进行请求,顶级域名解析服务器查询到example.com二级域名所对应的服务器,然后向本地域名服务器返回example.com二级域名所对应的服务器解析地址。

二级域名解析服务器

本地域名解析服务器向二级域名解析服务器进行请求,二级域名解析服务器如果未命中,则会向本地域名解析服务器返回example.example.com所对应的权限域名解析服务器的地址,通常来说二级域名解析服务器及以后都可以称为权限域名解析服务器。

权限域名解析服务器

本地域名解析服务器向权限域名解析服务器进行请求,权限域名解析服务器查询到解析记录后,便返回本地域名解析服务器,本地域名解析服务器将查询到的IP地址返回到客户端,并将域名与IP的对应关系进行缓存,假如在权限域名解析服务器还未查询到域名对应的IP地址,则返回解析失败,此外如果客户端还配置了多个DNS服务器的地址,则在查询失败后还会继续向其他所配置的DNS解析服务器进行查询。

每日一题

https://github.com/WindrunnerMax/EveryDay

参考

https://www.jianshu.com/p/6b502d0f2ede
https://www.zhihu.com/question/53882349
https://blog.csdn.net/qq_40378034/article/details/100998367

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/588759.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024五一杯数学建模A题思路分析-钢板最优切割路径问题

文章目录 1 赛题选题分析 2 解题思路3 最新思路更新 1 赛题 A题 钢板最优切割路径问题 提高钢板下料切割过程中的工作效率,是模具加工企业降低成本和增加经济效益的重要途径,其中钢板切割的路径规划是钢板切割过程的一个关键环节。 钢板切割就是使用特殊…

【C++】哈希的应用---布隆过滤器

目录 1、引入 2、布隆过滤器概念 3、选择哈希函数个数和布隆过滤器长度 4、布隆过滤器的实现 ①框架的搭建 ②设置存在 ③检查存在 ④不支持 reset 5、布隆过滤器计算误差 6、布隆过滤器的优缺点 ①布隆过滤器优点 ②布隆过滤器缺陷 7、布隆过滤器的实际应用 8、完…

KUKA机器人KR3 R540维护保养——涂润滑脂

KUKA机器人在保养时少不了润滑脂,不同型号的机器人需要的润滑脂类型也不一样,保养时注意选用合适的润滑脂。本篇文章以KUKA机器人KR3 R540为例,在轴盖板 A2、A3、A5 的内侧涂上润滑脂。 一、涂润滑脂的作用 拆开机器人一个轴的盖板&am…

Android Kernel源码下载方法

Android Kernel的源码是git管理的,和之前下载的Android源码管理方式不一样,所以下载方式也不一样,直接用git下载就可以了;去网上搜的下载方式五花八门,有很多问题,因为服务器经常无法访问,也一直…

质谱原理与仪器3-笔记

质谱原理与仪器3-笔记 一、质量分析器类型1、聚焦磁场分析器:A、单聚焦磁场分析器B、双聚焦磁场分析器 2、四极杆质量分析器3、飞行时间质谱仪(Time of Flight MS, TOF-MS)4、离子阱质量分析器 二、质谱仪的主要性能指标1、质量范围(mass range)2、分辨率(resolutio…

C语言编译的优化等级应该选哪个?O0、O1、O2还是O3

在使用IDE开发STM32程序时,IDE一般都会提供优化等级设置的选项,例如下图中KEIL软件优化等级的设置。 从上图中也可以看出,设置不同的优化等级,实际上是修改了编译器的编译参数。这个编译器是由ARM公司提供的C/C编译器armclang或者…

家里挂宗教画是否合适?

凡在我们这改名取名的客户,峰民都会建议他们挂一副这样或那样的画,这也是根据你命中的五行来给你助运的。而现在许多人都有自己的宗教信仰,有些人会在家供奉佛像,有些人甚至会在家里挂上宗教画,亦同样产生五行效应&…

持续更新|UNIAPP适配APP遇到的问题以及解决方案

在使用UNIAPP开发APP的时候遇到的一些奇奇怪怪问题记录 组件样式丢失 问题:组件引入界面中,在小程序和H5环境下样式正常,而在APP中却出现高度异常问题 解决:增加view标签将组件包裹起来即可正常显示 解决前: 解决后…

全栈开发之路——前端篇(2)文件、组件与setup引入

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 本文系该系列第二篇,主要将介绍各个文件的意义、组件结构与导入以及setup的引入。 目录 一、src外文件介绍.gitignore为git忽略文件env.d.ts用于识别其他文件index.htmljson文件vite.confi…

企业信创中间件落地的 9 个实践经验:从选型测试到使用和运维

背景 随着各个行业对IT系统建设自主可控要求的提升,各个企业对信创中间件的使用范围也越来越广、深度越来越深。与此同时,信创中间件涉及的产品和种类也是多种多样,对于一个企业而言要从哪些维度来评估信创中间件,从而选择适合自…

规控不分家,实际岗位职责是如何划分的

1. 实践和演练 2. 自动驾驶技术分类 3. 自动驾驶关键技术 4. 自动驾驶架构 5. 感知perception

SpringDI方式及Redis应用场景的分享

1、为什么Spring和IDEA 都不推荐使用 Autowired 注解 大家在使用IDEA开发的时候有没有注意到过一个提示,在字段上使用Spring的依赖注入注解Autowired后会出现如下警告Field injection is not recommended (字段注入是不被推荐的);但是使用Resource却不会…

【linux学习指南】linux指令与实践文件编写

文章目录 📝前言🌠 linux目录结构🌉linux命令介绍 🌠pwd命令🌉mkdir指令(重要) 🌠cd 指令🌉touch指令 🌠rmdir指令 && rm 指令(重要&…

串的介绍与类型定义

串的定义 相关术语 应用 串类型定义 顺序存储实现 为了方便操作,数组下标从1开始存储 链式存储实现

【Leetcode】二叉树基础题思路

🔥个人主页:Quitecoder 🔥专栏:Leetcode刷题 目录 1.单值二叉树2.相同的树3.对称二叉树4.另一棵树的子树 1.单值二叉树 题目链接:965.单值二叉树 题目描述: 单值二叉树是所有节点的值都相同的二叉树。实现…

MySQL LIKE通配符(%,_)及escape实例讲解

LIKE操作符常用于模式匹配查询数据。以正确的方式使用LIKE运算符对于提高查询性能至关重要。 LIKE操作符允许您从基于指定的模式选择表中的数据。因此,LIKE操作符经常用于SELECT语句的WHERE子句中。 MySQL提供了两个通配符与LIKE操作符一起使用:百分比…

LeetCode 98.验证二叉搜索树

题目描述 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左 子树 只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例 1&#xff…

移植 SquareLine 导出的 UI 源码到 HMI-Board

目录 准备工具创建 HMI 工程设计 UIUI 移植板级验证更多内容 HMI-Board 为 RT-Thread 联合瑞萨推出的高性价比图形评估套件,取代传统的 HMI 主控板 硬件,一套硬件即可实现 HMI IoT 控制 的全套能力。依托于瑞萨高性能芯片 RA6M3 及 RT-Thread 软件生态…

leetcode870.优势洗牌

题目描述: 给定两个长度相等的数组 nums1 和 nums2,nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。 返回 nums1 的任意排列,使其相对于 nums2 的优势最大化。 示例一: 输入&#xff…

nginx--平滑升级

失败了,等我拍好错继续更新 命令 选项说明 帮助: -? -h 使用指定的配置文件: -c 指定配置指令:-g 指定运行目录:-p 测试配置文件是否有语法错误:-t -T 打印nginx的版本信息、编译信息等:-v -V 发送信号: -s 示例: nginx -s reload 信号说明 立刻停止服务:stop,相…