第9章 域名系统(DNS)_第1页
第9章 域名系统(DNS)_第2页
第9章 域名系统(DNS)_第3页
第9章 域名系统(DNS)_第4页
第9章 域名系统(DNS)_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

问题的提出主机的物理地址和IP地址都是数字形式的,人难于理解和记忆,TCP/IP在应用层采用字符型的主机名称,称为域名。因此,TCP/IP形成了三个层次的主机标识。如某个网络服务器:35-A3-90-17-B4-FC,1,IP地址与物理地址的映射可以使用网络层的ARP和RARP协议,那么应用层的域名和网络层的IP地址如何映射呢?因特网早期采用主机文件实现映射,而现在因特网采用域名系统DNS进行映射。第9章域名系统(DNS)9.1命名机制与名字管理9.2因特网域名9.3DNS服务器9.4域名解析9.5DNS报文格式9.6DNS资源记录9.7DNS配置及数据库文件9.1命名机制与名字管理网络中通常采用的命名机制有两种:无层次命名机制和层次型命名机制。无层次(flat)命名机制:早期因特网采用,主机名用一个字符串表示,没有任何结构。 为了保证名字的全局惟一性,采用集中式管理方式,名字—地址映射通常通过主机文件完成。缺点:不适合大型网络,随着网络中对象的增加,管理机构的工作量也会增加,而且容易出现名字冲突。层次型命名机制:将名字空间分成若干子空间,每个机构负责一个子空间的管理。每个机构还可以将子名字空间进行进一步划分,授权给下一级机构,而下一级又可以继续划分他所管理的名字空间。这样一来,名字空间呈一种树形结构,树上的每一个节点都有一个相应的标号。树的根是惟一的,所以不需要标号。树的叶结点是那些需要根据名字去寻址的主机(通常是网络上的服务器)。惟一性:每个机构或子机构向上申请自己的名字空间,并向下分配子名字空间。每个机构或子机构只要保证自己所管理的下一级标号不发生重复就可以保证所有的名字不重复。管理:通过层次化的名字结构,将名字空间的管理工作分散到多个不同层次的管理机构上,减轻了单个管理机构的工作量,提高了效率。映射:每个机构内都有域名服务器用于存储某个范围内设备的名字-地址映射信息。当前因特网采用就是这种层次型命名机制。9.2因特网域名根据系统采用的是无层次命名机制还是层次型命名机制,主机名可以通过主机文件或者域名系统DNS进行转换。用主机文件进行名字解析时,每个需要进行名字解析的主机都拥有一个HOSTS文件。因特网早期使用,现在,小型网络仍然可以采用这种方式。下面是Windows系统中的HOSTS文件。#ThisisasampleHOSTSfileusedbyMicrosoft#TCP/IPforWindows.#ThisfilecontainsthemappingsofIPaddressesto#hostnames.#Eachentryshouldbekeptonanindividualline.The#IPaddressshouldbeplacedinthefirstcolumn#followedbythecorrespondinghostname.#TheIPaddressandthehostnameshouldbe#separatedbyatleastonespace.#Additionally,comments(suchasthese)maybe#insertedonindividuallinesorfollowingthemachine#namedenotedbya'#’symbol.#Forexample:#7#sourceserver#0#xclienthostlocalhost

域名系统DNS是在1984年为取代HOSTS文件而创建的层次型名字系统。域名系统的层次结构:根域(Root)位于DNS的最高层,一般不出现在域名中。顶级域又称为一级域,顶级域可以分为类:通用顶级域名gTLD、国家代码顶级域名ccTLD和反向域。

1.

通用顶级域名gTLD:

com、org和net:任何国家的用户都可申请注册它们下面的二级域名。mil、gov和edu只向美国专门机构开放。int是用于国际化机构的顶级域名(iTLD)。

通用顶级域名域名

com商业组织

net主要网络支持中心

org上述以外的组织

edu教育机构(美国)gov政府部门(美国)mil军事部门(美国)int国际组织

上述7个通用顶级域供不应求,后来又新增了7个通用顶级域:biz、info、name、pro、aero、coop和museum。

2.国家代码顶级域名ccTLD:由二个字母来表示。uk代表英国,hk代表香港(地区),sg代表新加坡。

