简述dns的工作原理(DNS的工作原理是什么)

本文目录
DNS的工作原理是什么
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
解析通常需要遍历多个名称服务器,找到所需要的信息。然而,一些解析器的功能更简单地只用一个名称服务器进行通信。这些简单的解析器依赖于一个递归名称服务器(称为“存根解析器”),为他们寻找信息的执行工作。
查询时先查计算机上设置的DNS服务器,每条记录都有一定的生存期,在生存期内,记录将被服务器缓存下来,不需要再次递归查询,直接返回
超过生存期,DNS服务器将向上级DNS服务器进行递归查询,直到顶级根域名服务器
并不是所有记录都存在于同一个服务器上,而是分别存在于各个DNS服务器上,每个服务器负责解析一定的域名,经过一级一级的查询,最终查到添加IP记录的DNS服务商,返回IP地址
DNS服务器的工作原理是什么
正向解析将地址(网址)解析为IP,反向解析将IP解析为地址(网址) 。举例:别人知道你的名字,但不知道你的地址,通过DNS服务器,将能通过你的名字找到你的地址,反之亦然。
DNS服务的工作原理是什么
当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的工作原理
DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的的DNS询问,依此得到答案之后,将收到的答案存起来,并回答客户。
DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。
在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录在快取缓存区中,这样当下一次还有另外一个客户端到次服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:
当DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,服务器首先会才会向别的名称服务器查询所要的名称。例如:
DNS客户端向指定的DNS服务器查询网际网路上某台主机名称,当DNS服务器在该资料记录找不到用户所指定的名称时,会转向该服务器的快取缓存区找寻是否有该资料 ,当快取缓存区也找不到时,会向最接近的名称服务器去要求帮忙找寻该名称的IP地址 ,在另一台服务器上也有相同的动作的查询,当查询到后会回复原本要求查询的服务器,该DNS服务器在接收到另一台DNS服务器查询的结果后,先将所查询到的主机名称及对应IP地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端 。
范例
我们举例说明,假设我们要查询网际网路上的一个名称为www.test.com.cn,从此名称我们知道此部主机在中国CN,而且要找的组织名称test.com.cn此网域下的www主机,以下为名称解析过程的每一步骤。
《Step 1》在DNS的客户端(Reslover)键入查询主机的指令,如:
c:\ping www.test.com.cn
pinging www.test.com.cn 【192.72.80.36】with 32bytes of data
reply from 192.72.80.36 bytes time 《10ms ttl 253
《Step 2》而被指定的DNS服务器先行查询是否属于该网域下的主机名称,如果查出改主机名称并不属于该网域范围,之后会再查询快取缓存区的纪录资料,查是否有此机名称。
《Step 3》查询后发现缓存区中没有此纪录资料,会取得一台根网域的其中一台服务器,发出说要找www.test.com.cn的Request。
《Step 4》在根网域中,向Root Name Server询问,Root Name Server记录了各Top Domain分别是由哪些DNS Server负责,所以他会响应最接近的Name Server为控制CN网域的DNS伺服主机。
《Step 5》Root Name Server已告诉Local DNS Server哪部Name Server负责.cn这个Domain,然后Local DNS再向负责发出找寻www.test.com.cn的名称Request。
《Step 6》在.cn这个网域中,被指定的DNS服务器在本机上没有找到此名称的的纪录,所以会响应原本发出查询要求的DNS服务器说最近的服务器在哪里?他会回应最近的主机为控制com.cn网域的DNS伺服主机。
《Step 7》原本被查询的DNS服务器主机,收到继续查询的IP位置后,会再向com.cn的网域的DNS Server发出寻找www.test.com.cn名称搜寻的要求。
《Step 8》com.cn的网域中,被指定的DNS Server在本机上没有找到此名称的记录,所以会回复查询要求的DNS Server告诉他最接近的服务器在哪里?他就回应最接近为控制test.com.cn的网域的DNS主机。
《Step 9》原本被查询的DNS Server,在接收到应继续查询的位置,在向test.com.cn网域的DNS Server发出寻找www.test.com.cn的要求,最后会在test.com.cn的网域的DNS Server找到www.test.com.cn此主机的IP。
《Step 10》所以原本发出查询要求的DNS服务器,再接收到查询结果的IP位置后,响应回给原查询名称的DNS客户端。
两种真正DNS的查询模式
有两种询问原理,分为Recursive和Interactive两种。前者是由DNS代理去问,问的方法是用Interactive方式,后者是由本机直接做Interactive式的询问。由上例可以看出,我们一般查询名称的过程中,实际上这两种查询模式都是交互存在着的。
递归式(Recursive):DNS客户端向DNS Server的查询模式,这种方式是将要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。
交谈式(Interactive):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来告诉你最接近的IP位置,然后再到此最接近的IP上去寻找所要解析的名称,反复动作直到找到正确位置
DNS的基本工作原理是怎样的
域名系统DNS是一个分布式数据库,它在本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户服务器模式在整个网络上均可存取,通过采用复制技术和缓存技术使得整个数据库可靠的同时,又拥有良好的性能。
基本工作原理
要理解DNS服务器怎么操作就有必要理解域名层次本身。在这一层次的顶部是根域;这一域上的信息驻留在从整个Internet中所选的一些根服务器上。在根域下面是顶级域,也就是国家代码或机构代码。国家代码的例子有SG(新加坡)和CA(加拿大)等;而机构代码则包括众所周知的COM(商业机构)、EDU(教育机关)、GOV(政府机构)和NET(网络机构)等。在顶级域下面是次级域(whitehouse.gov、microsoft.com、inforamp.net等诸如此类),然后是第3级域,向下以此类推。
申请域名必须通过网络信息中心NIC。你的请求被接受以前,首先要保证注册的名字还没被使用,其次要保证目前至少有 2台服务器可以提供新域名的服务。当NIC最后同意请求时,它将承认你的次级域,并将指向该名字的指针放到顶级域所在的服务器内。例如,如果你申请域名my.com,NIC将把my放到COM域服务器系统内,并将其指向那2台特定服务器。
当申请到了主域,你就可以增加所希望的任何数量的子域。你可以命名你的主机为red.my.com,而另一台则被叫做blue.my.com等。为了保证能在Internet上随时随地访问到你的子域,关于red.my.com 和 blue.my.com 的相关信息必须在mybiz.com服务器上配置。这一层次中的每台服务器都包含了一个DNS数据库,其入口被称作NS记录,每条这样的记录包含了域或子域的名字,此外还加上作为域或者子域服务器的主机的名字。同样,NIC会根据注册信息,配置好根服务器,使得它清楚地知道能在dns.my.com这台DNS服务器上找到my.com及其全部子域的信息。
现在我们来看看这一切是如何运作的。某人在指向你的最新子域的网页上看见了一个链接red.my.com,然后通过点击该链接,使其本地DNS服务器开始工作。首先,服务器搜索其自身的DNS数据库,如果不能找到,它将会利用自身数据库包含的根服务器的地址(所有的 DNS服务器必须设置该索引)。于是本地 DNS服务器就向该根服务器发出请求。根服务器在其DNS数据库里查找COM顶级域,然后它用NS记录回复该DNS服务器,告诉它可以从dns.my.com处查询到my.com的信息。在这一过程中,DNS服务器缓冲了该NS记录,如果下次该大学的任何人在请求涉及到my.com、dns.my.com、blue.mybiz.com等对应的IP地址转换时,相关信息在本地缓存即可获得。
正如其他的Internet协议一样,DNS由几个Internet的RFC(请求评论)规范(最初是RFC882、883和973)。不过要理解DNS 服务器的工作原理最好的参阅标准还是RFC1035。

更多文章:
linux运维常用命令(Linux下Grep命令的详细使用方法)
2026年9月22日 12:50
特尔斯达与威廉二世比分预测(鹿特丹斯巴达足球俱乐部的球队赛事)
2026年9月22日 10:40








