网络互连技术教程第 11章 域名服务系统 —— DNS
网络互连技术教程
11.1 域名服务系统
11.2 域名解析
11.3 使用域名服务网络互连技术教程
11.1 域名服务系统
11.1.1 层次型组织在互联网上,每一台机器都必须有一个惟一的名字 。 当网络中互连的机器数目较少时,主机名比较容易选择 。 但在
Internet飞速发展的今天,由于互连的机器数量相当庞大,所以要在几百万甚至更多的互连在一起的机器中避免发生重名的问题,是非常困难的 。 因此,专门设置了管理机构对新机器名字进行管理 。
随着系统规模的增长,管理的复杂程度会以更快的速度增长,这种情况和企业发展中遇到的情形是类似的 。 当一个公司在刚刚建立的时候,由于人员较少,公司的总负责人可以直接管理每一个雇员,监督他们的工作 。 随着公司规模的扩大和雇员的增多,总负责人再也不能兼顾到公司的每一件事情,他不再有足够的时间和足够的精力来管辖每一个具体的员工 。
网络互连技术教程在这种情况下,一般的做法是将公司划分为若干部门
( 如业务部,财务部等 ),如图 11-1所示,在各部门任命一个部门经理 。 各部门经理管理本部门的细节工作,在一定范围内具有决定权,不必事事都要得到总经理的认可 。 总经理只负责管理各部门的部门经理 。
在互联网中,就是采用类似的方法来分层管理主机名字,在中心管理机构的下面,设置多个子管理机构,用于分担管理名字的工作 。 这样,不仅解决了重名的问题,还降低了中心网点的工作负荷 。
网络互连技术教程总经理财务部经理 业务部经理 后勤部经理
会计出纳

图 11-1 公司的组织结构网络互连技术教程
11.1.2 域名服务在 Internet上,网络地址空间和主机域名空间都是由
Internet 网络信息中心 ( Internet Network Information
Center,InterNIC) 负责管理的 。 DNS结构分为若干个域 (Domain),按层次组织,形如一棵倒挂的树 ( 树根在上面 ),如图 11-2所示 。
网络互连技术教程
c om e du gov i nt m i l ne t or g cn us
a rpa
c om e du
sun
se rve r bj pu
se rve r1
顶级域二级域
in - a ddr
r o o t
图 11-2 DNS的层次型组织网络互连技术教程顶级域的域名空间由 InterNIC直接管理,被分成三个部分 。
机构域:由公司和机构使用的域 。 最常用的有 7个,详见表
11-1。 例如,美国的教育机构使用,edu,美国的政府机构使用
.gov。 最近,又注册了一些新的顶级域,如,biz,.info和,name
等 。
地理域:也叫国家域,用 ISO3166中定义的国家代码命名,
例如中国被定义为,cn”,美国被定义为,us”,日本被定义为
,jp”,澳大利亚被定义为,au”等 。
反向域:是一个可以把给定的 IP地址转换为主机名的特殊域
,域名为,in-addr.arpa。 例如,IP地址为 192.168.1.22的主机的
DNS名字是 22.1.168.192..in-addr.arpa。
网络互连技术教程表 11-1 顶级域描述域 描 述
com 商业机构( Commercial organization)
edu 教育机构( Educational institution)
gov 美国的政府机构( Government agencies)
int 国际组织( International organization)
mil 美国军事机构( Military agencies)
net 网络服务机构( Network support center)
org 非盈利机构( Non-profit organization)
网络互连技术教程一个 DNS服务器可以管理一个或多个 zone,如在图
11-3中,aad.com zone是由 server1管理的,abc.aad.com
zone是由 server2管理的 。 这两个 zone也可以由一个 DNS
服务器管理 。
网络互连技术教程
CO M
aad
mk
aa d,c o m d o m ain
ab c,aa d,c o m z o n e
aa d,c o m z o n e
ab c
se rv er 2
se rv er 1
图 11-3 DNS的子域管理关系网络互连技术教程
11.1.3 管理方法
11.2 域名解析
11.2.1 域名服务器和解析器
11.2.2 报文结构网络互连技术教程为了减少 Internet上 DNS的通信量,所有的名字服务器都使用了高速缓存 。 名字服务器每次收到有关映射信息
( 主机名和 IP地址 ) 时,都会将它存放在高速缓存中,当再有 resolver提出相同的查询请求时,无需通过其他名字服务器查询,就可在高速缓存中直接得到结果,如图 11-4
所示 。
网络互连技术教程
resolv er
高速缓存
(1) 查询请求
(2) 请求结果图 11-4 高速缓存中有 resolver提出的查询请求网络互连技术教程若高速缓存中没有 resolver要查询的请求时,则形成一个查询请求报文并发送给服务器 。 服务器响应后返回一个相似的报文,包含名字解析的结果,若有些问题不能回答,则根据 resolver的要求,或提供有关客户机能获取答案的其他服务器的信息,或返回一个错误信息,如图 11-5所示 。
网络互连技术教程图 11-5 高速缓存中没有 resolver提出的查询请求
resolv er
na m e serv er
高速缓存
③查询报文
④响应报文
①查询请求
②无请求结果网络互连技术教程
DNS服务器定义了一个用于查询和响应的报文格式 。
每个报文均由固定的 12字节长的首部和 4个长度可变的字段
( 问题单元,答案单元,授权单元和附加信息单元 ) 组成,
如图 11-6所示 。
标识:客户机通过标识的内容确定响应与查询是否匹配 。
参数:说明请求的操作和响应代码 。 此字段被划分为八个子字段,如图 11-7所示 。
网络互连技术教程
DNS服务器定义了一个用于查询和响应的报文格式 。
每个报文均由固定的 12字节长的首部和 4个长度可变的字段
( 问题单元,答案单元,授权单元和附加信息单元 ) 组成,
如图 11-6所示 。
标识:客户机通过标识的内容确定响应与查询是否匹配 。
参数:说明请求的操作和响应代码 。 此字段被划分为八个子字段,如图 11-7所示 。
网络互连技术教程
0 15 16 31
标识 参数问题数 回答数授权数 附加信息数问题单元

