
1、DNS简介
域名系统DNS(Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,提供域名与IP地址之间的转换服务。
网络中的每台主机都是由IP地址来标识的,用户只有获得待访问主机的IP地址才能够成功实现访问操作。
对于用户来讲,记住主机的IP地址是相当困难的,因此设计了一种字符串形式的主机命名机制,这些主机名与IP地址一一对应,这就是域名系统。
域名系统解决了IP地址信息不便于记忆这一问题。用户进行访问网络主机操作时,可以直接使用便于记忆的、有意义的域名,由网络中的域名解析服务器将域名解析为正确的IP地址。
2、DNS工作原理
DNS域名解析分为静态域名解析和动态域名解析,二者可以配合使用。
在解析域名时,首先采用静态域名解析(查找静态域名解析表),如果静态域名解析不成功,再采用动态域名解析。由于动态域名解析可能会花费一定的时间,且需要域名服务器的配合,因而可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。
3、静态DNS
静态域名解析通过静态域名解析表进行,用户手动建立域名和IP地址之间的对应关系表,将一些常用的域名放入表中。当客户端需要域名所对应的IP地址时,首先到静态域名解析表中查找指定的域名,从而获得所对应的IP地址,提高域名解析的效率。
4、动态DNS
用户程序(例如Ping、Tracert)对域名服务器(DNS Server)的访问是通过DNS客户端(DNS Client)的一个地址解析器(Resolver)完成的。
图1 动态DNS工作原理图
用户程序、解析器和域名服务器以及解析器上的缓存区关系如上图1所示。
其中解析器和缓存区集成在一起构成DNS Client,它的作用是接收用户程序的DNS请求,并对其做出反应。一般来说,用户程序(例如Ping、Tracert)、缓存区和解析器是在同一台主机上,域名服务器和它们在不同的主机上。
5、动态DNS的工作过程
1、用户使用域名访问某些应用服务时,用户程序首先向DNS客户端中的解析器发出请求。
2、解析器收到用户程序发送的DNS请求后,首先查询本地的域名缓存:
本地的域名缓存中存在该域名对应的映射表项,解析器就将域名对应的IP地址返回给用户程序。
本地的域名缓存没有发现所要查找的映射项,解析器就向域名服务器(DNS Server)发送查询请求。
3、域名服务器收到查询报文后,首先判断请求的域名是否处于自己被授权管理的子域里,再根据不同的判断结果,向DNS Client发送相应的响应报文。
如果是在自己被授权管理的子域范围之内,服务器首先从自己的数据库中查找域名对应的IP地址。
如果判断该域名不属于本域范围之内,就将请求交给上一级的域名解析服务器处理,直到完成解析,并将解析的结果返回给DNS客户端。
4、DNS客户端收到域名服务器的响应报文后,将解析结果返回给应用程序。
动态域名解析支持缓存功能。每次动态解析成功的域名与IP地址的映射均存放在动态域名缓存区中,当下一次查询相同域名的时候,就可以直接从缓存区中读取,不用再向域名服务器进行请求。
缓存区中的映射在一段时间后会被老化删除,以保证及时从域名服务器得到最新的内容。老化时间由域名服务器设置,DNS客户端从协议报文中获得老化时间。
6、域名后缀列表功能
动态域名解析支持域名后缀列表功能,用户可以预先设置一些域名后缀,在域名解析的时候,用户只需要输入域名的部分字段,系统会自动将输入的域名加上不同的后缀进行解析。
举例说明,用户想查询域名023wg.com,那么可以先在后缀列表中配置com,然后输入023wg进行查询,系统会自动将输入的域名与后缀连接成023wg.com进行查询。
使用域名后缀的时候,根据用户输入域名方式的不同,查询方式分成以下几种情况:
1、如果用户输入的域名中没有“.”,比如huawei,系统认为这是一个主机名,会首先加上域名后缀进行查询,如果所有加后缀的域名查询都失败,将使用最初输入的域名(如huawei)进行查询。
2、如果用户输入的域名中间有“.”,比如www.huawei,系统直接用它进行查询,如果查询失败,再依次加上各个域名后缀进行查询。
3、如果用户输入的域名最后有“.”,比如huawei.com.,表示不需要进行域名后缀添加,系统直接用输入的域名进行查询,不论成功与否都直接返回。
如果用户输入的字符中最后一个字符为“.”,就只根据用户输入的字符进行查找,而不会去匹配用户预先设置的域名后缀,因此最后这个“.”,也被称为查询终止符。
带有查询终止符的域名,称为绝对域名或完全合格域名FQDN(Full Qualified Domain Name)。
7、查询类型
A类查询是最常用的查询类型,用于请求获得域名对应的IP地址。
例如在ping和tracert过程中,可以ping或tracert一个域名,此时ping或tracert作为用户程序会向系统中DNS客户端查询该域名对应的IP地址。如果系统中没有该域名对应的IP地址信息,DNS客户端就会向DNS服务器发起A类查询,获取该域名对应的IP地址,完成ping和tracert的功能。



本文地址:http://www.023wg.com/243.html
版权声明:若无注明,本文皆为“Swiers思唯网络博客”原创,转载请保留文章出处。