3.反向域:顶级域名为arpa,用于实现IP地址到域名的反向解析。次级域又叫二级域,次级域与具体的公司或组织相关联。子域是次级域下面的域,是各个组织将名字空间进行的进一步划分。主机名(HostName)是最末级的名字。

域和区域是不同的概念。每个域/子域对应一棵子树,而区域(Zone)是名字空间的管理中采用的概念,通常是指一个DNS服务器所管理的名字空间。

域是一棵完整的子树,而区域可以是子树中的任何一部分。根INTCNMILNETCOMJP……IBMintelengwwwjackedunetnjustwwwftp域与区域DNS由3个部分构成:名字解析器(resolver):DNS客户机。名字解析器请求名字服务器的服务,目的是获得目标主机的IP地址。名字服务器(nameserver):DNS服务器。名字服务器用于保存域名/IP地址的映射信息,响应名字解析请求。域名空间:用树形结构组织的DNS数据库,是名字服务器给出响应的依据。返回9.3DNS服务器DNS服务器获取域名-地址映射信息的方法:由管理员编辑一个原始区域文件从其他名字服务器那里复制区域文件通过向其他名字服务器查询来获取具有一定时效的缓存信息

名字服务器的三种主要类型:主名字服务器次名字服务器惟高速缓存名字服务器主名字服务器:拥有区域文件原始版本的服务器。关于该区域文件的任何变更都在这个主名字服务器的原始版本上进行。次名字服务器:从某个主名字服务器那里复制一个区域文件,该区域文件是一个只读版本。次名字服务器通过区域传输跟随主名字服务器上区域文件的变化。惟高速缓存名字服务器上没有区域文件,它的职责是帮助名字解析器完成名字解析,并缓存解析结果。此类服务器对名字的解析是非授权的。此类服务器在启动之后,通过缓存相关查询结果来逐渐建立DNS信息。缓存条目的生存期TTL由授权解析的名字服务器决定。9.4域名解析

域名解析包括:正向解析:根据域名查询其对应的IP地址或其他相关信息反向解析:根据IP地址查询其对应的域名解析的过程:递归解析(Recursiveresolution)反复解析(iterativeresolution)9.4.1递归解析递归解析强迫DNS服务器对请求做出响应,该响应或者是一个失败响应,或者是一个包含解析结果的成功响应。客户端计算机的解析器通常会发出递归查询。域名的递归解析假设域名为的客户机要解析域名为的计算机的IP地址客户wwwedu根服务器com9.4.2反复解析

特点:由客户端本身反复寻求名字服务器的服务来获得最终的解析结果。名字服务器收到请求后,若能够给出解析结果,则发回结果,若无法给出解析结果,则向查询者提供它认为能够给出解析结果的服务器的IP地址。请求者收到后将向该地址发解析请求。此过程一直进行下去,直到获得最终解析结果或失败响应。当一个名字服务器试图解析它所在区域之外的名字时,往往会发送反复查询。域名的反复解析如:客户要解析的域名时客户wwwedu根服务器com124356789109.4.3反向解析

反向解析:由主机的IP地址求得其域名的过程。为此DNS在名字空间中设置了一个称为

的特殊域,专门用于反向解析。为了与正向解析使用相同的查找方法,反向解析将IP地址的字节颠倒过来写,构成反向解析的“名字空间”。26的IP地址在反向解析请求中应该这样写:

02..

处理反向域的服务器也是分级的。9.4.4解析效率