答案单元

授权单元

附加信息单元

图 11-6 域名服务器的报文格式网络互连技术教程
0 1 4 5 6 7 8 9 11 12 15
QR opcode AA TC RD RA 保留 rcode
图 11-7 域名服务器的报文格式中的参数字段网络互连技术教程
QR,0— 查询,1— 响应 。
opcode:表示查询类型,0— 标准查询,1— 反向查询,2— 服务器状态请求,通常值为 0。
AA:若回答是授权则置 ① 。
TC:若报文被截断则置 ① 。
RD:如果值为 1,则表示采用递归查询,否则表示采用迭代查询 。 递归查询和迭代查询以及前面提到的反向查询在 11.2.4中详细介绍 。
RA:如果名字服务器支持递归查询,则置为 1。
网络互连技术教程
rcode:表示响应类型,0— 无差错,1— 查询格式错,
2— 服务器失效,3— 名字差错,通常值为 0。
问题数:出现在问题单元中的项目数。
回答数:出现在答案单元中的项目数。
授权资源记录数:出现在授权单元中的项目数。
附加信息数:出现在附加信息单元中的项目数。
问题单元:每个问题的格式如图 11-8所示,其中“查询域名”是可变长的。由客户机填入问题,服务器返回问题和答案。
网络互连技术教程
0 0 15
查询域名

查询类型 查询类别
0 15 16 31
图 11-8 DNS资源记录格式网络互连技术教程
答案单元,授权单元,附加信息单元:三个字段均采用资源记录 ( Resource Record,RR) 格式,如图 11-9所示 。
0 15 16 31
资源域名

类型 类别生存时间资源数据长度资源数据

图 11-9 DNS资源记录格式网络互连技术教程
l 资源域名:该资源记录涉及的域名,长度可变 。
l 类型:指明资源记录包含数据的类型 。
l 类别:指定数据种类,通常为 1( Internet数据 ) 。
l 生存时间:指定该资源记录的信息在缓存中保留的秒数,通常为 2天 。
资源数据长度:说明资源数据的数量。
网络互连技术教程
11.2.3 资源记录
DNS服务器用来为 resolver提供域名解析服务,它管理某部分域名空间中的资源,即某个 zone中的资源 。 每个 DNS服务器所管理的资源包括根名字服务器的 IP地址,域名及所管辖的
zone中的所有资源,这些资源以记录的形式存放在 DNS服务器的数据库中 。 到目前为止,已有大约 20种不同类型的资源记录,常用的资源记录的详细描述参见表 11-2,其他的记录为
SOA,ISDN,TXT,WINS和 X.25等 。
网络互连技术教程表 11-2 主要资源记录描述记录类型 含 义 描 述
A 主机地址记录 把 zone中的主机名映射为 IP地址的地址记录,它存储
32 bit二进制数
CNAME 规范名字记录 用于创建主机的别名。例如,将图 11-1中的 server1定义别名为 WWW,这样,不仅使人们通过
www.bjpu.edu.cn很方便地访问学校的 Web服务器,而且只需改变 CNAME记录就可以将服务从一台计算机移到另一台计算机上HINFO 主机信息记录 CPU和操作系统名字
MINFO 信箱信息记录 信箱或邮件清单的信息
MX 邮件交换记录 标识所在域中的邮件服务器,便于域中的主机和互联网上主机相互收发电子邮件
NS 名字服务器记录 标识域的授权服务器
PTR 指针记录 用于指针查询,将 IP地址映射为主机名。 IP地址被看作是 in-addr.arpa域下的一个域名。
网络互连技术教程
11.2.4 解析方式
DNS提供递归查询,迭代查询和反向查询三种解析方式 。
1,递归查询 ( Recursive Query)
resolver向名字服务器发出一个查询请求,名字服务器中若有被请求的数据,则返回给 resolver,否则返回一个错误信息 。
2,迭代查询 ( Iterative Query)
与递归查询不同的是当 resolver所请求的服务器中没有被请求的数据时,名字服务器不是返回一个错误信息,而是返回另外一个名字服务器的地址,告诉 resolver该名字服务器可能知道要查询的数据 。
网络互连技术教程
3.反向查询( Inverse Query)
可以完成主机名到 IP地址的解析,即发送一个给定的 IP地址,返回与该地址对应的域名。在域名空间中有一个特殊域即反向域,如图 11-2所示,假设 IP地址为 192.168.1.22的主机对应的域名为
.fruit.shop.com,则 22.1.168.192..in-addr.arpa是该主机的 DNS名字。
网络互连技术教程
11.3 使用域名服务
11.4 实验