域名解析技术介绍


域名解析

域名解析简介

域名系统(DNSDomain Name System)是一种用于TCP/IP应用程序的分布式数据库,提供域名与IP地址之间的转换。通过域名系统,用户进行某些应用时,可以直接使用便于记忆的、有意义的域名,而由网络中的域名解析服务器将域名解析为正确的IP地址。

域名解析分为静态域名解析和动态域名解析,二者可以配合使用。在解析域名时,首先采用静态域名解析(查找静态域名解析表),如果静态域名解析不成功,再采用动态域名解析。由于动态域名解析可能会花费一定的时间,且需要域名服务器的配合,因而可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

静态域名解析

静态域名解析就是手工建立域名和IP地址之间的对应关系。当用户使用域名进行某些应用(如telnet应用)时,系统查找静态域名解析表,从中获取指定域名对应的IP地址。

动态域名解析

1. 解析过程

动态域名解析是通过对域名服务器的查询完成的。解析过程如下:

(1)        当用户使用域名进行某些应用时,用户程序首先向DNS客户端中的解析器发出请求。

(2)        DNS客户端收到请求后,首先查询本地的域名缓存。如果存在已解析成功的映射项,就将域名对应的IP地址返回给用户程序;如果没有发现所要查找的映射项,就向域名服务器(DNS Server)发送查询请求。

(3)        域名服务器首先从自己的数据库中查找域名对应的IP地址。如果判断该域名不属于本域范围之内,就将请求交给上一级的域名解析服务器处理,直到完成解析,并将解析的结果返回给DNS客户端。

(4)        DNS客户端收到域名服务器的响应报文后,将解析结果返回给应用程序。

图1 动态DNS

用户程序、DNS客户端及域名服务器的关系如1所示,其中解析器和缓存构成DNS客户端。用户程序、DNS客户端在同一台设备上,而DNS客户端和服务器一般分布在两台设备上。

动态域名解析支持缓存功能。每次动态解析成功的域名与IP地址的映射均存放在动态域名缓存区中,当下一次查询相同域名的时候,就可以直接从缓存区中读取,不用再向域名服务器进行请求。缓存区中的映射在一段时间后会被老化删除,以保证及时从域名服务器得到最新的内容。

2. 域名后缀列表功能

动态域名解析支持域名后缀列表功能。用户可以预先设置一些域名后缀,在域名解析的时候,用户只需要输入域名的部分字段,系统会自动将输入的域名加上不同的后缀进行解析。举例说明,用户想查询域名aabbcc.com,那么可以先在后缀列表中配置com,然后输入aabbcc进行查询,系统会自动将输入的域名与后缀连接成aabbcc.com进行查询。

使用域名后缀的时候,根据用户输入域名方式的不同,查询方式分成以下几种情况:

l              如果用户输入的域名中没有“.”,比如aabbcc,系统认为这是一个主机名,会首先加上域名后缀进行查询,如果所有加后缀的域名查询都失败,将使用最初输入的域名(如aabbcc)进行查询。

l              如果用户输入的域名中间有“.”,比如www.aabbcc,系统直接用它进行查询,如果查询失败,再依次加上各个域名后缀进行查询。

l              如果用户输入的域名最后有“.”,比如aabbcc.com.,表示不需要进行域名后缀添加,系统直接用输入的域名进行查询,不论成功与否都直接返回。就是说,如果用户输入的字符中最后一个字符为“.”,就只根据用户输入的字符进行查找,而不会去匹配用户预先设置的域名后缀,因此最后这个“.”,也被称为查找终止符。带有查询终止符的域名,称为绝对域名或完全合格的域名FQDNFull Qualified Domain Name)。

DNS代理

1. DNS代理简介

DNS代理(DNS proxy)用来在DNS clientDNS server之间转发DNS请求和应答报文,代替DNS client进行域名解析。

局域网内的DNS clientDNS proxy当作DNS server,将DNS请求报文发送给DNS proxyDNS proxy将该请求报文转发到真正的DNS server,并将DNS server的应答报文返回给DNS client,从而实现域名解析。

使用DNS proxy功能后,当DNS server的地址发生变化时,只需改变DNS proxy上的配置,无需改变局域网内每个DNS client的配置,从而简化了网络管理。

DNS proxy的典型应用环境如2所示。

图2 DNS代理典型组网应用

2. DNS代理的工作机制

DNS代理的工作过程如下:

(1)        DNS clientDNS proxy当作DNS server,将DNS请求报文发送给DNS proxy,即请求报文的目的地址为DNS proxyIP地址。

(2)        DNS proxy收到请求报文后,首先查找本地的静态域名解析表,如果静态域名解析表中存在请求的信息,则DNS proxy直接通过DNS应答报文,将域名解析结果返回给DNS client

(3)        如果静态域名解析表中没有请求的信息,则DNS proxy将报文转发给DNS server,通过DNS server进行域名解析。

(4)        DNS proxy收到DNS server的应答报文后,将报文转发给DNS clientDNS client利用域名解析的结果进行相应的处理。

 

附件下载

联系我们