标签:
域名系统DNS主要解决域名与IP地址的转换,它被设计为一个联机分布式数据库系统,并采用客户-服务器模式。dns的一个优点它使大多数域名都在本地进行解析,只有少量解析需要在因特网上通信,因此dns的效率很高,而且由于dns是分布式系统,单一节点出错不会影响整个系统的运行。域名服务器可分为四类,按照树状层次结构分类如下。
根域名服务器:它是最高层次的域名服务器,也是最重要的域名服务器,所有的根域名服务器里都保存了所有的顶级域名服务器的IP域名表。不管是哪个本地域名服务器,如果本地没有解析出来它将首先请求根域名服务器,所以如果根域名服务器瘫痪,那整个dns系统就会瘫痪。一般情况下根域名服务器并没有存放所有域名的IP地址映射表,它也不可能存储那么多,根域名服务器往往是往往是告诉客户端下一步去请求哪一个顶级域名服务器。
顶级域名服务器:它负责管理顶级域名服务器注册的所有二级域名,当它收到客户端的请求时就会给出相应的应答,这个应答可能是最后的结果也可能是下一步应当要去请求的顶级域名服务器的IP地址。
权限域名服务器:它是负责一个区的域名服务器,一个域有一个或多个区组成,它收到客户端的请求后可能给出最终的IP地址或者下一步应该要去请求的权限域名服务器。
本地域名服务器:这个对域名系统也相当重要,可能一所大学或者一个系拥有一个本地域名服务器。我们在配置ip地址时会填写一个dns服务器地址,这就是我们的本地域名服务器,它一般离用户比较近。当一个主机发送dns查询请求,这个查询请求报文就发送给本地域名服务器。
现在了解了4种域名服务器,最主要的是理解域名服务器分层的思想。接下来是一个完整请求的过程。首先应用进程调用解析程序构造udp数据报文并成为dns的一个客户,这个报文里有呆解析的域名。接下来将这个数据包发给本地域名服务器,如果本地域名服务器里存储了相应的域名地址映射表就会返回这个域名的IP地址结果给客户端。如果本地域名服务器未找到结果,现在这个本地域名服务器就将成为一个新的客户。它将会去请求根域名服务器,根服务器要么给出结果要么告诉本地域名服务器下一步应该去请求哪一个顶级域名服务器,然后本地域名服务器再去请求下一个顶级域名服务器,它将会告诉本地域名服务器去请求权限域名服务器,接下来权限域名服务器将会返回这个域名所对应的IP地址。最后本地域名服务器再将结果返回给主机。
在本地域名服务器中会有DNS高速缓存,它和ARP缓存是一个概念存储了域名IP地址映射表。同时在本地主机中也会有一个高速缓存,当在本机高速缓存中找不到结果时才会去请求本地域名服务器。许多主机在启动时就会去同步本地域名服务器的dns高速缓存,然后会动态的更新这个缓存数据库。
标签:
原文地址:http://www.cnblogs.com/fangyz/p/5423818.html