DNS原理及解析过程

  • 1、DNS概述
  • 2、因特网的域名结构
  • 3、DNS解析过程
  • 4、递归查询和迭代查询的区别
  • 5、域名解析记录

1、DNS概述

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS协议运行在UDP协议之上,使用端口号53。
我们首先要了解域名和IP地址的区别。IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互通信,每台联网计算机都需要通过IP地址来互相联系和分别
但由于IP地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的IP地址,这样对于我们日常工作生活访问不同网站是很困难的。基于这种背景,人们在IP地址的基础上又发展出了一种更易识别的符号化标识,这种标识由人们自行选择的字母和数字构成,相比IP地址更易被识别和记忆,逐渐代替IP地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名。
域名虽然更易被用户所接受和使用,但计算机只能识别纯数字构成的IP地址,不能直接读取域名。因此要想达到访问效果,就需要将域名翻译成IP地址。而DNS域名解析承担的就是这种翻译效果。

2、因特网的域名结构

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。这里,“域”(domain)是名字空间中一个可被管理的划分。
每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开。

这是中央电视台用于手法电子邮件的计算机的域名,它由三个标号组成,其中标号com是顶级域名,标号cctv是二级域名,标号mail是三级域名。

DNS规定,域名中的标号都有英文和数字组成,每一个标号不超过63个字符(为了记忆方便,一般不会超过12个字符),也不区分大小写字母。

类型 域名
国家顶级域名nTLD 采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。
通用顶级域名gTLD 最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。
基础结构域名(infrastructure domain) 这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。(2)通用顶级域名gTLD:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。

来一个大概图:

3、DNS解析过程


解析过程
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器.

第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回.

第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址.

第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址.

第五步:重复第四步,直到找到正确的纪录.

第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机.

让我们举一个例子来详细说明解析域名的过程.假设我们的客户机如果想要访问点:www.linejet.com此客户本地的域名服务器是dns.company.com , 一个根域名服务器是NS.INTER.NET , 所要访问的网站的域名服务器是dns.linejet.com,域名解析的过程如下所示.
(1)客户机发出请求解析域名www.linejet.com的报文

(2)本地的域名服务器收到请求后, 查询本地缓存, 假设没有该纪录, 则本地域名服务器dns.company.com则向根域名服务器NS.INTER.NET发出请求解析域名www.linejet.com

(3)根域名服务器NS.INTER.NET收到请求后查询本地记录得到如下结果:linejet.com NS dns.linejet.com (表示linejet.com域中的域名服务器为:dns.linejet.com ), 同时给出dns.linejet.com的地址,并将结果返回给域名服务器dns.company.com

(4)域名服务器dns.company.com 收到回应后,再发出请求解析域名www.linejet.com的报文.

(5)域名服务器 dns.linejet.com收到请求后,开始查询本地的记录,找到如下一条记录:www.linejet.com A 211.120.3.12 (表示linejet.com域中域名服务器dns.linejet.com的IP地址为:211.120.3.12),并将结果返回给客户本地域名服务器dns.company.com

(6)客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给客户机.
这样就完成了一次域名解析过程.

4、递归查询和迭代查询的区别

递归查询:一般发生在客户端到本地DNS服务器。
迭代查询:一般发生在本地DNS服务器向根/顶级域名服务器请求。

自己去查询下一步,叫迭代。 自己帮别人请求查询,叫递归。

DNS递归名称解析: 在DNS递归名称解析中,当所配置的本地名称服务器解析不了时,后面的查询工作是由本地名称服务器替代DNS客户端进行的(以“本地名称服务器”为中心),只需要本地名称服务器向DNS客户端返回最终的查询结果即可。

DNS迭代名称解析:(或者叫“迭代查询”)的所有查询工作全部是DNS客户端自己进行(以“DNS客户端”自己为中心)。在条件之一满足时就会采用迭代名称解析方式。

在查询本地名称服务器时,如果客户端的请求报文中没有申请使用递归查询,即在DNS请求报头部的RD字段没有置1。相当于说“你都没有主动要求我为你进行递归查询,我当然不会为你工作了”。
客户端在DNS请求报文中申请使用的是递归查询(也就是RD字段置1了),但在所配置的本地名称服务器上是禁用递归查询(DNS服务器一般默认支持递归查询的),即在应答DNS报文头部的RA字段置0。

