域名系统DNS

来源:lsy 发布时间:2013-07-17 17:51:13 点击数:

  78OA办公系统

  我们在接触网络的时候总是听到IP、域名这些名词,那为什么会出现域名,什么叫域名系统呢?域名系统是因特网使用的命名系统,用来把人们使用的机器名字转换为IP地址。域名系统其实就是名字系统,而在这种因特网的命名系统中使用了许多的“域”,因此就出现了“域名”这个名词。许多应用层软件经常直接使用域名系统DNS,但计算机的用户只是间接而不是直接的使用域名系统。
  从理论上讲,整个因特网可以只使用一个域名服务器,使它转入因特网上所有的主机名,并回答所有对IP地址的查询。然而这种做法并不可取。因为因特网规模很大,这样的域名服务器肯定会过负荷而无法正常工作,而且一旦域名服务器出现故障,整个因特网就会瘫痪。因此,早在1983年因特网就开始采用树状结构的命名方法,并使用分布式的域名系统DNS。因特网的域名系统DNS被设计成为联机分布式数据库系统,并采用客户服务器方式。DNS使大多数名字都在本地进行解析,仅少量解析需要在因特网上通信,因此DNS系统的效率很高。
  域名到IP地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的节点上运行,而人们也常把运行域名服务器程序的机器也称为域名服务器。当某个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的的主机的IP地址后即可进行通信。
  域名解析的过程:首先,主机箱本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让该主机自己进行下一步的查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。其次,本地域名服务器向根域名服务器的查询通常采用迭代查询。当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器,下一步应该向哪个域名服务器查询。然后让本地域名服务器进行后续的查询。跟域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当向哪个权限域名服务器进行查询。本地域名服务器就这样的进行迭代查询。最后,知道了所要解析的域名IP地址,然后把这个结果返回给发起查询的主机。