DNS解析过程及原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DNS解析过程及原理
DNS的角色
在互联网上,最终确定访问主机位置的不是域名,也不是计算机的MAC地址,而是IP地址。而DNS服务,或者叫域名服务、域名解析服务,就是提供域名与IP地址的相互转换,也可以说是一种对应(映射)关联。在DNS服务器中通常会有一个域名与IP地址的映射表,以便用户无论是输入服务器名(相当于域名),还是服务器的IP地址都可以及时得到转换,查找到相应的服务器。DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。
网络上的计算机之间实现连接却是通过每台计算机在网络中拥有的惟一的IP地址来完成的,这样就需要在用户容易记忆的地址和计算机能够识别的IP地址之间有一个解析,DNS服务器便充当了地址解析的重要角色。
DNS工作原理
域名解析有正向解析和反向解析之说,正向解析就是将域名转换成对应的IP地址的过程,它应用于在浏览器地址栏中输入网站域名时的情形;而反向解析是将IP地址转换成对应域名的过程,但在访问网站时无须进行反向解析,即使在浏览器地址栏中输入的是网站服务器IP地址,因为互联网主机的定位本身就是通过IP地址进行的,只是在同一IP地址下映射多个域名时需要。另外反向解析经常被一些后台程序使用,用户看不到。
除了正向、反向解析之外,还有一种称为“递归查询”的解析。“递归查询”的基本含义就是在某个DNS服务器上查找不到相应的域名与IP地址对应关系时,自动转到另外一台DNS服务器上进行查询。通常递归到的另一台DNS服务器对应域的根DNS服务器。因为对于提供互联网域名解析的互联网服务商,无论从性能上,还是从安全上来说,都不可能只有一台DNS服务器,而是由一台或者两台根DNS服务器(两台根DNS服务器通常是镜像关系),然后再在下面配置了多台子DNS服务器来均衡负载的(各子DNS 服务器都是从根DNS服务器中复制查询信息的),根DNS服务器一般不接受用户的直接查询,只接受子DNS服务器的递归查询,以确保整个域名服务器系统的可用性。
当用户访问某网站时,在输入了网站网址(其实就包括了域名)后,首先就有一台首选子DNS服务器进行解析,如果在它的域名和IP地址映射表中查询到相应的网站的IP地址,则立即可以访问,如果在当前子DNS服务器上没有查找到相应域名所对应的IP 地址,它就会自动把查询请求转到根DNS服务器上进行查询。如果是相应域名服务商的域名,在根DNS服务器中是肯定可以查询到相应域名IP地址的,如果访问的不是相应域名服务商域名下的网站,则会把相应查询转到对应域名服务商的域名服务器上。DNS解析过程
DNS服务器解析的过程如下所示:
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
让我们举一个例子来详细说明解析域名的过程。假设我们的客户机如果想要访问站点: , 此客户本地的域名服务器是 ,一个根域名服务器是,所要访问的网站的域名服务器是,域名解析的过程如下所示:
(1)客户机发出请求解析域名的报文。
(2)本地的域名服务器收到请求后, 查询本地缓存, 假设没有该纪录, 则本地域名服务器则向根域名服务器发出请求解析域名。
(3)根域名服务器收到请求后查询本地记录得到如下结果: NS (表示 域中的域名服务器为: ), 同时给出的地址,并将结果返回给域名服务器。
(4)域名服务器 收到回应后,再发出请求解析域名的报文。
(5)域名服务器 收到请求后,开始查询本地的记录,找到如下一条记录: A 211.120.3.12 (表示域中域名服务器的IP地址为:211.120.3.12),并将结果返回给客户本地域名服务器
。
(6)客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给客户机。
这样就完成了一次域名解析过程。
A
B
C