[整理]域名解析图解

作者在 2008-03-30 10:46:38 发布以下内容

         DNS的工作原理及过程分下面几个步骤:
         第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
         第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
         第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。
         第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
         第五步:重复第四步,直到找到正确的纪录。
         第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

     让我们举一个例子来详细说明解析域名的过程。假设我们的客户机如果想要访问站点: www.element.org , 此客户本地的域名服务器是 dns.company.com , 一个根域名服务器是 ns.inter.net ,所要访问的网站的域名服务器是 dns.element.org ,域名解析的过程如下所示:

  1. 客户机发出请求解析域名 www.element.org 的报文;
  2. 本地的域名服务器收到请求后,查询本地缓存,假设没有该纪录,则本地域名服务器 dns.company.com 则向根域名服务器 ns.inter.net 发出请求解析域名 www.element.org ;
  3. 根域名服务器 ns.inter.net 收到请求后查询本地记录得到如下结果:element.org NS dns.element.org (表示 element.org 域中的域名服务器为:dns.element.org ),同时给出 dns.element.org 的地址,并将结果返回给域名服务器 dns.company.com ;
  4. 域名服务器 dns.company.com 收到回应后,再发出请求解析域名 www.element.org 的报文;
  5. 域名服务器 dns.element.org 收到请求后,开始查询本地的记录,找到如下一条记录: www.element.org A 211.120.3.12 (表示 element.org 域中域名服务器 dns.element.org 的IP地址为:211.120.3.12),并将结果返回给客户本地域名服务器 dns.company.com ;
  6. 客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给客户机。
    这样就完成了一次域名解析过程。

下面是我用http://ggg.a.orn.jp/ 做了一个对ww.bookold.net 解析过程的跟踪:

 ; <<>> DiG 9.3.4 <<>> www.bookold.net +trace
;; global options:  printcmd
. 370632 IN NS A.ROOT-SERVERS.NET.
. 370632 IN NS L.ROOT-SERVERS.NET.
. 370632 IN NS D.ROOT-SERVERS.NET.
. 370632 IN NS J.ROOT-SERVERS.NET.
. 370632 IN NS M.ROOT-SERVERS.NET.
. 370632 IN NS B.ROOT-SERVERS.NET.
. 370632 IN NS K.ROOT-SERVERS.NET.
. 370632 IN NS H.ROOT-SERVERS.NET.
. 370632 IN NS G.ROOT-SERVERS.NET.
. 370632 IN NS I.ROOT-SERVERS.NET.
. 370632 IN NS F.ROOT-SERVERS.NET.
. 370632 IN NS C.ROOT-SERVERS.NET.
. 370632 IN NS E.ROOT-SERVERS.NET.
;; Received 500 bytes from 210.130.232.1#53(210.130.232.1) in 31 ms

net. 172800 IN NS a.gtld-servers.net.
net. 172800 IN NS b.gtld-servers.net.
net. 172800 IN NS c.gtld-servers.net.
net. 172800 IN NS d.gtld-servers.net.
net. 172800 IN NS e.gtld-servers.net.
net. 172800 IN NS f.gtld-servers.net.
net. 172800 IN NS g.gtld-servers.net.
net. 172800 IN NS h.gtld-servers.net.
net. 172800 IN NS i.gtld-servers.net.
net. 172800 IN NS j.gtld-servers.net.
net. 172800 IN NS k.gtld-servers.net.
net. 172800 IN NS l.gtld-servers.net.
net. 172800 IN NS m.gtld-servers.net.
;; Received 490 bytes from 199.7.83.42#53(L.ROOT-SERVERS.NET) in 148 ms

bookold.net. 172800 IN NS ns1.4everdns.com.
bookold.net. 172800 IN NS ns2.4everdns.com.
;; Received 113 bytes from 192.5.6.30#53(a.gtld-servers.net) in 230 ms

www.bookold.net. 600 IN A 61.152.169.194
bookold.net. 600 IN NS dns.bizcn.com.
;; Received 92 bytes from 218.5.77.19#53(ns1.4everdns.com) in 121 ms

0

 

默认分类 | 阅读 2938 次
文章评论,共0条
游客请输入验证码
浏览585115次