为了提高解析效率:1.采用了两步名字解析机制:解析时,第一步先通过本地名字服务器进行解析,若不行,再搜索各级名字服务器。2.在各名字服务器中使用了高速缓存技术,存放最近解析过的本服务器区域之外的映射和解析该映射的服务器位置信息,可避免每次解析非本地名字时都进行自顶向下的搜索。高速缓存的有效性问题:若授权名字服务器中的映射信息已发生变化而高速缓存未能作相应刷新,则会导致解析错误。解决方法:服务器向解析器给出缓冲中的地址映射信息时,必须注明该信息是非授权的信息,同时还指出能够给出授权信息的名字服务器的地址。若解析器仅注重效率,它可以立即使用此非授权的结果;若解析器注重解析的准确性,则可以立即向授权服务器发出解析请求,以便获得准确的结果。高速缓存中的每一条映射信息都有一个生存时间TTL,一旦某条目的TTL时间到,便将它从缓冲区中删除。事实上,由于域名—地址映射关系具有稳定性,名字缓存机制还是非常有效的。9.5DNS报文格式DNS协议属于TCP/IP模型的应用层,DNS既可以使用UDP,也可以使用TCP来进行通信,使用UDP/TCP的53号熟知端口。DNS报文包括请求报文和响应报文。请求报文和响应报文的格式是相同的。DNS报文的首部由6个字段构成:标识字段长度为16比特,用于匹配请求和响应。标志字段长度为16比特,划分为如图9-7所示的若干子字段。QR子字段(1比特):用来区别请求和响应。0表示请求报文,1表示响应报文。OpCode子字段(4比特):用来定义操作类型。0表示标准查询(正向解析)1表示反向查询(反向解析)2表示服务器状态请求。标识参数问题数管理机构数附加信息数回答数问题部分回答部分管理机构部分附加信息部分报头用于解析器匹配请求和响应标识参数问题数管理机构数附加信息数回答数问题部分回答部分管理机构部分附加信息部分问题数管理机构数附加信息数回答数域名解析询问(216

–1)个

服务器给出的响应对应于做出响应的服务器

询问域名

询问类型

询问类回答部分管理机构部分附加信息部分询问域名长度可变询问类型问题的类型,如1=IPv4地址,12=指针询问类所选的协议类型,1=因特网参数域位

意义0(QR)操作:0-询问,1-响应1-4询问类型:(Opcode)0-标准1-逆向2-服务器状 态请求5(AA)如果权威性回答则置位6(TC)如果报文被截断则置位7(RD)如果希望递归则置位8(RA)如果可以递归则置位9-11保留12-15(rCode)响应类型:

0-无错1-询问格式错

2-服务器故障

3-名字不存在

4-查询类型不支持

5-管理上禁止DNS报文首部的后面是可变部分,包括四个小部分。问题部分由一组问题记录组成。问题记录格式如图询问名字段可变长,询问名由标号序列构成,每个标号前有一个字节指出该标号的字节长度。询问类(queryclass)16比特,1表示因特网协议(IN)。询问类型(querytype)16比特,定义询问希望得到的回答类型。域名虽然主要针对主机而言,但由于域名系统的通用性,域名解析既可以用于获取IP地址,也可以用于获取名字服务器和主机信息等。为了区分这些不同类型的对象,域名系统中每一命名条目都被赋予类型属性。(表9-3)

表9-3常用的类型

A 1 IPv4地址 用于域名到IPv4地址的转换NS 2 名字服务器标识区域的授权名字服务器CNAME5 正规名 定义主机正规名的别名SOA 6 授权开始 标识授权的开始PTR 12 指针 指向其他域名空间的指针HINFO13 主机信息 标识主机使用的CPU和OSMX15 邮件交换 标识用于域的邮件交换资源AAAA28 IPv6地址 用于域名到IPv6地址的转换AXFR252区域传输 请求传输整个区域ANY 255全记录请求请求所有的记录

记录别名数值记录类型 描述DNS报文的其余三个部分是回答部分、授权部分和附加信息部分,附加信息包含回答部分和授权部分返回的资源所要求的附加信息(如IP地址)。这三部分均由一组资源记录组成,而且仅在应答报文中出现。一条资源记录描述一个域名,格式如图。类型类生存时间资源数据长度资源数据……

