首页 理论教育域名解析及其重要性-计算机网络技术

域名解析及其重要性-计算机网络技术

【摘要】:域名解析包括由域名到IP 地址的正向解析和IP 地址到域名的逆向解析。域名解析过程是由分布在互联网上的许多域名服务器程序协同完成的。在域名解析的过程中,可采取递归查询和迭代查询两种策略。DNS 服务器进行域名解析时,若采用递归查询方法,本地域名服务器需要发送的域名查询请求是多少条?虽然高速缓存加快了域名解析的过程,但其映射内容必须保持最新的状态。

域名解析包括由域名到IP 地址的正向解析和IP 地址到域名的逆向解析。域名解析过程是由分布在互联网上的许多域名服务器程序协同完成的。在域名解析的过程中,可采取递归查询和迭代查询两种策略。

(1)递归查询

如果主机访问的本地域名服务器不知道被查询域名的IP 地址,本地域名服务器就以DNS客户的身份向根域名服务器发出查询请求报文,由根域名服务器替代该主机继续查询,直至查询到所需的IP 地址,或者报告无法得到查询结果的错误信息,最后将查询结果返回给主机。

(2)迭代查询

当根域名服务器收到来自本地域名服务器的查询请求报文时,就给出查询所需的IP 地址,或者返回它认为可以解析本次查询的顶级域名服务器的IP 地址;然后本地域名服务器继续进行迭代查询,最后获得所要解析的IP 地址,并将结果返回给发起查询的主机。本地域名服务器选择何种查询策略,可在最初的查询请求报文中设定。

一般地,主机向本地域名服务器的查询采取递归方式,本地域名服务器向根域名服务器查询时采用迭代方式。如图9.2所示为这两种查询方式的基本过程,其图中的序号表示查询步骤。

在图9.2 中,无论是迭代查询还是递归查询,都发送了四个请求报文和四个响应报文,但这些报文的传送途径是不相同的。

图9.2 递归查询与迭代查询

在图9.2 中,本地域名服务器经过三次迭代查询后从权限域名dns.ab C.com 处得到了主机需要的IP 地址,而图9.2(b)中,本地域名服务器只需要向根域名服务器查询一次,后面的几次查询都是在其他几个域名服务器之间进行的,只是在最后,本地域名服务器从根域名服务器处得到了所需的IP 地址。(www.chuimin.cn)

【例9.1】DNS 服务器进行域名解析时,若采用递归查询方法,本地域名服务器需要发送的域名查询请求是多少条?

【解析】域名的递归查询方式也可以表达为如图9.3所示。由图可知,本地计算机需要向本地域名服务器提交一条域名查询请求。当本地域名服务器进行解析时,若采用递归查询方法,只需要向上级DNS 服务器提交一条域名查询请求即可,上级DNS 服务器会继续递归查询,直到有结果后,再逐层返回。这个过程类似于程序设计中的递归函数执行过程,因此,计算机只需要发送一条域名请求,就可以得出结果。

图9.3 递归查询过程

【答案】1 条

为了提高查询效率和减少互联网上DNS 查询报文的数量,域名服务器往往采用高速缓存的方式存放最近查询过的域名及其映射关系。于是,当客户请求同样的映射时,它就可以直接从高速缓存中取得结果。这种设计理念不但适用于本地域名服务器,同样适用于主机。主机在启动时从本地域名服务器下载映射信息,将自己最近使用过的映射信息存于高速缓存中。这样,主机只有从高速缓存找不到映射关系结果时才去访问本地域名服务器,从而加速了域名解析的过程。

虽然高速缓存加快了域名解析的过程,但其映射内容必须保持最新的状态。可采用两种方式解决这个问题:一种是在权限域名服务器的映射信息中添加生存时间(TTL),一旦超过生存时间,高速缓存中的映射信息就失效(任何域名查询都必须要发送给权限域名服务器);另一种是域名服务器对保存在高速缓存中的每项内容设置一个计时器,以保证高速缓存中的映射信息定期更新。

为了提高域名服务器的可靠性,DNS 域名服务器都将数据复制到几个域名服务器来保存,其中一个是主域名服务器,其他的是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证DNS 的查询工作不会中断。主域名服务器定期将数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行,从而保证数据的一致性。