代码改变世界

域名与IP、DNS的工作原理知多少

2011-10-20 19:05  Batys  阅读(1560)  评论(0编辑  收藏  举报

  域名IP地址之间是一一对应的关系,并且多个域名可以对应同一个IP地址。就像一个人的姓名和身份证号码之间的关系,显然记忆人的名字要比身份证 号码容易的多。IP地址是网络上标识用户站点的数字地址,为了简单好记,采用域名来代替IP地址表示站点地址,域名服务器(DNS)将域名解析成IP地 址,使之一一对应。

  IP地址是不容易被记住的,而域名却很容易被人们记住,域名作为IP地址的助记符,起来了相当重要的作用。但是要是让每一台计算机都把全世界的计算机的IP地址和域名对应起来是不现实的,因此要有一个系统专门做这件事,这就是DNS。

  DNS, 简单地说,就是Domain Name System,翻成中文就是“域名系统”。在一个TCP/IP架构的网络(例如Internet)环境中,DNS是一个非常重要而且常用的系统。主要的功能就是将人易于记忆的域名与人不容易记忆的IP地址作转换,而上面执行DNS服务的这台网络主机,就可以称之为DNS Server。基本上,通常我们都认为DNS只是将域名转换成IP地址,然后再使用所查到的IP地址去连接(俗称“正向解析”)。事实上,将IP地址转换成域名的功能也是常使用到的,当login到一台Unix工作站时,工作站就会去做反查,找出是从哪个地方连接进来的(俗称“逆向解析”)。

  域名解析就是实现域名和IP地址之间的转换过程。

  域名解析的方法分别有:HOSTS、NIS、DNS。而HOSTS在网络中的每台主机都用一个文本文件来存放域名和IP地址的对照表,适用于小型网络;NIS则存放的解析记录,适用于中型网络;DNS 域名解析信息分布存储在网络中每台主机,实现分布式解析,这就适用于大型网络上。现在我们介绍一下这个DNS解析!

  DNS解析的过程可分:正向解析和反向解析

正向解析

当DNS客户端向DNS服务器查询IP地址时,或DNS服务器在向另外一台DNS服务器查询IP地址时,有以下三种查询方式:

(1)直接从缓冲存储器解析  可以直接从DNS客户端或DNS服务器的高速缓冲器中获得查询结果。

(2)递归查询  也就是DNS客户端送出查询要求后,如果本地DNS服务器内没有需要的数据,则DNS服务器会代替客户端向其他的DNS服务器查询,一般由DNS客户端所提出的查询要求是属于递归查询。

(3)循环查询  一般DNS服务器与DNS服务器之间的查询属于这种查询方式,当第1台DNS服务器在向第2台DNS服务器提出查询要求后,如果第2台DNS服务器内没有所需要的数据,则它会提供第3台DNS服务器的IP地址给第1台服务器,让第1台DNS服务器向第3台DNS服务器查询。具体解析过程,如下图所示:

反向解析

域名反向解析可以让DNS客户端利用IP地址查询其主机名称,服务器利用in-addr.arpa反向指针,将一个IP地下指点向域名。