DNS的工作原理是什么?

DNS的工作原理是什么?,第1张

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

解析通常需要遍历多个名称服务器,找到所需要的信息。然而,一些解析器的功能更简单地只用一个名称服务器进行通信。这些简单的解析器依赖于一个递归名称服务器(称为“存根解析器”),为他们寻找信息的执行工作。

查询时先查计算机上设置的DNS服务器,每条记录都有一定的生存期,在生存期内,记录将被服务器缓存下来,不需要再次递归查询,直接返回

超过生存期,DNS服务器将向上级DNS服务器进行递归查询,直到顶级根域名服务器

并不是所有记录都存在于同一个服务器上,而是分别存在于各个DNS服务器上,每个服务器负责解析一定的域名,经过一级一级的查询,最终查到添加IP记录的DNS服务商,返回IP地址

当DNS客户机需要查询程序中使用的名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。

1>指定的DNS域名,表示为完整合格的域名(FQDN);

2>指定的查询类型,它可以根据类型指定资源记录,或作为查询操作的专门类型;

3>DNS域名的指定类别。

对于DNS服务器,它始终应指定为Internet类别。例如,指定的名称可以是计算机的完全合格的域名,如host.hello.myblog.com,并且指定的查询类型用于通过该名称搜索地址资源记录。系统将把DNS查询当做客户机向服务器提出的两部分问题,如“对于名为host.hello.myblog.com的计算机,你有没有地址资源记录?”当客户机从服务器接收应答时,它读取并解释应答的地址资源记录,以了解它通过名称提问的计算机的IP地址。

DNS查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其它DNS服务器,以完全解析该名称,并随后将应答返回至客户机,这个过程称为递归。

另外,客户机自已也可以尝试联系其它的DNS服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代。

总之,DNS的查询过程按两部分进行:首先,名称查询从客户机开始并传送至解析程序(DNS客户服务)进行解析;其次,不能就地解析查询时,可根据需要查询的DNS服务器来解析名称,如下图:‍

一、简述dns

DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp,属于应用层协议;

作用:人得记忆有限,如果没有dns得记下多少IP地址;从网络来说由于tcp/ip协议族是基于ip地址,所以需要一个翻译器即DNS;可以1对多也可以多对1,那么正向解析即域名解析为ip地址,反向解析即ip地址解析为域名。有人说DNS就是一个本大得电话本,说的挺贴切。

正反向解析事两个不同得名称空间,是两颗不同得解析树;

正向:ip---》主机名

反向:主机名---》ip

当今得业界标准BIND(berkeley internet name domain)dns软件

二、DNS域名

1)DNS是一个倒挂树结构示意图如下

2)按照功能命名得五个类别介绍

根域:DNS域名中使用时,规定由尾部据点(.)来指定名称位于根域或更高级别得域层次结构,(.)

顶级域:TDL(TOP LEVEL DOMAIN)用来只是某个国家地区或组织使用得类型,例如(.com)

二级域:个人或组织在internet上使用得注册名称,例如163.com

子域:已经注册二级域名派生得域名,就是网站名,例如www.163.com

主机名:通常情况下,DNS域名得最左侧得标签表示网络上得特定计算机,如www,mail,zhidao

名称服务器:域内负责解析本域内的名称的主机

根服务器:13组服务器

3)dns和internet域

互联网域名系统有名称注册机构负载维护分配有组织和国家/地区得顶级域在internet上进行管理。国际标准3166。

常见得DNS域名

com,商业公司

edu,教育机构

net,网络公司

gov,非军事政府机构

mil,军事政府机构

cn,代表中国

三、DNS服务器类型

主DNS服务器

从DNS服务器 (可以是多个提供容错)

缓存DNS服务器(转发器)

主DNS服务器:管理和维护所负责解析的域内解析库的服务器

从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本

1)复制操作的方式

序列号serial:解析库版本号,主服务器解析库变化时,其序列递增

刷新时间间隔refresh:从服务器从主服务器请求同步解析的时间间隔

重试时间间隔retry:从服务器请求同步失败时,再次尝试时间间隔

过期时长expire:从服务器始终联系不到服务器时,多久后放弃从服务器角度,停止提供服务

否定答案的缓存时长;minimum

”通知“机制:主服务器解析库发送变化时,会主动通知从服务

2)区域传送

完全传输axfr:传送整个解析库

增量传输lxfr:传递解析库变化的那部分内容

3)区域(zone)和域(domain) 

Domain:FQDN

正向:FQDN->IP

反向:IP->FQDN

各需要一个解析库来分别负责本地域名的的正向和反向解析库

正向区域

反向区域

FQDN:fullqualified domain name 完全限定域名

如:www.baidu.com.

四、DNS查询解析

我们在浏览器访问www.baidu.com这个域名,dns怎么查询到这台主机那?

1、在浏览器中输入www.baidu.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服务器地址(baidu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到www.baidu.com主机。

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


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/259471.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存