理论部分:
一、DNS概述:
在早期的TCP/IP网络中,名称解析通常由一台计算机负责,它维护一份主机名称与IP地址对应的清单(host文件)。当网络中主机之间通信时,源主机会通过查询host文件,将目的主机的主机名解析成IP地址,以便进行通信。这种方法虽然简单,但随着主机数目的增多,会产生一些问题。比如:主机名称重复、主机维护困难等。为了解决这些问题早期的网络应用人员将巨大的信息量按层次结构划分成许多小的部分,将每一部分存储在不同的计算机上,形成层次性、分布式的特点。这样一方面解决了信息的统一性,另一方面信息数据分布面广,不会形成瓶颈,有利于提高访问的效率。于是就产生了DNS。
二、域名空间结构:
域名空间采用分层结构,包括:根域、顶级域、二级域和主机名。
1.根域:根(root)域就是“.”(点号),它由Internet名字注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到Internet的各个组织。
2.顶级域:DNS根域下一级是顶级域,它是由Internet名字授权机构管理。共有三种类型的顶级域:
(1).组织域,采用三个字符的代号,表示DNS域中所名食的组织的主要功能或活动。
gov 政府部门 com 商业部门
edu 教育部门 org 民间团体组织
net 网络服务机构 mil 军事部门
(2).国家或地区域,采用两个字符的国家或地区代号:
cn 中国 jp 日本
uk 英国 au 澳大利亚
hk 中国香港......
(3).反向域,这是一个特殊域,名称为in-addr.arpa用于将IP地址映射到名称。
3.二级域:
二级域就是当我们成立公司的时候所申请的域名。例如:、等,其中baidu和google就是DNS中的二级域。而“.com”就是顶级域,“www就是主机名”。
4.主机名:
主机名处于域名空间结构中的最底层,主机名和前面讲的域名(DNS后缀)结合构成FQDN(Full Qualified Domain Name,完全合格域名)。主机名是FQDN最左端的部分。例如:“和”其中“www”就是一个主机“ftp”是另一个主机。只不过它们各代表的意义不同。“www”一般代表WEB服务器,而“ftp”一般代表FTP服务器。当用户访问一个网站时,他都是通过FQDN名进行访问,但是FQDN并不能真正的定位目标服务器的位置,这进就需要DNS服务器将FQDN解析成IP地址。
三、DNS服务器的作用。
简单的来说DNS服务器的作用就是将域名解析成IP地址。使用户输入公司的域名访问公司的网站时候能够正常访问。
四、DNS查询过程及相关知识:
1.DNS的查询过程:
下面我们通过一个查询“”的例子来学习DNS查询过程的工作原理。
(1).客户机将“”的查询传递到自己的首选DNS服务器上。
(2).首选DNS服务器首先查看自己的区域数据库,由于此服务器没有“baidu.com”域的授权记录,所以它将查询传递到根域服务器上请求解析主机名称。
(3).根域DNS服务器把负责解析“.com”域的DNS服务器的IP地址返回给首选DNS服务器。
(4).首选DNS服务器将请求发送给负责“.com”域的服务器。
(5).负责“.com”域的服务器把负责解析“baidu.com”的域的IP地址返回给首选DNS服务器。
(6).首选DNS服务器向负责“baidu.com”区域的服务器发送请求。
(7).因为此服务器上有“”主机的记录,所以就把它的IP地址返回给首选DNS服务器。
(8).客户机的首选DNS服务器把“”的IP地址发送给客户机。
(9).域名解析成功后,客户机可以访问“”主机。
(10).WEB服务器响应客户机的访问请求。
如果DNS客户机的首选DNS服务器没有返回给客户机“”的IP地址,那么客户机将尝试访问自己的备用DNS服务器。
为了提高解析效率,减少查询开销,每个DNS服务器都有一个高速缓存,存放最近解析过的域名和对应的IP地址。这样,当有用户查找相同的域名记录时,加快了查询过程,DNS服务器直接从缓存中查找到该记录的地址,大大缩短了查找时间,加快了查询过程。
2.DNS的查询过程方式:
在DNS的查询过程中查询的方式有两种,一种是递归查询,另一种是迭代查询。
其中递归查询是指客户机向自己的首选DNS服务器发出查询请求时,该DNS服务器会查询自己的区域文件、缓存,如果没有找到结果就向别的DNS服务器查询。递归查询时客户端得到 的结果只能是成功或失败,接受查询的DNS服务器必须告诉客户端请求查询的IP地址或者告诉客户端找不到请求的地址及找不到的原因(查询超时或遇到错误)。一般客户机向它的首选DNS服务器发出查询请求时,服务器接受的话,它们之间的查询就属于递归查询。
不是所有的查询都是递归查询,只有满足以下条件时才会进行递归查询:1.客户机要求递归查询。2.DNS服务器接受递归查询。因为递归查询比较占用系统资源,有安全方面的隐患,所以可以设置DNS服务器不接受递归查询。
其次是迭代查询,迭代查询又称简单查询,是指DNS服务器根据自己的高速缓存或区域的数据,以最佳结果作答。如果DNS服务器无法解析,它可能返回一个指针,指针指向可能有目标域名记录的DNS服务器,继续该过程,直到拥有目标记录的DNS服务器,或者直到查询出错或超时为止。
DNS服务器之间一般都是发送迭代查询请求,除非DNS服务器接受了一个递归查询请求,并且无法解析该查询,这时该服务器将向转发器中DNS服务器发送递归查询请求,如果没有设置转发器,该服务器将向根提示中的根服务器发送迭代查询请求。
3.正向查询和反向查询:
DNS服务器域名查询从查询内容上分,可以分为两种形式:正向查询和反向查询。正向查询是指:由域名查找IP地址。反向查询是指由IP地址查找域名。
实验部分:
1.在域环境下,用管理员登陆。。首先安装好DNS服务!
2.给服务器配置个静态的IP地址,并且把首选DNS服务器指向自己!
3.打开DNS管理器,可以自己新建一个正向区域,也可以使用默认的!
4.创建资源记录:创建主机(A)记录把IP地址指向DNS服务器,然后把SOA(起始授权机构)配置成指向新建的主机!
5.然后再建一个反向区域!在里面创建PTR(指针),并且在主机名选项里指向自己先新建的那个主机!
6.然后在开始命令行下输入“NSLOOKUP”试验可以解析成功不!一般不出问题就可以解析成功!!
7.配置转发器:转发器的作用就是当本DNS服务器解析不了客户需要解析的域名时,把此请求转发给网络上能解析此域名的DNS服务器!
8.打开转发器选项后:点击“编辑”然后输入要转发给的DNS服务器的IP地址!配置好后第一台DNS服务器就能解析第二台的DNS服务器的域名!这样就能解析了!!如果没有设置转发器就会出现超时!
9.DNS区域传输:在主服务器上“属性”中把“区域传送”中的“允许区域传送”挂上勾!!
10.到第二台DNS服务器上建立辅助区域,然后刷新!(注意:不能把对方做成区域传送后再建辅助区域!)区域名称必须是另一台DNS上你的区域名称!!!这样就做成了。。。。呵呵!
阅读(3531) | 评论(1) | 转发(0) |