1.何为DNS?

DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。你可以把它想象成一本巨大的电话本。
举例来说,如果你要访问域名www.qq.com,首先要通过DNS查出它的IP地址是119.147.15.13(地址可能不同,因为百度的服务器有很多)
DNS就是这样的一位“翻译官”,它的基本工作原理可用下图来表示:

2. 域名的层级

由于后面我会讲到 DNS 的解析过程,因此需要你对域名的层级有一些了解

  • 根域名 :.root 或者 . ,通常是省略的

  • 顶级域名,如 .com.cn 等

  • 次级域名,如 baidu.com 里的 baidu,这个是用户可以进行注册购买的

  • 主机域名,比如 baike.baidu.com 里的baike,这个是用户可分配的

  • 主机名 次级域名 顶级域名 根域名
    baike .baidu   .com     .

    3. DNS 解析过程

咱们以访问 www.163.com 这个域名为例,来看一看当你访问 www.163.com 时,会发生哪些事:

  1. 先查找本地 DNS 缓存(自己的电脑上),有则返回,没有则进入下一步

  2. 查看本地 hosts 文件有没有相应的映射记录,有则返回,没有则进入下一步

  3. 向本地 DNS 服务器(一般都是你的网络接入服务器商提供,比如中国电信,中国移动)发送请求进行查询,本地DNS服务器收到请求后,会先查下自己的缓存记录,如果查到了直接返回就结束了,如果没有查到,本地DNS服务器就会向DNS的根域名服务器发起查询请求:请问老大, www.163.com 的ip是啥?

  4. 根域名服务器收到请求后,看到这是个 .com 的域名,就回信说:这个域名是由 .com 老弟管理的,你去问他好了,这是.com老弟的联系方式(ip1)。

  5. 本地 DNS 服务器接收到回信后,照着老大哥给的联系方式(ip1),马上给 .com 这个顶级域名服务器发起请求:请问 .com 大大,www.163.com 的ip 是啥?

  6. .com 顶级域名服务器接收到请求后,看到这是 163.com 的域名,就回信说:这个域名是 .163.com 老弟管理的,你就去问他就行了,这是他的联系方式(ip2)

  7. 本地 DNS 服务器接收到回信后,按照前辈的指引(ip2),又向 .163.com 这个权威域名服务器发起请求:请问 163.com 大大,请问 www.163.com 的ip是啥?

  8. 163.com 权威域名服务器接收到请求后,确认了是自己管理的域名,马上查了下自己的小本本,把 www.163.com 的ip告诉了 本地DNS服务器。

  9. 本地DNS服务器接收到回信后,非常地开心,这下总算拿到了www.163.com的ip了,马上把这个消息告诉了要求查询的客户(就是你的电脑)。由于这个过程比较漫长,本地DNS服务器为了节省时间,也为了尽量不去打扰各位老大哥,就把这个查询结果偷偷地记在了自己的小本本上,方便下次有人来查询时,可以快速回应。

总结起来就是三句话

  1. 从"根域名服务器"查到"顶级域名服务器"的NS记录和A记录(IP地址)

  2. 从"顶级域名服务器"查到"次级域名服务器"的NS记录和A记录(IP地址)

  3. 从"次级域名服务器"查出"主机名"的IP地址

3.1查询方式

  • 递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,

若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结

果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)

  • 迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对

方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起

进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需

要发起多次查询。(需要自己动手)


4.各种资源记录

区域解析库:由众多资源记录RR(Resource Record)组成

记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX

SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解

析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。

A(internet Address):作用,域名解析成IP地址

AAAA(FQDN): --> IPV6

PTR(PoinTeR):反向解析,ip地址解析成域名

NS(Name Server):,专用于标明当前区域的DNS服务器,服务器类型为域名服务器

CNAME : Canonical Name,别名记录

MX(Mail eXchanger)邮件交换器

TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮

件)记录,https验证等

SOA记录与NS记录的区别:NS记录表示域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析;SOA记录设置一些数据版本和更新以及过期时间等信息。

