1.5.4 域名解析的过程
大家已经知道了Internet中DNS服务器的组织架构,下面讲解计算机域名解析的过程。图1-51所示的Client计算机的DNS服务器指向了13.2.1.2,也就是指向了B服务器。现在Client向DNS服务器发送一个域名解析请求数据包,解析www.inhe.net的IP地址,B服务器正巧负责inhe.net域名解析,查询本地记录后将查询结果221.192.141.115直接返回给Client,DNS服务器直接返回查询结果就是权威应答,这是一种情况。
图1-51 域名解析的过程(一)
现在看另一种情况,Client向B服务器发送请求,解析www.**.com域名的IP地址,如图1-52所示,解析过程是什么样的呢?
图1-52 域名解析的过程(二)
域名解析的步骤如下。
第①步,Client向DNS服务器13.2.1.2发送域名解析请求。
第②步,B服务器只负责net域名解析,它也不知道哪个DNS服务器负责com域名解析,但它知道根域名服务器(A)的IP地址,于是将域名解析的请求转发给根域名服务器。
第③步,根域名服务器返回查询结果,告诉B服务器去查询C服务器。
第④步,B服务器将域名解析请求转发到C服务器。
第⑤步,C服务器虽然负责com域名解析,但**.com域名解析委派给了E服务器,C服务器返回查询结果,告诉B服务器去查询E服务器。
第⑥步,B服务器将域名解析请求转发到E服务器。
第⑦步,E服务器上有**.com域名下的主机记录,将www.**.com的IP 地址220.181.90.14返回给B服务器。
第⑧步,B服务器将费尽周折查找到的结果缓存一份到本地,将解析到的www.**.com的IP地址220.181.90.14返回给Client。这个查询结果是B服务器查询得到的,因此是非授权应答。Client缓存解析的结果。
至此,Client得到解析的最终结果,它并不知道B服务器所经历的曲折的查找过程。对Client来说,它可以使用B服务器解析全球的域名。
第⑨步,Client2的DNS也指向了13.2.1.2,现在Client2也需要解析www.**.com的地址,它将域名解析请求发送给B服务器。
第⑩步,B服务器刚刚缓存了www.**.com的查询结果,所以直接查询缓存,将www.**.com的IP地址返回给Client2。
可见DNS服务器的缓存功能能够减少向根域名服务器转发查询次数、减少Internet上DNS查询报文的数量,缓存的结果有效期通常为1天。如果没有时间限制,当www.**.com的IP地址变化了,Client2就不能查询到新的IP地址了。