TCPIP原理与应用_第9章_域名系统(DNS)解析

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

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

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

资源描述

第9章域名系统(DNS)IP地址实现了物理地址的统一,全局惟一的标识。问题:点分十进制数字,对用户来说:抽象,难以理解和记忆。解决:为方便用户使用因特网,TCP/IP在应用层采用字符型的主机名字机制。符合用户的命名习惯。TCP/IP形成了三个层次的主机标识系统:–位于底层的标识——物理地址–位于中间层次的标识——IP地址–位于高层的标识——主机名两个映射:协议不仅要进行IP地址与物理地址之间的映射,还要进行主机名与IP地址之间的映射。•早期因特网的名字系统采用主机文件。主机文件包括两个字段:主机名和IP地址。每台主机都存有一个主机文件,并周期性地进行更新,网络中所有需要与本机进行通信的主机的名字及其IP地址都应该存在于该文件中。通过主机文件实现主机名字与IP地址的映射。•目前因特网上采用的是域名系统DNS。在域名系统中,名字—IP地址映射表被分为多个较小的子表存放在不同的负责进行名字解析的服务器中,当主机需要进行名字解析时,可以请求服务器为他完成解析。第9章域名系统(DNS)9.1命名机制与名字管理9.2因特网域名9.3DNS服务器9.4域名解析★9.5DNS报文格式★9.6DNS资源记录★9.7DNS配置及数据库文件9.1命名机制与名字管理•因特网的命名机制要求主机名字具有:–全局惟一性–便于管理–便于映射•网络中通常采用的命名机制有两种:无层次命名机制和层次型命名机制。•无层次(flat)命名机制:早期因特网采用,主机名用一个字符串表示,没有任何结构。所有的无结构主机名构成无层次名字空间。为了保证无层次名字的全局惟一性,命名采用集中式管理方式,名字—地址映射通常通过主机文件完成。•问题:无层次命名不适合具有大量对象的网络,随着网络中对象的增加,中央管理机构的工作量也会增加,映射效率降低,而且容易出现名字冲突。•层次型命名机制将层次结构引入主机名字,该结构对应于管理机构的层次。层次型命名机制将名字空间分成若干子空间,每个机构负责一个子空间的管理。授权管理机构可以将其管理的子名字空间进一步划分,授权给下一级机构管理,而下一级又可以继续划分他所管理的名字空间。这样一来,名字空间呈一种树形结构,树上的每一个节点都有一个相应的标号。Root图9-1层次型名字空间…cnedunjustserveducomarpacn.edu.cn.njust.edu.cn.serv.njust.edu.cn.域名标号顶级域次级域子域主机层次•根是惟一的,所以不需要标号。树的叶结点是那些需要根据名字去寻址的主机(通常是网络上提供服务的服务器)。•惟一性:每个机构或子机构向上申请自己负责管理的名字空间,并向下分配子名字空间。在给结点命名标号时(分配子名字空间),每个机构或子机构只要保证自己所管理的名字的下一级标号不发生重复就可以保证所有的名字不重复。•管理:通过层次化的名字结构,将名字空间的管理工作分散到多个不同层次的管理机构去进行管理,减轻了单个管理机构的管理工作量,提高了效率。•映射:很多的名字解析工作可以在本地完成。极大地提高了系统适应大量且迅速变化的对象的能力。当前因特网采用的是层次型命名机制。返回9.2因特网域名•主机名IP地址–主机文件–域名系统DNS•用主机文件进行名字解析时,每个需要进行名字解析的主机都拥有一个HOSTS文件。现在,小型网络仍然可以采用这种方式进行名字解析。下面是Windows系统中的HOSTS文件。#ThisisasampleHOSTSfileusedbyMicrosoft#TCP/IPforWindows.#ThisfilecontainsthemappingsofIPaddressesto#hostnames.#Eachentryshouldbekeptonanindividualline.The#IPaddressshouldbeplacedinthefirstcolumn#followedbythecorrespondinghostname.#TheIPaddressandthehostnameshouldbe#separatedbyatleastonespace.#Additionally,comments(suchasthese)maybe#insertedonindividuallinesorfollowingthemachine#namedenotedbya'#’symbol.#Forexample:#102.54.94.97rhino.acme.com#sourceserver#38.25.63.10x.acme.com#xclienthost127.0.0.1localhost随着因特网上主机数量的不断增加,主机文件的变更越来越频繁。域名系统DNS是在1984年为取代HOSTS文件而创建的层次型名字系统。域名系统层次结构从高到低的组织:•根域(Root)位于DNS的最高层,一般不出现在域名中。如果确实需要指明根,那么它将出现在FQDN的最后面,以一个句点“.”表示。•顶级域又称为一级域,顶级域按照组织类型和国家划分,可以分为三个主要的域:通用顶级域名gTLD、国家代码顶级域名ccTLD和反向域。gTLD:com、org和net是向所有用户开放的三个通用顶级域名,也称为全球域名,任何国家的用户都可申请注册它们下面的二级域名。mil、gov和edu三个通用顶级域名只向美国专门机构开放。int是适用于国际化机构的国际顶级域名(iTLD)。上述7个传统的通用顶级域供不应求,后来又新增了7个顶级域:biz、info、name、pro、aero、coop和museum(新的顶级域名)。其中前4个是非限制性域,后3个是限制性域,限制性域只能用于专门的领域。ccTLD:目前有240多个国家代码顶级域名,由二个字母缩写来表示。uk代表英国,hk代表香港(地区),sg代表新加坡。反向域:的顶级域名为arpa,用于实现IP地址到域名的反向解析。•次级域又叫二级域,次级域与具体的公司或组织相关联。•子域是次级域下面的域,子域是各个组织将名字空间进行的进一步划分。中国顶级域名下的行政区域名(34个):适用于我国的各省、自治区、直辖市,分别为:BJ-北京市;SH-上海市;TJ-天津市;CQ-重庆市;HE-河北省;SX-山西省;NM-内蒙古自治区;LN-辽宁省;JL-吉林省;HL-黑龙江省;JS-江苏省;ZJ-浙江省;AH-安徽省;FJ-福建省;JX-江西省;SD-山东省;HA-河南省;HB-湖北省;HN-湖南省;GD-广东省;GX-广西壮族自治区;HI-海南省;SC-四川省;GZ-贵州省;YN-云南省;XZ-西藏自治区;SN-陕西省;GS-甘肃省;QH-青海省;NX-宁夏回族自治区;XJ-新疆维吾尔自治区;TW-台湾;HK-香港;MO-澳门。主机名(HostName)是最末级的名字。每个域/子域对应图9-1中的一棵子树,而在实际的名字空间的管理中采用的是区域(Zone)的概念,区域是DNS的管理单元,通常是指一个DNS服务器所管理的名字空间。区域和域是不同的概念,域是一个完整的子树,而区域可以是子树中的任何一部分,区域可以是一个域,也可以不是一个域,区域不一定包含那部分DNS树中的所有子域。图9-2描述了区域和域的不同。Root图9-2域和区域…cnedunjustserveducomarpa域B:区域/域A:区域DNS主要由3个部分构成:–名字解析器(resolver)名字解析器请求名字服务器的服务,获得待查主机的IP地址。解析器位于应用程序中或主机的例行程序库中。–域名空间(domainnamespace)用树形结构组织的DNS数据库。–名字服务器(nameserver)名字服务器用于保存域名空间各部分的信息,响应名字解析请求。返回9.3DNS服务器DNS服务器可以通过多种方法获取域名空间的部分信息:–可以由管理员编辑一个原始区域文件–从其他名字服务器那里复制区域文件–通过向其他DNS服务器查询来获取具有一定时效的缓存信息名字服务器的三种主要类型:–主(primary)名字服务器–次(secondary)名字服务器–惟高速缓存(caching-only)名字服务器•主名字服务器是拥有一个区域文件的原始版本的服务器。关于该区域文件的任何变更都在这个主名字服务器的原始版本上进行。•次名字服务器从其他主名字服务器那里复制一个区域文件。该区域文件是主名字服务器的原始区域文件的一个只读版本。关于区域文件的任何改动都在主名字服务器那里进行,次名字服务器通过区域传输(zonetransfer)跟随主名字服务器上区域文件的变化。•惟高速缓存名字服务器上没有区域文件,它的职责是帮助名字解析器完成名字解析,并缓存解析结果。惟高速缓存名字服务器对名字解析请求的响应是非授权的。惟高速缓存名字服务器在启动之后,通过缓存查询的结果来逐渐建立DNS信息。缓存条目的生存期TTL由提供授权解析结果的名字服务器决定。返回9.4域名解析•TCP/IP的域名系统DNS是一个有效的、可靠的、通用的、分布式的名字—地址映射系统。•域名解析包括正向解析和反向解析:–正向解析是根据域名查询其对应的IP地址或其他相关信息–反向解析是根据IP地址查询其对应的域名•DNS服务器和客户端属于TCP/IP模型的应用层,DNS既可以使用UDP,也可以使用TCP来进行通信。DNS服务器使用UDP/TCP的53号熟知端口。•DNS服务器能够接收两种类型的解析:–递归解析(Recursiveresolution)–反复解析(iterativeresolution)。9.4.1递归解析•递归解析要求名字服务器系统一次性完成名字—地址变换。递归查询强迫指定的DNS服务器对请求做出响应,该响应或者是一个失败响应,或者是一个包含相应的解析结果的成功响应。客户端计算机的解析器通常会发出递归查询。图9-3递归解析125634DNS服务器DNS服务器DNS服务器客户9.4.2反复解析反复解析要求客户端本身反复寻求名字服务器的服务来获得最终的解析结果。在反复解析中,名字服务器收到请求后,若能够给出解析结果,则向客户端发回最终结果,若本名字服务器无法给出解析结果,则应向查询者提供它认为能够给出解析结果的服务器的IP地址。请求者收到该IP地址后,将向该地址发解析请求,直到获得最终解析结果或失败响应。•当一个名字服务器试图找到它的本地域之外的名字时,往往会发送反复查询。为了解析名字,它可能必须查询许多外面的DNS服务器,一般从根域服务器开始自顶向下查找。图9-4反复解析1245DNS服务器DNS服务器客户DNS服务器36•下图给出了一个递归解析与反复解析相结合,以转换名字的全过程。9.4.3反向解析名字解析中的反向解析是指由主机的IP地址求得其域名的过程。DNS在名字空间中设置了一个称为in-addr.arpa的特殊域,专门用于反向解析。为了能够将反向解析与正向解析用相同的方法进行解析,反向解析将IP地址的字节颠倒过来写,构成反向解析的“名字空间”。地址为202.119.80.126的主机的域名为126.80.119.202.in-addr.arpa.。Root图9-5IP地址为202.119.80.126的主机的逆向解析域名…cneduserveducomarpain-addr20211980126域名njustarpa.126.80.119.202.in-addr.arpa.80.119.202.in-addr.arpa.119.202.in-addr.arpa.202.in-addr.arpa.in-addr.arpa.9.4.4解析效率解决:两步名字解析机制和高速缓存技术。•采用两步名字解析机制解析时,第一步先通过本地名字服务器进行解析,若不行,再采用自顶向下的方法搜索。两步法既提高了效率又保证了域名管理的层次结构。•在名字服务器中采用高速缓存技术,存放最近解析过的名字—地址映射和描述解析该名字的服务器位置的信息,可避免每次解析非本地名

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

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

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

×
保存成功