DNS工作原理及解析过程相关推荐

  1. DNS原理及其解析过程 精彩剖析

    DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如"202.96.134.133"之类的I ...

  2. DNS的工作原理及解析

    DNS的工作原理及解析 一.什么是DNS? DNS( Domain Name System)是"域名系统"的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP ...

  3. 计算机dns的工作原理,解析DNS工作原理

    DNS是互连网核心协议之一,不管是上网浏览,还是编程开发,都需要了解一点它的知识.本文就来学习DNS工作原理,希望您读完本文也对它有所了解. DNS(Domain Name System)是" ...

  4. 路由及路由器工作原理深入解析3:路由与port

        日志"路由及路由器工作原理深入解析1"http://user.qzone.qq.com/2756567163/blog/1438322342介绍了"为什么要使用路 ...

  5. js 数组 实现 完全树_JavaScript的工作原理:解析、抽象语法树(AST)+ 提升编译速度5个技巧

    摘要: JS的"编译原理". 原文:JavaScript的工作原理:解析.抽象语法树(AST)+ 提升编译速度5个技巧 作者:前端小智 Fundebug经授权转载,版权归原作者所有 ...

  6. TLS/SSL 工作原理及握手过程详解

    目录 前言 TLS/SSL 基础概念 密钥协商过程中存在的问题及解决办法 TLS/SSL 握手过程 前言 本文是对 HTTPS 安全基础.TLS/SSL 工作原理及握手过程的总结.第一部分介绍为 HT ...

  7. 路由及路由器工作原理深入解析1:概述

    前言: 现在从事的嵌入式产品设计,很多都是基于TCP/IP的,要求研发的设备能够接入广域网进行远程设置和访问,这就涉及到了路由的工作原理和路由器的使用.包括家庭中用到的ADSL.无线路由器以及在工业现 ...

  8. 路由及路由器工作原理深入解析2:路由原理

    日志"路由及路由器工作原理深入解析1"http://user.qzone.qq.com/2756567163/blog/1438322342介绍了"为什么要使用路由器&q ...

  9. DNS原理及其解析过程(转)

    转自(http://369369.blog.51cto.com/319630/812889) 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如 ...

最新文章

  1. vue---进行post和get请求
  2. 085_html5服务器发送事件
  3. NYOJ 301 递推求值(矩阵快速幂)
  4. 【Python】大数据存储技巧,快出csv文件10000倍!
  5. 从数学到密码学(八)
  6. jeecg json返回值显示失败or成功 j.setSuccess(false/*true*/)
  7. Hash(散列)建表及查找
  8. 客户端常见的几种数据传输方法
  9. OpenCV中的width与widthStep
  10. 模式识别——第3章 判别函数法
  11. AVG提醒:网银大盗疯狂肆虐阿里旺旺
  12. 行存与列存的简单对比
  13. 论文笔记+模型实现TransNets: Learning to Transform for Recommendation
  14. linux 进程hang,GoldenGate Extract进程hang问题解决一例
  15. OBIEE + OAS集群配置 Part 1
  16. 用于跑深度学习的嵌入式硬件平台资料整理(一)
  17. 计算机网络协议分析全知识点总结兼期末复习重点
  18. Linux学习笔记(四):正则表达式
  19. 新奇遇记之臭屁猴(第一集)
  20. git处理 Update failed cannot lock

热门文章

  1. adb shell appops(系统服务:appops)
  2. 关于spacing和重采样、降采样的理解
  3. tree--树,最常见的复杂关系结构
  4. [HSI论文阅读] | SSRN:Spectral-Spatial residual network for HSI classification
  5. 一项调查:从浅到深的机器学习方法的血压估计使用生物传感器【翻译】
  6. ArcGIS Pro(ArcMap)中利用自带地理处理工具实现线图层批量裁剪面图层
  7. Ubuntu安装桌面
  8. 《安富莱嵌入式周报》第233期:2021.10.04--2021.10.10
  9. 如何自动识别视频语音内容并生成字幕
  10. QWidget相对坐标转全局坐标