DNS解析过程

DNS解析过程分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netDefinitionDefineanobjectthatencapsulateshowasetofobjectsinteract.Mediatorpromotesloosecouplingbykeepingob…

大家好,又见面了,我是你们的朋友全栈君。

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net

DNS 查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他 DNS 服务器,以完全解析该名称,并随后将应答返回至客户机。这个过程称为递归查询。
另外,客户机自己也可尝试联系其他的 DNS 服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代,即DNS服务器之间的交互查询就是迭代查询。
DNS 查询的过程如下图所示。

DNS解析过程
DNS查询过程

1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系。如果有,就先调用这个IP地址映射,完成域名解析。

2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系。如果有,直接返回,完成域名解析。

3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器。此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询。如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。

6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析。上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。不管本地DNS服务器是用转发,还是找根DNS,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间的交互查询就是迭代查询。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132280.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月30日 下午6:00
下一篇 2022年4月30日 下午6:00


相关推荐

  • 认识 Iconfont 以及什么是 .eot、.woff、.ttf、.svg「建议收藏」

    认识 Iconfont 以及什么是 .eot、.woff、.ttf、.svg「建议收藏」一、Iconfont1.概述在前端作业中,二十年前只有页面中铺满文字就算上线产品,现如今,不加点俏皮的“图标”会让页面显得很Low很Low。图标在写这篇文章之前,我一直以为上图中的“图

    2022年8月5日
    9
  • mybatis log plugin激活【2021.10最新】

    (mybatis log plugin激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html6EK6WKOHUX-eyJsaWN…

    2022年3月28日
    1.2K
  • visudo命令详解

    visudo命令详解基础命令学习目录首页原文链接 https www cnblogs com ImJerryChan p 6667819 html 目录前言一 介绍二 配置文件简介三 实战配置前言 su 的确为管理带来方便 通过切换到 root 下 能完成所有系统管理工具 只要把 root 的密码交给任何一个普通用户 他都能切换到 root 来完成所有的系统管理工作 但通过 su 切换到 ro

    2026年3月18日
    4
  • js中set和map的区别_list和set

    js中set和map的区别_list和setSet和Map的区别

    2025年9月29日
    6
  • Python定义全局变量的用法

    Python定义全局变量的用法全局变量是编程语言中常见的一种变量 通过全局定义 可以是某对象函数创建 也可以是本程序任何位置创建 能够被本程序中的所有对象或函数进行引用 全局变量的定义有利于程序的变量共享 简化了添加和修改的程序 和 C 语言一样 Python 也具有全局变量 其定义全局变量的用法有两种 1 声明法该方法是直接在当前模块中进行全局变量定义声明 使用 global 的声明方式 再进行引用 OLD URL

    2026年3月18日
    2
  • PyCharm中导入库的方法

    PyCharm中导入库的方法两种方法 1 搜索添加列表中是已经存在的库 若需要添加库 点击 搜索待库安装完成 即可使用 2 利用终端命令输入代码 回车 即可完成 numpy 库为例 我的是已经存在了

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号