的工作原理
1.3  域名管理与域名的解析原理
1.3.1  DNS域
为了方便对Internet上众多的主机名进行管理,在DNS系统中引入了域的概念。一个域表示一组逻辑相关的计算机的组合,可以按地区、行业或机构对计算机进行分组,所划分出来的每个组都可形成DNS的一个域。DNS中的域类似人类社会的各种组织关系,例如,一个地区、一个大学等就相当于人类的一个域,它们定义了一些人的一种组合关系。人类的组织关系可以按照一定的层次结构进行划分,例如,“中国·湖北·武汉”表示的就是一种层次结构。DNS的域名也是按照层次结构进行设计的,每层之间使用点(.)进行分隔,且层次关系是按从右到左的顺序来指定的,即层次中的最高级别的域名位于最右边,例如,可以将“中国的湖北省下面的武汉市”这个机构的计算机所属的域命名为“wh.hb”,其中“cn”代表整个“中国”的域名,“hb”代表中国的湖北省的域名,“wh”则代表湖北省下的武汉市的域名。由于“cn”位于域名中的最高级别,所以被称之为顶级域名,“hb”是“cn”的子域,属于二级域名,“wh”则是“hb”的子域,属于三级域名。
计算机的主机名就是在它所属的域名前增加一个不含点(.)的本地名称组成的,本地名称与
林志颖和陈若仪参加的综艺
域名之间也是用点(.)进行分隔的,例如,主机名“www.hb.wh”表示隶属于“hb.wh”域中的一台本地名称为“www”的计算机。可见,DNS中的域是一种按计算机的名称进行分组的机制,通过主机名的后缀部分就可以知道计算机所属于的域,只要两台计算机的后缀名称相同,它们就属于同一个域。
网页图片显示不出来1.3.2  DNS域的管理
主机名不能由用户自己随意设置,否则,人们就可以让自己的计算机随意加入到某个域中,Internet岂不出现混乱。Internet上的DNS域的管理有着一套严格的规则:
— 每个域都需要有一台DNS服务器对其进行管理,要想让某台计算机加入到某个域中,必须征得域管理员的同意后,再由域管理员在管理该域的DNS服务器上注册这台计算机的IP地址和主机名。提示:虽然每个域都需要有一台DNS服务器对其进行管理,但是为了节省资源,可以让一台DNS服务器来兼管多个域,但从逻辑上讲,仍然相当于每个域都有一台自己的DNS服务器对其进行单独管理。
— 一个域的DNS服务器只负责管理直属于这个域的每个主机名与其IP地址的映射关系,而
不负责管理其子域中的主机名与IP地址的映射关系,例如,“”、“”、“”等主机名都由管理域“”的DNS服务器进行管理,而不能由管理域“org”的DNS服务器进行管理。
— 每个子域都必须在其直接父域的DNS服务器上注册该子域的名称和该子域的DNS服务器的IP地址,也就是说,在父域的DNS服务器上除了要注册属于该域的所有主机的信息外,还要注册属于该域的所有直接子域的域名及管理子域的DNS服务器的IP地址。例如,必须在管理域“org”的DNS服务器注册子域“”和管理子域“”的DNS服务器的IP地址后,域名“”才能真正被外界所认可。
— 为了方便对顶级域名的统一管理,在顶级域名之上其实还有一个根域名,根域名用点(.)表示,例如,“”也可以写为“”,“”中的最后的那个点(.)就表示根域名。带有根域名部分的主机名或域名才是一个完整的域名,被称为完全限定域名(Fully Qualified Domain Name,FQDN)。为了方便应用,在很多情况下都可以省略完全限定域名中的最后那个点(.),所以造成了大家平常看到的域名或主机名都是那种不带根域名部分的简写形式。事实上,我们也可以使用完全限定域名来访问
一台计算机机,例如,在操作系统的命令行窗口中执行“ping ”命令,或在浏览器中访问“”,都能得到正确的响应结果。Internet中的根域名由InterNIC(国际互联网络信息中心)集中管理,顶级域名和其下的域名则由拥有该域名的组织、公司和个人自己管理。如果要注册一个顶级域名,必须向InterNIC申请,以便在管理根域名的DNS服务器中注册该顶级域名和该顶级域的DNS管理服务器地址;如果要注册一个二级域名,则必须向该二级域名所属的顶级域名的管理机构申请,例如,要想注册“it315”这个域名,则必须向管理“cn”这个顶级域名的机构(CNNIC,中国互联网络信息中心)申请,以便在管理“cn”域的DNS服务器中注册“it315”这个域名和“it315”域的DNS管理服务器地址。1.3.3  域名的解析原理
空调外机不工作
按层次结构来组织和表示域名,不仅方便了人们阅读和记忆域名,而且还为域名解析提供了很好的分布式管理手段。当客户机通过一台DNS服务器查询某个主机名所对应的IP地址时,该DNS服务器首先检测客户机所请求的主机名是否属于自己所管理的域或子域,如果是,则检索自己的数据记录或向子域的DNS管理服务器查询,然后将结果信息返回给客户机。如果DNS服务器发现客户机所请求的主机名不属于自己所管理的域或子域,它将向管理根域的DNS服务器查询主机名中的顶级域名的DNS管理服务器的IP地址,再由顶级域名
的DNS管理服务器查询二级域名的DNS管理服务器的IP地址,依次递推,直到到最低级别的域的DNS管理服务器,最后再通过这个最低级别的域的DNS管理服务器查询出主机名所对应的IP地址。图1.14是客户机查询主机名“www.wh.hb”的IP地址的过程。
从图1.14中可以看到,主机名的解析过程是从根域的DNS管理服务器开始逐一往下查询的。DNS查询服务器必须知道根域的DNS管理服务器的IP地址,所以,根域的DNS管理服务器的IP地址必须是固定不变和完全对外公开的。只要查询InterNIC(国际互联网络信息中心)的网站,就很容易知道根域的DNS管理服务器的IP地址,由于根域的DNS管理服务器的访问量非常大,所以,InterNIC维护着多台根域DNS管理服务器,它们被分散在不同的国家和地区,以便全球的计算机可以就近访问。事实上,在安装任何一种DNS服务器程序时,它都会提供一个初始文件,这个文件中就包含了根域的DNS管理服务器的IP地址。另外,从图1.14中的从上往下的查询过程中也可以看到,父域的DNS管理服务器必须知道子域的DNS管理服务器,这就是为什么必须在父域的DNS管理服务器中注册子域的DNS管理服务器的IP地址的原因。
你好神手什么时候上映在图1.14中,当DNS服务器接收到子域中的主机名的查询请求时,它直接将子域的DNS管理服务器的IP地址返回给查询者,然后由查询者自己再向子域的DNS管理服务器进行查询。除了这种方式之外,也可以将DNS服务器设置成按另外一种方式进行工作,当它接收到子域中的主机名的查询请求时,不是直接将子域的DNS管理服务器的IP地址返回给查询者,而是主动向子域的DNS管理服务器发出查询请求,得到子域的DNS管理服务器返回的
结果后,再将结果返回给查询者,如图1.15所示。
为了提高域名解析的效率,DNS查询服务器在将查询到的记录信息返回给客户机的同时,通常都还会将这条记录信息保存在自己的缓存中,当再有其他客户机向DNS查询服务器查询这条记录信息时,DNS查询服务器将直接把缓存的结果返回给客户机。DNS查询服务器
缓存的每条记录信息都有一定的期限,这个期限值由授权管理这条记录信息的DNS服务器设置,通常为1天(即24个小时),缓存期限值作为记录信息的一部分返回给DNS查询服务器。如果某条记录信息在DNS查询服务器中缓存的时间超过了它的期限值,当再有客户机查询这条记录信息时,DNS查询服务器将重新查询这条记录并更新缓存。DNS服务器可以将它管理的记录信息设置为禁止其他DNS服务器缓存,这样,其他DNS服务器将不缓存从该DNS服务器上检索的结果,这通常应用于某个DNS服务器管理的域中的主机名所对应的IP地址需要频繁更改的场合,例如,动态DNS系统。
1.3.4  利用动态DNS在家搭建网络服务器
对许多个人用户来说,在家通常都采用拨号的方式上网,只要网络接入商为其接入的计算机分配了一个Internet上的真实IP地址,那么,Internet上的其他用户就可以访问这台计算机上的网络服务程序。据笔者所知,ADSL和长城宽带都能为其接入的计算机分配真实的Internet IP地址,如果某个网络接入商为其接入的计算机分配的是其内部的私有IP地址,那么,Internet上的其他计算机将无法主动访问该计算机,也即Internet上的其他计算机无法访问这台计算机上的网络服务程序。下面的讲解假设网络接入商为其接入的计算机分配的是真实的Internet IP地址。
假设一台计算机拨号上网后,网络接入商为该计算机分配的IP地址是61.171.3.5,只要把这个地址告诉Internet上的其他用户,其他用户就可以使用这个IP地址来访问这台计算机上的网络服务了(当然,你的计算机上应安装和启动了相应的服务器程序)。但是,网络接入商为拨号上网的计算机分配的IP地址是临时的,这个地址在每次重新拨号后都会发生改变,例如,这一次上网分配给该计算机的IP地址是61.171.3.5,而下一次分配的IP地址可能就是61.171.5.8了。这样,该计算机的IP地址变来变去,就像一个人的电话号码改了又改一样,这个人的朋友怎么能主动联系上他呢?除非他在每次改变电话号码后都主动通知他所有的朋友:新的电话号码是多少。这样显然是件非常麻烦的事情,并且,对于网络服务这种应用来说,想将新的IP地址通知给所有可能的用户根本就是不可能的事情。针对这种情况,人们在DNS系统的基础上开发出了一种动态DNS系统,其功能就是将一个固定的主机名实时地映射到经常动态改变的IP地址上,以便Internet上的其他计算机始终可以使用一个固定的主机名来访问IP地址经常改变的计算机。
动态DNS系统由两部分组成:动态DNS服务器程序和客户端程序。在拨号上网的计算机上仅需要安装和设置动态DNS系统服务商所提供的客户端程序,当一台计算机每次拨号上网分配了新的IP地址后,客户端程序将向动态DNS服务器报告新的IP地址,动态DNS服务器
将立即更新其记录的这台计算机的主机名所对应的IP地址。由于动态DNS服务器禁止其他的DNS服务器缓存它的记录信息,所以,只要其他计算机访问属于某个动态DNS服务器管理的主机名时,它们以及DNS查询服务器都不会有以前获得过的与这个主机名相对应的IP地址的缓存信息,而是必须重新向授权管理这个主机名的动态DNS服务器查询其当前的IP地址,这样,其他计算机获得的这台计算机的主机名所对应的IP地址就是实时的和准确的。
性价比高的suv汽车有了动态DNS系统,对于一些个人用户来说,就可以将Web服务器、FTP服务器以及邮件服务器安装在自己家里的计算机上,并让Internet上的其他用户通过一个固定的主机名来访问这些网络服务。读者只要使用Google搜索一下“动态DNS下载”之类的关键字,就可以到很多免费的动态DNS系统。笔者使用的是希网()提供的动态DNS服务,下载其客户端软件进行安装和参照帮助信息进行设置后,即可让自己拨号上网的计算机获得一个外界可以访问的主机名。
1.4  MX记录的应用
在DNS服务器上除了可以建立主机名与IP地址的映射外,还可以建立其他多种映射,例如,
建立某个主机名与其别名的映射;建立某个域名与其SMTP服务器的映射。在DNS服务器上创建的各项映射关系称为记录,一项映射关系就是一条记录,在DNS服务器上创建的主机名与IP地址的映射关系称为A记录,主机名与别名的映射关系称为CNAME记录,域名与其SMTP服务器的映射关系称为MX记录。
在DNS服务器上为什么要建立MX记录呢?即为什么要建立域名与其SMTP服务器的映射关系呢?这与地址的表示形式和工作原理有关。邮件地址后缀部分表示的通常都是一个域名,而不是接收邮件的服务器的主机名,例如,邮件地址“”中的“”对应的就是一个域名。域只是一个逻辑组合概念,它并不代表真正的计算机,对于使用某个域名作为后缀的邮件地址,外界发送给它的必须由一台专门的SMTP服务器来进行接收和处理,接收和处理某个域的的SMTP服务器即为该域的SMTP服务器,外界发送给某个域的实际上都是发送给该域的SMTP服务器。外界如何知道一个域的SMTP服务器的地址呢?这就是通过管理该域的DNS服务器上的MX记录来获得的,这也就是在DNS服务器上为什么要建立域名与其SMTP服务器的映射关系的原因。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。