域名域名本资源记录所涉及的域名,长度可变指出资源记录中所含的数据(域)类型类型类指出数据(域)类生存时间指出本资源记录可被缓冲区保存的时间(秒)资源数据域名解析结果在响应报文中,回答的域名往往与问题中的域名相同。为了节省响应报文的空间,服务器对回答的域名采用压缩格式,对相同的域名只存放一个拷贝,其他采用指针表示。若开始的两个二进制位为“11”,则接下去的14比特为指针,该指针指向存放在报文中另一位置的域名字符串。若开始的两个二进制位为“00”,则接下去的6比特指出紧跟在计数字节后面的标号的长度。解析域名的请求报文解析域名的响应报文分配给PC的IP地址是79(N1)DNS1的IP地址是0(N2)网关R1的IP地址是77(N11)DNS2设N1,N11,N12,N21,N22,N31,N32,N3,N4是IP地址设相应的MAC地址是P1,P11,P12,P21,P22,P31,P32,P3,P4R1R3R2PCwwwDNS1N11N12N21N22N32N31N1N2N3N4网络接口层IP层TCP层应用层输入WWW.NJU.EDU.CN进行域名解析,在本地缓冲区中查找生成UDP报文生成IP数据报(无以太网地址)对DNS1进行地址解析,在ARP缓冲区中查找,找不到生成地址解析报文用广播地址封装成帧,广播收到ARP响应域名服务器DNS1的以太网地址存入缓冲区用该地址封装成帧,发给DNS1收到域名解析结果把IP地址存入缓冲区没找到,生成域名解析报文网络接口层IP层TCP层应用层输入WWW.NJU.EDU.CN收到域名解析结果把IP地址存入缓冲区生成TCP报文生成IP数据报(无以太网地址)对R1进行地址解析,在ARP缓冲区中查找,找不到生成地址解析报文用广播地址封装成帧,广播收到ARP响应路由器R1的以太网地址存入缓冲区用该地址封装成帧,发给R1举例1解析器向本地服务器发送查询报文,要找出主机“”的IP地址。0x13330x010010004‘c’‘h’‘a’‘n’4‘x’‘y’‘z’‘u’3‘e’‘d’‘u’01101QROpCodeAATCRDRA保留rCode

000000

0100000000询问类型:地址询问类:因特网举例1本地服务器发回回答报文,给出主机“”的IP地址。0x13330x818010014‘c’‘h’‘a’‘n’4‘x’‘y’‘z’‘u’3‘e’‘d’‘u’011010xc00x0c10112000

4153188105QROpCodeAATCRDRA保留rCode

100000

0110000000询问类型:地址询问类:因特网域类:因特网域类型:地址生存时间数据长度举例2FTP服务器收到从IP地址的FTP客户发来的分组,想查证该客户是否是授权的客户,它查找授权客户的清单,但这个文件只包含域名。FTP服务器要求解析器发送逆向查询给DNS服务器以询问这个FTP客户的域名。53.举例2:询问报文0x12000x090010001‘9’1‘7’1‘2’3‘1’‘5’‘3’7‘i’‘n’‘-’‘a’‘d’‘d’‘r’4‘a’‘r’‘p’‘a’0112查询类型:PTR类:因特网QROpCodeAATCRDRA保留rCode

000010

0100000000举例2:响应报文0x12000x8d8010011‘9’1‘7’

‘r’‘p’‘a’01120xc00c1214‘m’‘h’‘h’‘e’3‘c’‘o’‘m’01024000

查询类型:PTR类:因特网查询类型:PTR类:因特网QROpCodeAATCRDRA保留rCode

100011

0110000000生存时间资源数据长度资源数据9.6DNS资源记录

DNS响应报文中的回答部分、授权部分和附加信息部分由资源记录构成,资源记录存放在名字服务器的数据库中。DNS具有20多种不同类型的资源记录,下面给出几种常用的资源记录的格式。授权开始(SOA)资源记录定义在域中充当主名字服务器的主机及相关参数。语法如下:

@INSOA<sourcehost><contactemail>( <serialnumber> <refreshtime> <retrytime> <expirationtime> <timetolive> )

@符号指明名字服务器所负责的域,通过引导文件可以查到域名。

IN和SOA分别指明资源记录的类和类型。名字服务器(NS)资源记录指明哪一个DNS服务器对于域是授权服务器。要确保在主名字服务器和次名字服务器内包含NS资源记录。语法:

<domainname>INNS<nameserver> <domainname>指明名字服务器所对应的域的名称。<nameserver>指定域名的授权名字服务器的完全合格域名FQDN。地址(A)资源记录指明主机的IP地址。语法:

<hostname>INA<IPaddress> <hostname>指明主机名。<IPaddress>定义主机的IPv4地址。IPv6的资源记录类型为AAAA。正规名(CNAME)资源记录提供为主机创建别名的能力。通过使用别名,可以使提供多种服务的主机以不同的名字提供不同的服务。语法:

<alias>INCNAME<hostname> <alias>:主机的别名。<hostname>:实际主机名。邮件交换(MX)资源记录描述该域的邮件服务器。一个域可以有多个MX资源记录,以便实现指定域的email服务的负载均衡和容错。语法:

<domainname>INMX<cost><mailserver> <domainname>是邮件交换服务器处理邮件的域名。<cost>是邮件交换服务器的代价值,代价值代表服务器的优先级。代价值越小,优先级越高。相同的代价值:进行负载均衡。仅当低代价值的邮件交换服务器不可达时,邮件才被送往高代价的邮件交换服务器。<mailserver>字段代表邮件交换服务器的主机名。9.7DNS配置及数据库文件BIND(BerkeleyInternetNameDaemon)软件是一个客户/服务系统,客户端称为解析器或转换程序(resolver),解析器产生域名信息的查询请求,并将信息发送给服务器,服务器回答解析器的查询。BIND的服务器是一个称为named的守护进程。BINDDNS服务器的配置依赖于几个文本文件。可以用文本编辑器直接生成这些文件或者是从基本模板修改而得到。DNS必须配置的文件包括DNS配置文件(又称引导文件)、DNScache文件、DNS正向查询文件和DNS反向查询文件。9.7.1DNS配置文件

BIND的DNS服务器用配置文件named.conf来包含如下的信息:(1)其他DNS文件所在的路径。(2)包含因特网根服务器映像的cache文件的名字。(3)DNS服务器授权的任何主域域名以及包含那个域的资源记录的数据库文件名。(4)DNS服务器授权的任何次域域名、包含那个域的资源记录的数据库文件名以及对应的主名字服务器的IP地址。options{ directory“/etc/db”;};zone“.”{typehint;file“named.cache”;};zone“”{typemaster;file“named.hosts”;};BIND-8.x配置文件named.conf的一个例子。zone“0.0.127.”{typemaster;file“named.local”;};zone“85.119.202.”{typemaster;file“named.rev”;};zone

“”

{type

slave;file

“slavenet.njust”;masters

{0;}};9.7.2DNScache文件

;lastupdate:Aug22,1997

;relatedversionofrootzone:1997082200

;formerlyNS.INTERNIC.NET

.3600000INNSA.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET.3600000A

;formerlyNSl.ISI.EDU

.3600000NSB.ROOT-SERVERS.NET.B.ROOT-SERVERS.NET.3600000A07

.3600000NSC.ROOT-SERVERS.NET.C.ROOT-SERVERS.NET.3600000A2

.3600000NSD.ROOT-SERVERS.NET.D.ROOT-SERVERS.NET.3600000A0DNScache文件包含一系列的根域名服务器。该文件应该随根域名服务器的不断更新而更新。以下是DNScache文件(named.cache)的一个版本。

.3600000NSE.ROOT-SERVERS.NET.E.ROOT-SERVERS.NET.3600000A0

.3600000NSF.ROOT-SERVERS.NET.F.ROOT-SERVERS.NET.3600000A41

.3600000NSG.ROOT-SERVERS.NET.G.ROOT-SERVERS.NET.3600000A

.3600000NSH.ROOT-SERVERS.NET.H.ROOT-SERVERS.NET.3600000A3

.3600000NSI.ROOT-SERVERS.NET.I.ROOT-SERVERS.NET.3600000A7

.3600000NSJ.ROOT-SERVERS.NET.J.ROOT-SERVERS.NET.3600000A0

.3600000NSK.ROOT-SERVERS.NET.K.ROOT-SERVERS.NET.3600000A29

.3600000NSL.ROOT-SERVERS.NET.L.ROOT-SERVERS.NET.3600000A2

.3600000NSM.ROOT-SERVERS.NET.M.ROOT-SERVERS.NET.3600000A3

;EndofFile9.7.3DNS正向查询文件

正向查询是指根据主机名查询其IP地址和其他信息。相关的资源记录数据保存在DNS正向查询文件中。一个典型的正向查询区域文件named.hosts的例子:@INSOA..( 1998030501;serial 10800;refresh3hours 3600;retry1hour 604800;expire7days 86480;TTL1day )INNS.INNS..INA26.INA27msrv1INA28wwwINCNAME.ftpINCNAME.mailINCNAME..INMX10..IN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论