5、域名解析记录

记录类型 解释
A 将域名指向一个IPV4地址
CNAME 将域名指向另外一个域名
AAAA 将域名指向一个IPV6地址
NS 将子域名指定其他DNS服务器解析
MX 将域名指向邮件服务器地址
SRV 记录提供特定的服务的服务器
TXT 文本长度限制512,通常做SPF记录(反垃圾邮件)
CAA CA证书颁发机构授权校验
显性URL 将域名重定向到另外一个地址
隐性URL 与显性URL类似,但是会隐藏真实目标地址

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

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

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

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

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

  3. DNS原理及解析过程详解

    目录 1 域名系统概述 2 因特网的域名结构 3 域名服务器 4 域名的解析原理过程 4.1 DNS解析原理 4.2 域名解析过程 5 查询过程 5.1 演示整个查询过程 5.2 关于DNS解析的TT ...

  4. DNS原理和解析过程

    1.DNS系统的简介: DNS是一套从域名到IP的映射系统. TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆.于是人们发明了一种叫主机名的东西是一个字符串, ...

  5. DNS原理及其解析过程

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

  6. 域名(DNS)原理及解析过程详解

    相信大家在平时工作中都离不开DNS解析,DNS解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程.下面我们将详细的给大家讲解 ...

  7. 一篇让你彻底了解DNS原理及其解析过程

    1.序 TCP/IP网络中要求每一个互连的计算机都具有其唯一的IP地址,如39.1xx.20.58.并基于这个IP地址进行通信.然而,直接使用IP地址有很多不便之处.例如,在进行应用操作时,用户必须指 ...

  8. DNS工作原理及解析过程

    1.何为DNS? DNS( Domain Name System)是"域名系统"的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务 ...

  9. DNS域名详细解析过程

    最近需要搭建一个网站,需要域名解析和备案了,租了一个很便宜的服务器,而且服务超级好,有兴趣私聊我. 什么是DNS域名解析 我们首先要了解域名和IP地址的区别.IP地址是互联网上计算机唯一的逻辑地址,通 ...

  10. DNS的详细解析过程

    DNS解析又称域名解析.目的是将域名解析成对应的ip地址,去相对应的ip地址服务器上获取请求资源. 从输入网址到看到界面的整个流程: 1.浏览器中输入网址 ==> 2.域名解析(DNS),找到I ...

最新文章

  1. 内存管理实战之打印指定进程虚存区
  2. 数据库 - mysql内置功能
  3. lex 词法分析 linux,lex语言词法分析
  4. 字符文本中的字符太多_文本对抗---字符级别的攻击
  5. OA中总结:s:select,关于使用modelDriven,项目分层,@Transactional,jspf,各个层上配置注解交给spring管理的方法,简单的OGNL表达式写法
  6. [转]WebGL All in One 全傻瓜简介
  7. python cross val score_python - sklearn cross_val_score的精度低于手动交叉验证 - 堆栈内存溢出...
  8. JAVA共享图片管理系统毕业设计 开题报告.
  9. NVivo for Mac中的编码难理解?这6个视频帮助你!
  10. 组态王bitset用法_组态王使用问题解答
  11. HTML基础-李南江
  12. 油价涨涨涨 有车一族省油妙招也不断翻新
  13. 张小龙2018微信公开课超时演讲,总结微信8年
  14. 2020-2021追番报告
  15. jQuery获取下拉选单的值
  16. 2021美食林全球餐厅精选榜公布,这里有一份美食地图请查收!
  17. matlab 双音频信号的检测,双音频(DTMF)信号的产生与检测.doc
  18. 一个有用的命令jcmd
  19. 如何成为一名成功的自由程序员?
  20. pmp直方图与帕累托图的区别_PMP-项目质量管理

热门文章

  1. Spring 4.x vs Spring 5.x
  2. 微信小程序超市购物+后台管理系统|前后分离VUE
  3. 鸡兔同笼php编程,C语言鸡兔同笼问题
  4. fd抓包数据类型_终端抓包神器 | tcpdump参数解析及使用
  5. GetLastError返回代码含义
  6. FreeCAD 导出STL格式文件格式
  7. 主机信息采集(域名、网站备案等)初学者指南
  8. meshlab简单实践
  9. postman 测试excel下载_postman下载,postman下载excel
  10. 页面置换算法 (全)