第3章__域名解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章域名解析本章提纲3.1域名空间3.1.1域3.1.2域名3.1.3区3.2名字服务器3.2.1名字服务器种类3.2.2名字服务器树3.3域名解析算法3.3.1域名解析方式3.3.2定位本地域名服务器本章提纲(续)3.4逆向域名解析3.5域名解析报文3.5.1报文格式3.5.2记录类型与结构3.5.3DNS报文的传输本章提要对于一般用户来说,IP地址还是太抽象,它由32比特二进制位组成,最直观的表示方式也不外乎是点分十进制记法。这种数字型的记法难于记忆也难于理解。为了向一般用户提供一种直观明白的主机标识符,IP网络专门设计一种字符型的主机名字机制,这就是域名系统。域名系统要解决的重要问题包括:主机名字的管理、主机名字-IP地址映射等。域名解析包括由主机名字解析IP地址和由IP地址解析主机名字2个方面。3.1域名空间3.1.1域域(domain)是划分网络主机的一种逻辑单元,域的引入是为了便于网络主机的命名以及对名字的管理。从域的观点来看,网络主机被划分到各个不重叠的集合中,域对其中的主机的物理位置没有要求,如图3-1所示。图3-1域的逻辑概念intgovmilnetusocenlcsflitsfluitvuieeeorgjackacmedusuncomaccojpengyalejillcng子域为了使域与域之间的逻辑关系更加清晰,图3-1通常抽象成图3-2的树(称为域名空间)。子域作为父域的叶节点(下级节点)。这棵树最多128级:级0(根)到级127。图3-2域名空间:包含国家域和通用域intcomedugovmilorgnetjpusnlsun|cngyaleengcsailindarobotieeeacmjackjillaccoocevukeio|cs|pc24nec|cslcsflitsfluit...通用域国家域顶级域分类通用域(其标号如表3-1所示)国家域(其标号如表3-2所示)。另外,新增加的7个顶级域标号如表3-3所示。表3-1通用域标号标号说明标号说明com商业组织Mil军事组织edu教育机构Net网络支持中心gov政府机构Org非赢利组织int国际组织表3-2部分国家域标号区域国家或地区区域国家或地区am亚美尼亚ec埃及aq南极洲eg萨尔瓦多ar阿根廷es西班牙at奥地利fi芬兰au澳大利亚fr法国bb巴巴多斯gb英国(官方)表3-3新增顶级域标号标号说明标号说明Arts文化组织Rec消遣/娱乐组织Firm企业或商行Shop商店Info信息服务提供者Web与万维网有关的组织Nom个人命名Bus商业机构3.1.2域名域名是父子标号组成的串,子域的标号在左,父域标号在右,顶级域标号在最右。标号间用“.”分隔。域名与标号的关系如图3-3所示。图3-3域名和标号edu.atc.fhda.edu.challenger.atc.fhda.edufhda.edu.标号标号标号标号challengeratcedufhda域名域名域名域名根域名分为两种完全合格域名(FullyQualifiedDomainName,FQDN)部分合格域名(PartlyQualifiedDomainName,PQDN)。1.FQDN一个域名能成为FQDN,要具备以下条件:(1)域名以根域标号结束(在最右)。(2)域名以主机标号开始(在最左)。可见,FQDN是标号树中完整的一个子树,它唯一地标识主机在域名空间的逻辑位置。FQDN又称为绝对域名,因为它给出了主机在域名空间中的绝对位置路径。以图3-2为例,robot.ai.cs.yale.edu.是一个FQDN,而eng.sun.com不是FQDN,因为eng不是主机标号。2.PQDN一个域名只要不以根域标号结束,那么它就是PQDN。PQDN是标号树中不完整的子树,它没有包括树根。PQDN又称为相对域名。仍以图3-2为例,下面3个域名都是PQDN:robot.ai.cs.yale.edueng.yalelinda3.1.3区区(zone)由一个域或域中若干个子域组成。区是域名解析的基本单元。图3-2中的sun、eng、cs(value的子域)、ai、acm、ieee等都可以作为区。每个区都有一个数据库,保存着该区所有域节点的信息,称为区文件,它存储在区里一个服务器主机中。当区包含多个子域时,每个子域也都有这样的服务器,用于存储本域中节点信息。此时,区文件的某些内容就下放到子域中的服务器,委托它们来管理。3.2名字服务器“域名-地址”映射由一组既独立又协作的名字服务器完成,这组名字服务器是解析系统的核心。名字服务器实际上是一个服务器软件,运行在指定的机器上,完成“域名-地址”映射。通常我们把运行名字服务软件的机器叫做名字服务器。相应地,请求域名解析服务的软件叫名字解析器(namerevolver)。在TCP/IP域名系统中,一个名字解析器可以利用一个或多个名字服务器进行名字映射。3.2.1名字服务器种类根服务器:根服务器用来管辖顶级域,但它不直接对属于顶级域的域名进行转换。根服务器更象是个中转站,它把来自各个节点的解析请求转发到对应的顶级域。授权服务器:根服务器就是一个授权服务器,因为它具有管辖根(区)的权力。一般地,授权服务器是指负责所在区域名解析的服务器,它保存了该区的区文件。主从服务器:授权服务器分为两类:主服务器和从服务器。主服务器在本地硬盘上保存所在区的区文件,从服务器从别的服务器(主或从)上得到区文件。3.2.2名字服务器树对应于域名结构,IP网络名字服务器也构成一定的层次结构,一个例子如图3-4所示。图3-4域名服务器概念结构ibm.com子域ucb.edu子域ca.us子域com域edu域us域......根Internet标准域服务器服务器服务器服务器服务器服务器服务器名字服务器结构特点第一,各父节点能识别子节点,也就是给定一域名,父节点可以从子节点中找出适当的节点来解析该域名;第二,域名的解析从根节点开始,自顶向下。需要强调的是,图3-4所示仅是名字服务器间的逻辑联系,并不表示真正的物理连接。事实上,名字服务器可以位于IP网络中的任意位置。真正的服务器树实现结构如图3-5所示。图3-5域名服务器树实现结构ibm.com子域ucb.edu子域ca.us子域...根服务器服务器服务器服务器形成图3-5所示真实结构的原因首先,单台物理服务器可以容纳一个名字空间中很大一部分对象的信息;第二,尤其重要的是,各组织往往将子域的信息搜集起来,存入一个服务器中。3.3域名解析算法前面谈到的服务器树表示IP网络中服务器的逻辑结构,是域名解析的算法赖以实现的基础。总的来说,域名解析采用自顶向下的算法,从根服务器开始直到叶服务器,在其间的某个节点上一定能找到所需的“域名-地址”映射。由于父子节点的上下管辖关系,名字解析的过程只需走过一条从树中某节点(比如根)开始到另一节点(比如某叶节点)的一条自顶向下的单向路径,无需回溯,更不用遍历整个服务器树。3.3.1域名解析方式第一种叫递归解析(recursiveresolution),要求名字服务器系统一次性完成全部“域名-地址”变换。第二种叫反复解析(iterativeresolution),每次请求一个服务器,得不到回答时再请求别的服务器。二者的区别在于前者将复杂性和负担交给服务器软件,后者将复杂性和负担交给解析器软件。显然递归解析方式在名字解析请求频繁时性能不好,而反复解析的方式正好相反。名字解析算法如图3-6所示。图3-6TCP/IP域名解析算法将查询发往某服务器(2)名字是否在该服务器所辖子域哪种求解方式从数据库中取出相应地址,将结果传回求解者请求下一服务器求解名字,并将结果传回求解者产生一个指定下一服务器的响应,将传回求解者(3)构造域名查询(1)开始结束下一次求解反复求解否是递归求解求解者操作服务器操作问题说明域名查询是一种特殊报文,其中包含欲解析的域名、域名的类、所需解析结果的类型以及解析方式。进行域名解析时,从哪一个服务器开始?当本服务器不能解析指定域名时,如何选择下一个服务器?确定方法首先,每个解析器至少知道如何访问一个服务器,这便是开始服务器;其次,每一服务器都至少知道根服务器地址及其父节点服务器地址,这样下一服务器就很容易确定了。3.3.2定位本地域名服务器从解析过程可以看到,主机将解析请求发送到开始服务器是整个解析过程的首要步骤。开始服务器一般在本地。那么如何定位本地的名字服务器呢?主机定位本地环境中运行服务器软件的主机的方法是非标准的,由解析器软件设计。一般有以下3种方式:定位本地域名服务器方法第1种,编译时将服务器所在主机地址联入应用程序;第2种,服务器地址在系统引导时配入操作系统;第3种,管理员将地址存入外存的一个文件中。一般地,操作系统提供一个接口可以指定DNS服务器。例如,在WindowsXP中,用户可以在图3-7所示界面中指定起始DNS服务器。图3-7在WindowsXP中指定起始DNS服务器3.4逆向域名解析逆向域名解析(inverseresolution)又叫逆向映射(inversemapping)。逆向域名解析是根据IP地址解析相应的域名。逆向解析通过“逆向查询”(inversequery)报文实现。逆向解析的一个明显的问题是同一个IP地址可能对应于若干域名,这给逆向解析带来一定困难。逆向域名解析原理为了解决上述问题,域名系统提供一种特殊形式的逆向解析,为此专门构造一个特别域(称为逆向解析域)以及一种特别报文,这种特别报文叫作“指针查询”(pointerquery)。在指针查询中,欲解析的IP地址被表达成一种像域名一样的可显示串形式,后缀以逆向解析域域名“in-addr.arpa”。比如一个以直观的点分十进制形式表示的IP地址aaa.bbb.ccc.ddd,其指针查询表达方式为ddd.ccc.bbb.aaa.in-addr.arpa。两种表达方式中IP地址部分顺序恰好相反,因为域名结构是自底向上(从子域到域),而IP地址结构是自顶向下(从网络到主机)的。逆向域名解析实质逆向解析是将IP地址表达成一个域名,这样逆向解析的很大部分(包括服务器通信端口、算法甚至软件)可以纳入前面介绍的正向解析中。由于本地服务器不一定是in-addr.arpa或arpa域服务器,所以逆向解析可能要求助于其他服务器。为此,在Internet的根服务器中专门提供了一个数据库,内含可逆向解析的有效IP地址及有关域名服务器的信息。3.5域名解析报文3.5.1报文格式DNS报文包括2类报文:查询报文和响应报文,请求报文与响应报文格式基本相同,如图3-8所示。图3-8查询报文和响应报文问题部分问题部分回答部分授权部分附加部分头部头部(a)查询(b)响应1.头部头部包括6个字段,每字段2字节,共12字节,如图3-9所示。图3-9头部格式授权记录数(在查询报文中是全0)附加记录数(在查询报文中是全0)问题记录数回答记录数(在查询报文中是全0)标识标志头部各字段含义标识:用于解析器匹配请求与响应,即响应报文中的标识要与请求报文中的标识值相同。标志:指出所请求的操作类型及一个响应码,其结构如图3-10所示。图3-10标志字段QRAATCRDRA3个0rCodeOpCode标志字段各位意义QR:操作。查询报文中该位置0,响应报文中该位置1。OpCode:查询类型。0表示标准查询,1表示逆向查询,2表示服务器状态请求,3现未用。AA:权威回答。如果名字服务器是授权服务器,响应报文给出的回答认为是权威性的,则该位置1。该位只用于响应报文。TC:截断。如果用UDP报文封装响应报文,当响应报文超过512字节会被截断,此时该位置1。RD:要求递归。如果查询者希望得到递归回答,则该位置1。查询和响应报文中同时置1。标志字段各位意义(续)RA:递归可用。如果名字服务器可以给出递归响应,则该位置1

1 / 66
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功