《TCPIP基本原理第十一章DNS域名解析.ppt》由会员分享,可在线阅读,更多相关《TCPIP基本原理第十一章DNS域名解析.ppt(26页珍藏版)》请在金锄头文库上搜索。
1、11-1中国科学技术大学 远程教育TCP/IP基本原理基本原理第十一章第十一章第十一章第十一章 DNSDNS域名解析域名解析域名解析域名解析11-2中国科学技术大学 远程教育本章学习要求本章学习要求:掌握:掌握:DNSDNS域名系统、区、域、域名的概念域名系统、区、域、域名的概念掌握:域名系统的两种解析方式掌握:域名系统的两种解析方式掌握:逆向解析原理掌握:逆向解析原理掌握:域名解析的原理掌握:域名解析的原理了解:了解:IPIPv6 DNS v6 DNS 的工作原理的工作原理11-3中国科学技术大学 远程教育11.1两类名称转换方法两类名称转换方法人们认为,与其人们认为,与其1强记强记IP地址
2、,远不如起个好记的名称。网络管理员地址,远不如起个好记的名称。网络管理员喜欢给计算机起些有意义的名称。比如,喜欢给计算机起些有意义的名称。比如,APPSERVR。在。在Internet网上,网上,人们给人们给Web站点起个容易记忆的名称,如站点起个容易记忆的名称,如。这样,我们可。这样,我们可以记住我们网络上的主机名以及我们想访问的以记住我们网络上的主机名以及我们想访问的Web站点名。站点名。然而,然而,TCP/IP却不能用这些单词去寻找其他主机,却不能用这些单词去寻找其他主机,TCP/IP需要的是需要的是IP地址。于是,我们使用的名称必须先被转换为地址。于是,我们使用的名称必须先被转换为IP
3、地址,然后,地址,然后,TCP/IP才才可以以使用。转换可以以使用。转换或者翻译或者翻译名称为名称为IP地址被称为名称转换。在把地址被称为名称转换。在把名称转换为名称转换为IP地址之后,主机才能认出目的地在本地还是在远程,才能继地址之后,主机才能认出目的地在本地还是在远程,才能继续通信。这类似了你知道一个人名,想去找电话号码。续通信。这类似了你知道一个人名,想去找电话号码。TCP/IP选用下列两选用下列两类名称转换方法之一:主机名转换方法或类名称转换方法之一:主机名转换方法或NetBIOS名称转换方法。名称转换方法。主机名转换方法主机名转换方法把主机的普通名称转换为把主机的普通名称转换为IP地
4、址的最普通方法是主机名转换方法。大地址的最普通方法是主机名转换方法。大多数多数TCP/IP转换使用程序采用这类方法。主机名转换有转换使用程序采用这类方法。主机名转换有7个方法完成对个方法完成对IP地址的转换。在报告有错之前,地址的转换。在报告有错之前,TCP/IP将试用没一种方法。这将试用没一种方法。这7中主机名中主机名转换的方法是:转换的方法是:本主机:可用本主机:可用HOSTNAME命令获得本主机名称。命令获得本主机名称。主机主机HOSTS文件:位于文件:位于SYSTEMROOTSYSTEM32DRIVERSETC目录下。目录下。11-4中国科学技术大学 远程教育DNSNetBIOS名称缓
5、存器:位于本地主机名称缓存器:位于本地主机RAM中,可用中,可用nbtstatc来查看。来查看。WINS:WindowsInternetNameService,是一个微软,是一个微软NetBIOS名称服名称服务器。务器。广播广播LMHOSTS文件:与文件:与HOSTS文件位于相同的目录下。文件位于相同的目录下。使用主机名转换方法的普通使用工具和程序包括使用主机名转换方法的普通使用工具和程序包括Ping、FPT和和Web浏浏览器览器(HTTP)。NetBIOS名称转换名称转换有些微软网络应用程序是为被称为有些微软网络应用程序是为被称为NetBIOS的应用程序接口的应用程序接口(API)而而写的。
6、程序员使用一个普通接口帮助应用程序更好地与网络上的其他计算写的。程序员使用一个普通接口帮助应用程序更好地与网络上的其他计算机进行通信。这些程序被称为机进行通信。这些程序被称为NetBIOS应用程序。应用程序。NetBIOS应用程序使用应用程序使用NetBIOS名称,也称为计算机名称。在缺省情名称,也称为计算机名称。在缺省情况下,况下,NetBIOS名主机名相同。名主机名相同。NetBIOS有有6中方法将中方法将NetBIOS名称转换名称转换为为IP地址。如果这地址。如果这6种方法执行后仍不能转换,就向用户显示一个出错信息。种方法执行后仍不能转换,就向用户显示一个出错信息。NetBIOS的的6种
7、名称转换方法是:种名称转换方法是:NetBIOS名称缓存器名称缓存器WINS11-5中国科学技术大学 远程教育广播广播LMHOSTS文件文件主机文件主机文件DNS使用使用NetBIOS名称转换方法的应用程序有名称转换方法的应用程序有WindowsExplorer、NTExplorer和微软的网络应用程序和微软的网络应用程序(如如netuse和和netview命令命令)。NetBIOS名称转换方法和主机名称转换方法的比较名称转换方法和主机名称转换方法的比较在查找在查找TCP/IP配置问题时,必须知道应用程序使用哪类名称转换。两配置问题时,必须知道应用程序使用哪类名称转换。两种方法有类似的地方。但
8、方法被使用的顺序不同,每种方法采取独特的路径种方法有类似的地方。但方法被使用的顺序不同,每种方法采取独特的路径将名称转变为将名称转变为IP地址。下表列出了两类转换使用方法的顺序。地址。下表列出了两类转换使用方法的顺序。每类转换使用发的顺序每类转换使用发的顺序主机名转换主机名转换NetBIOS名转换名转换本主机本主机(HOSTNAME)NetBIOS名缓存器名缓存器HOSTS文件文件WINSDNS广播广播NetBIOS名缓存器名缓存器LMHOSTS文件文件WINSHOSTS文件文件广播广播DNSLMHOSTS文件文件11-6中国科学技术大学 远程教育表中列出的某些方法只适用于试图转换的计算机正在
9、使用微软的表中列出的某些方法只适用于试图转换的计算机正在使用微软的TCP/IP客户机时。有可能客户机没有设置某种转换方法,如客户机没设置客户机时。有可能客户机没有设置某种转换方法,如客户机没设置使用使用WINS作为转换方法,这个方法就被忽略。只有微软的客户机有作为转换方法,这个方法就被忽略。只有微软的客户机有NetBIOS名称。名称。总之,命名体系包括两种,一种是总之,命名体系包括两种,一种是NetBios名称:包含名称:包含16个字个字符,前符,前15个用户指定,第个用户指定,第16个用作名称后缀。每个个用作名称后缀。每个NetBios名称必须名称必须唯一。另一种是唯一。另一种是DNS名称:
10、两部分组成,前面是主机名,后面是域名称:两部分组成,前面是主机名,后面是域名。主机名最多可以有名。主机名最多可以有255个字符,可包含字母和数字符号、连字个字符,可包含字母和数字符号、连字符和句点,可以对同一计算机分配多个主机名。符和句点,可以对同一计算机分配多个主机名。DNS是当今是当今Internet的基础架构,众多的网络服务(如的基础架构,众多的网络服务(如Http,Ftp,Email等等)都是建立在等等)都是建立在DNS体系基础之上的。权威人士指出:体系基础之上的。权威人士指出:一旦你理解了一旦你理解了DNS,你才真正懂得了,你才真正懂得了Internet。因此,。因此,DNS的重的重
11、要性是不言而喻的。要性是不言而喻的。11-7中国科学技术大学 远程教育11.2DNS的引入的引入DNS(DomainNameSystem)是是“域名系统域名系统”的英文缩写,是一种组织成的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,主要是用来命网络,主要是用来命名计算机服务器,名计算机服务器,(如如)代替枯燥而难记的代替枯燥而难记的IP地址地址(如如“202.38.80.200”)以定位相应的计算机和相应服务。因此,要想让名称能被以定位相应的计算机和相应服务。因此,要想让名称能被网络所认识,需要在名称和网络所认
12、识,需要在名称和IP地址之间有一位地址之间有一位“翻译官翻译官”,能将相关的域名翻,能将相关的域名翻译成网络能接受的相应译成网络能接受的相应IP地址。地址。DNS就起这样的作用。就起这样的作用。11.2.1域名系统域名系统域名系统是一个分布式数据库,它是本地负责控制整个分布式数据库的域名系统是一个分布式数据库,它是本地负责控制整个分布式数据库的部分段。每一段中的数据通过客户部分段。每一段中的数据通过客户/服务器模式在整个网络上均可存取服务器模式在整个网络上均可存取,通过采通过采用复制技术和缓存技术使得整个数据库可靠的同时,又拥有良好的性能。用复制技术和缓存技术使得整个数据库可靠的同时,又拥有良
13、好的性能。域名服务器包含数据库的部分段的信息域名服务器包含数据库的部分段的信息,并可提供给被称之为解析器的客并可提供给被称之为解析器的客户来访问。户来访问。DNS的数据库结构形成一个倒立的树状结构的数据库结构形成一个倒立的树状结构,根的名字用空字符串来根的名字用空字符串来表示,但在文本中用表示,但在文本中用“.”来书写。树的每一个节点都表示整个分布式数据库中来书写。树的每一个节点都表示整个分布式数据库中的一个区的一个区(zone),每个区可再进一步划分成域,每个区可再进一步划分成域(domain),每个域都有一个标识,每个域都有一个标识(LABEL),标明了它与父域的关系。域有一个域名,标明了
14、它与父域的关系。域有一个域名(domainname),给出它在整,给出它在整个分布式数据库中的位置。在个分布式数据库中的位置。在DNS中,域名全称是从该域到根的标识序列,以中,域名全称是从该域到根的标识序列,以“.”分隔这些标识。该标识最多可包含分隔这些标识。该标识最多可包含63个字符。树中每一节点的完整域名为个字符。树中每一节点的完整域名为从该节点到根之间路径上的标识序列。从该节点到根之间路径上的标识序列。11-8中国科学技术大学 远程教育如果根域在节点的域名中出现,该名字看起来就象以点结尾如果根域在节点的域名中出现,该名字看起来就象以点结尾(实际上实际上是以点和空标签作结尾是以点和空标签作
15、结尾)。这些以点结尾的域名被称之为绝对域名。这些以点结尾的域名被称之为绝对域名(AbsoulteDomainName),不以点结尾的域名被称之为相对域名。,不以点结尾的域名被称之为相对域名。域域(Domains)即为树状域名空间中的一棵子树,域的域名同该子树根即为树状域名空间中的一棵子树,域的域名同该子树根节点的域名一样,也就是说节点的域名一样,也就是说,域的名字就是该域中最高层节点的名字。举例域的名字就是该域中最高层节点的名字。举例来说来说,域的顶端就是名为域的顶端就是名为的节点。的节点。在在DNS中,每个域分别由不同的组织进行管理。每个组织都可以将它中,每个域分别由不同的组织进行管理。每个
16、组织都可以将它的域再分成一定数量的子域并将这些子域委托给其他组织进行管理。域既的域再分成一定数量的子域并将这些子域委托给其他组织进行管理。域既能包括主机又能包括其他域能包括主机又能包括其他域(它的子域它的子域)。域名被用做。域名被用做DNS数据库中的索引数据库中的索引.子域中任何域名被认为是域的一部分。子域中任何域名被认为是域的一部分。事实上,主机即为域,域名仅是事实上,主机即为域,域名仅是DNS数据库中的索引,数据库中的索引,“主机主机”可由可由指向相关主机信息的域名来索引,域包含所有其域名在该域的主机。指向相关主机信息的域名来索引,域包含所有其域名在该域的主机。在域名树中,叶节点的域通常代
17、表主机,它们的域名可指向网络地址,在域名树中,叶节点的域通常代表主机,它们的域名可指向网络地址,硬件信息和邮件路由信息。在树内的节点,其域名既可命名一台主机,也硬件信息和邮件路由信息。在树内的节点,其域名既可命名一台主机,也可指向有关该域的子孙或子域的结构信息。在域名树中的内部域名并不受可指向有关该域的子孙或子域的结构信息。在域名树中的内部域名并不受唯一性限制唯一性限制,它们既可表示它们所对应的域它们既可表示它们所对应的域,又可代表网络中某台特定的主又可代表网络中某台特定的主机机.例如例如,既是既是sun的域的域,又是在又是在sun和和internet间转发信件的邮件服务间转发信件的邮件服务器
18、的域名。器的域名。11-9中国科学技术大学 远程教育InternetInternet域的部分示意图域的部分示意图11-10中国科学技术大学 远程教育11.2.2域名服务器域名服务器存储有关域名空间信息的程序被称为域名服务器存储有关域名空间信息的程序被称为域名服务器(nameserver)。通常域名服务器拥有部分域名空间通常域名服务器拥有部分域名空间(称之为区称之为区zone)的完整信息。域的完整信息。域名服务器可以拥有多个区的授权。名服务器可以拥有多个区的授权。区与域的关系区与域的关系区包含了域中除了代理给别处的子域外所含有的所有域名和数区包含了域中除了代理给别处的子域外所含有的所有域名和数据
19、。如果域的子域没有被代理出去据。如果域的子域没有被代理出去,则该区包含该子域名和子域中则该区包含该子域名和子域中的数据。的数据。DNS定义了两类域名服务器:定义了两类域名服务器:primaryMaster和和secondaryMaster。PM域名服务器从它所运行的主机上的文件获得它所负责域名服务器从它所运行的主机上的文件获得它所负责的区的数据,的区的数据,SM域名服务器则是从其它的具有该区授权的域名服域名服务器则是从其它的具有该区授权的域名服务器上获得它的区的数据。务器上获得它的区的数据。SM域名服务器会定期查询域名服务器会定期查询PM域名服务域名服务器以保证区数据为最新版本。器以保证区数据
20、为最新版本。一般情况下,最好设立一台一般情况下,最好设立一台PM域名服务器和若干台域名服务器和若干台SM域名服域名服务器,这样可以分担负载务器,这样可以分担负载.以及确保区中所有主机都有比较靠近的以及确保区中所有主机都有比较靠近的域名服务器,方便访问。域名服务器,方便访问。11-11中国科学技术大学 远程教育11.2.3解析器解析器运行在主机上并需要域名空间信息的重新需要解析器运行在主机上并需要域名空间信息的重新需要解析器(Resolver),在,在bind中解析器仅仅是一组库例程,并编译进象中解析器仅仅是一组库例程,并编译进象telnet和和ftp这样的程序中。它这样的程序中。它们并非独立的
21、进程。解析器所做的工作是,汇集查询,发送查询并等待应们并非独立的进程。解析器所做的工作是,汇集查询,发送查询并等待应答答,未得到应答时重发查询。未得到应答时重发查询。11.2.4地址到域名的映射地址到域名的映射在域名空间的数据是通过名字来进行索引的,找到一个给定域名的地在域名空间的数据是通过名字来进行索引的,找到一个给定域名的地址相对容易。但是要找到映射给一定地址的域名就要在树上的每一个域名址相对容易。但是要找到映射给一定地址的域名就要在树上的每一个域名空间作穷尽搜索。如果这样的话,效率将相当低。为了解决这个问题,创空间作穷尽搜索。如果这样的话,效率将相当低。为了解决这个问题,创建一个以地址为
22、索引的域名空间,这部分名字空间被称为建一个以地址为索引的域名空间,这部分名字空间被称为in-addr.arpa域。域。in-addr.arpa域中的节点以域中的节点以Doted-octet(将将32bitIP地址表示为由地址表示为由“.”分隔开的四个分隔开的四个8bit的十进制形式的方法的十进制形式的方法)形式表示形式表示IP地址。地址。IP地址在名字地址在名字空间以相反的方向表示,因为名字从叶读到根。例如,空间以相反的方向表示,因为名字从叶读到根。例如,的的IP地址为地址为202.105.177.100,则相应的,则相应的in-addr.arpa子域为子域为177.105.202.in-ad
23、dr.arpa,使,使IP地址中的第一个字节出现在树的最高层使的管理员有能力地址中的第一个字节出现在树的最高层使的管理员有能力沿着网络联接将沿着网络联接将in-addr.arpa域代理出去。例如域代理出去。例如177.105.202.in-addr.arpa可可以被代理给网络以被代理给网络177.105.202的管理员。的管理员。11-12中国科学技术大学 远程教育逆向解析实质上是将逆向解析实质上是将IP地址表达成一个域名地址表达成一个域名,这样逆向解析的很大部这样逆向解析的很大部分分(包括服务器通信端包括服务器通信端,算法甚至软件算法甚至软件)就可以纳入正向解析之中。即用正就可以纳入正向解析
24、之中。即用正向解析的方法解决逆向解析的问题。向解析的方法解决逆向解析的问题。例如例如,在在SUN的的Solaris2.4版本中专门有一个逆向映射的文件版本中专门有一个逆向映射的文件,即即:host.rev,用于逆向解。用于逆向解。其内容格式如下其内容格式如下:120.128.in-addr.arpaINSOAintegv.integralis.edu99.16INPTRintegv.integralis.edu98.16INPTRissws.integralis.edu.11.2.5缓存与生存期缓存与生存期名字服务器在处理递归查询时,可能要进行多次查询才能得到信息名字服务器在处理递归查询时,可
25、能要进行多次查询才能得到信息,在这过在这过程中,名字服务器可以获得很多有关域名空间的信息,名字服务器将所以程中,名字服务器可以获得很多有关域名空间的信息,名字服务器将所以这些信息都缓存起来以加速以后的查询这些信息都缓存起来以加速以后的查询.除了加速查询外,缓存还使得我们除了加速查询外,缓存还使得我们不必再次查询根名字服务器不必再次查询根名字服务器,这样可使得我们不必过分依赖根名字服务器而这样可使得我们不必过分依赖根名字服务器而大大减轻根名字服务器的负载。大大减轻根名字服务器的负载。生存期生存期(TTL)为所容许的名字服务器对数据缓存的时间长度,一旦生为所容许的名字服务器对数据缓存的时间长度,一
26、旦生存期到了,名字服务器必须丢弃缓存数据并从授权的名字服务器中重新获存期到了,名字服务器必须丢弃缓存数据并从授权的名字服务器中重新获取新的数据取新的数据.这样可以确保域数据在整个网络上的一致性。这样可以确保域数据在整个网络上的一致性。11-13中国科学技术大学 远程教育11.3DNS服务的原理服务的原理11.3.1工作过程工作过程Internet的域是一个树型结构,根接点由一个的域是一个树型结构,根接点由一个“.”表示,下面位高层域表示,下面位高层域(例如:(例如:cn,jp,com,net,org.),在往下有第二层、第三层或更多的层次,例),在往下有第二层、第三层或更多的层次,例如如中中n
27、et为高层,为高层,qysl为第二层,就是主机名了。为第二层,就是主机名了。DNS是一个巨大的分布式数据库。它是通过名字服务器(是一个巨大的分布式数据库。它是通过名字服务器(nameserver)提)提供一个指定的域的信息来实现的。在每个区,至少有两个以上的保存其所在区供一个指定的域的信息来实现的。在每个区,至少有两个以上的保存其所在区的所有主机授权信息的名字服务器。所以为了获得的所有主机授权信息的名字服务器。所以为了获得中中www这台机这台机器的器的IP地址,就必须与地址,就必须与区的名字服务器联系。区的名字服务器联系。DNS域名采用客户机域名采用客户机/服务服务器模式进行解析。在器模式进行
28、解析。在Windows系列操作系统中都集成了系列操作系统中都集成了DNS客户机软件。下面客户机软件。下面以以Web访问为例介绍访问为例介绍DNS的域名解析过程,如下图所示。的域名解析过程,如下图所示。11-14中国科学技术大学 远程教育一个完整的域名解析过程如下。一个完整的域名解析过程如下。(1)在)在Web浏览器中输入地址浏览器中输入地址http:/(为了说明原理而虚构(为了说明原理而虚构的域名),的域名),Web浏览器将域名解析请求提交给自己计算机上浏览器将域名解析请求提交给自己计算机上DNS客户机软客户机软件。件。(2)DNS客户机软件向指定客户机软件向指定IP地址的地址的DNS服务器发
29、出域名解析请求:服务器发出域名解析请求:“请请问问代表的代表的Web服务器的服务器的IP地址是什么地址是什么”。(3)DNS服务器在自己建立的域名数据库中查找是否有与服务器在自己建立的域名数据库中查找是否有与“”相匹配的记录。域名数据库存储的是相匹配的记录。域名数据库存储的是DNS服务器自身能服务器自身能够解析的数据。够解析的数据。(4)域名数据库将查询结果反馈给)域名数据库将查询结果反馈给DNS服务器。如果在域名数据库中存在服务器。如果在域名数据库中存在匹配的记录匹配的记录“对应的是对应的是IP地址为地址为192.168.1.2的的Web服务器服务器”,则转入第(,则转入第(9)步。)步。(
30、5)如果在域名数据库中不存在匹配的记录,)如果在域名数据库中不存在匹配的记录,DNS服务器将访问域名缓存。服务器将访问域名缓存。域名缓存存储的是从其他域名缓存存储的是从其他DNS服务器转发的域名解析结果。服务器转发的域名解析结果。(6)域名缓存将查询结果反馈给)域名缓存将查询结果反馈给DNS服务器,若域名缓存中查询到指定的服务器,若域名缓存中查询到指定的记录,则转入第(记录,则转入第(9)步。)步。(7)若在域名缓存中也没有查询到指定的记录,则按照)若在域名缓存中也没有查询到指定的记录,则按照DNS服务器的设置服务器的设置转发域名解析请求到其他转发域名解析请求到其他DNS服务器上进行查找。服务
31、器上进行查找。(8)其他)其他DNS服务器将查询结果反馈给服务器将查询结果反馈给DNS服务器。服务器。(9)DNS服务器将查询结果反馈回服务器将查询结果反馈回DNS客户机。客户机。(10)DNS客户机将域名解析结果反馈给浏览器。若反馈成功,客户机将域名解析结果反馈给浏览器。若反馈成功,Web浏览浏览器就按照指定的器就按照指定的IP11-15中国科学技术大学 远程教育客户机由网络应用软件和客户机由网络应用软件和DNS客户机软件构成。客户机软件构成。DNS服务器上有两部服务器上有两部分数据,一部分是自己建立和维护的域名数据库,存储的是由本机解析的分数据,一部分是自己建立和维护的域名数据库,存储的是
32、由本机解析的域名;一部分是为了节省转发域名解析请求的开销而设立的域名缓存,存域名;一部分是为了节省转发域名解析请求的开销而设立的域名缓存,存储从其他储从其他DNS服务器解析的历史记录。服务器解析的历史记录。11.3.2两种工作模式两种工作模式有两种询问原理,分为有两种询问原理,分为Recursive和和Interactive两种。前者是由两种。前者是由DNS代代理去问,问的方法是用理去问,问的方法是用Interactive方式,后者是由本机直接做方式,后者是由本机直接做Interactive式式的询问。由上例可以看出,我们一般查询名称的过程中,实际上这两种查的询问。由上例可以看出,我们一般查询
33、名称的过程中,实际上这两种查询模式都是交互存在着的。询模式都是交互存在着的。递归式递归式(Recursive):DNS客户端向客户端向DNSServer的查询模式,这种方式是将的查询模式,这种方式是将要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。交谈式交谈式(Interactive):DNSServer间的查询模式,由间的查询模式,由Client端或是端或是DNSServer上所发出去问,这种方式送
34、封包出去问,所响应回来的资料不一定上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来告诉你最接近的应回来告诉你最接近的IP位置,然后再到此最接近的位置,然后再到此最接近的IP上去寻找所要解析上去寻找所要解析的名称,反复动作直到找到正确位置。的名称,反复动作直到找到正确位置。11-16中国科学技术大学 远程教育11.4DNS资源记录资源记录每个每个DNS数据库都由资源记录构成。一般来说,资源记录包含与特定数据库都由资源记录构成。一般来说,资源记录包含与特定
35、主机有关的信息,如主机有关的信息,如IP地址、主机的所有者或者提供服务的类型。地址、主机的所有者或者提供服务的类型。常用的常用的DNS资源记录类型资源记录类型资源记录类型资源记录类型说明说明解释解释SOA起始授起始授权机构机构此此记录指定区域的起点。它所包含的信息有区域名、指定区域的起点。它所包含的信息有区域名、区域管理区域管理员电子子邮件地址,以及指示件地址,以及指示辅DNS服服务器如何更新区域数据文件的器如何更新区域数据文件的设置等。置等。A地址地址此此记录列出特定主机名的列出特定主机名的IP地址。地址。这是名称解析的是名称解析的重要重要记录。CNAME标准名称准名称此此记录指定指定标准主
36、机名的准主机名的别名。名。MX邮件交件交换器器此此记录列出了列出了负责接收接收发到域中的到域中的电子子邮件的主机。件的主机。NS名称服名称服务器器此此记录指定指定负责给定区域的名称服定区域的名称服务器。器。PTR指指针记录帮助帮助进行行IP地址到主机名地址到主机名转换的的记录。11-17中国科学技术大学 远程教育11.5IPv6的域名系统的域名系统IPv6具有很多优点。首先,它提供了巨大的地址空间,其次,具有很多优点。首先,它提供了巨大的地址空间,其次,IPv6的地址结构和地址分配采用严格的层次结构,以便于进行地址的地址结构和地址分配采用严格的层次结构,以便于进行地址聚合,从而大大减小了路由器
37、中路由表的规模。再次,聚合,从而大大减小了路由器中路由表的规模。再次,IPv6协议支协议支持网络节点的地址自动配置,可以实现即插即用功能。而且,持网络节点的地址自动配置,可以实现即插即用功能。而且,IPv6协议对主机移动性有较好的支持,适合于越来越多的互联网移动应协议对主机移动性有较好的支持,适合于越来越多的互联网移动应用。另外,用。另外,IPv6协议在安全性、对多媒体流的支持性等方面都具有协议在安全性、对多媒体流的支持性等方面都具有超过超过IPv4的优势。的优势。IPv6网络中的网络中的DNS非常重要,一些非常重要,一些IPv6的新特性和的新特性和DNS的支持的支持密不可分。本文从密不可分。
38、本文从IPv6DNS的体系结构、的体系结构、IPv6的地址解析、的地址解析、IPv6地地址自动配置和即插即用、址自动配置和即插即用、IPv4到到IPv6的过渡等几方面对的过渡等几方面对IPv6时代的时代的DNS进行了分析和研究。进行了分析和研究。IPv6网络中的网络中的DNS与与IPv4的的DNS在体系结构上是一致的,都是在体系结构上是一致的,都是采用树型结构的域名空间。采用树型结构的域名空间。IPv4协议与协议与IPv6协议的不同并不意味着协议的不同并不意味着需要单独两套需要单独两套IPv4DNS体系和体系和IPv6DNS体系,相反的是,体系,相反的是,DNS的的体系和域名空间必须是一致的。
39、即,体系和域名空间必须是一致的。即,IPv4和和IPv6共同拥有统一的域共同拥有统一的域名空间。在名空间。在IPv4到到IPv6的过渡阶段,域名可以同时对应于多个的过渡阶段,域名可以同时对应于多个IPv4和和IPv6的地址。以后随着的地址。以后随着IPv6网络的普及,网络的普及,IPv6地址将逐渐取代地址将逐渐取代IPv4地址。地址。11-18中国科学技术大学 远程教育11.5.1DNS对对IPv6地址层次性的支持地址层次性的支持IPv6可聚合全局单播地址是在全局范围内使用的地址,必须进行层次划可聚合全局单播地址是在全局范围内使用的地址,必须进行层次划分及地址聚合。它的层次结构如下表所示:分及
40、地址聚合。它的层次结构如下表所示:其中:其中:FP(001):用于可聚合全局单播地址的格式前缀():用于可聚合全局单播地址的格式前缀(FP:FormatPrefix)()(3比比特);特);TLAID:顶级聚合标识符(:顶级聚合标识符(Top-LevelAggregationIdentifier););RES:为将来使用而保留;:为将来使用而保留;NLAID:次级聚合标识符(:次级聚合标识符(Next-LevelAggregationIdentifier););SLAID:站点级聚合标识符(:站点级聚合标识符(Site-LevelAggregationIdentifier););INTERFA
41、CEID:接口标识符;接口标识符;3138241664比特比特FPTLAIDRESNLAIDSLAIDInterfaceID11-19中国科学技术大学 远程教育IPv6全局单播地址的分配方式如下:顶级地址聚合机构全局单播地址的分配方式如下:顶级地址聚合机构TLA(即大的(即大的ISP或地址管理机构)获得大块地址,负责给次级地址聚合机构或地址管理机构)获得大块地址,负责给次级地址聚合机构NLA(中小规(中小规模模ISP)分配地址,)分配地址,NLA给站点级地址聚合机构给站点级地址聚合机构SLA(子网)和网络用户分配(子网)和网络用户分配地址。地址。IPv6地址的层次性在地址的层次性在DNS中通过
42、地址链技术可以得到很好的支持。下中通过地址链技术可以得到很好的支持。下面从面从DNS正向地址解析和反向地址解析两方面进行分析。正向地址解析和反向地址解析两方面进行分析。11.5.2正向解析正向解析IPv4的地址正向解析的资源记录是的地址正向解析的资源记录是“A”记录。记录。IPv6地址的正向解析目地址的正向解析目前有两种资源记录,即,前有两种资源记录,即,“AAAA”和和“A6”记录。其中,记录。其中,“AAAA”较早提出较早提出4,它是对,它是对“A”记录的简单扩展,由于记录的简单扩展,由于IP地址由地址由32位扩展到位扩展到128位,扩大了位,扩大了4倍,所以资源记录由倍,所以资源记录由“
43、A”扩大成扩大成4个个“A”。“AAAA”用来表示域名和用来表示域名和IPv6地址的对应关系,并不支持地址的层次性。地址的对应关系,并不支持地址的层次性。“A6”在在RFC28745中提出,它是把一个中提出,它是把一个IPv6地址与多个地址与多个“A6”记录建记录建立联系,每个立联系,每个“A6”记录都只包含了记录都只包含了IPv6地址的一部分,结合后拼装成一个地址的一部分,结合后拼装成一个完整的完整的IPv6地址。地址。“A6”记录支持一些记录支持一些“AAAA”所不具备的新特性,如地址所不具备的新特性,如地址聚合,地址更改(聚合,地址更改(Renumber)等。)等。首先,首先,“A6”记
44、录方式根据记录方式根据TLA、NLA和和SLA的分配层次把的分配层次把128位的位的IPv6的地址分解成为若干级的地址前缀和地址后缀,构成了一个地址链。每的地址分解成为若干级的地址前缀和地址后缀,构成了一个地址链。每个地址前缀和地址后缀都是地址链上的一环,一个完整的地址链就组成一个个地址前缀和地址后缀都是地址链上的一环,一个完整的地址链就组成一个IPv6地址。这种思想符合地址。这种思想符合IPv6地址的层次结构,从而支持地址聚合。地址的层次结构,从而支持地址聚合。11-20中国科学技术大学 远程教育其次,用户在改变其次,用户在改变ISP时,要随时,要随ISP改变而改变其拥有的改变而改变其拥有的
45、IPv6地址。如果地址。如果手工修改用户子网中所有在手工修改用户子网中所有在DNS中注册的地址,是一件非常繁琐的事情。而中注册的地址,是一件非常繁琐的事情。而在用在用“A6”记录表示的地址链中,只要改变地址前缀对应的记录表示的地址链中,只要改变地址前缀对应的ISP名字即可,可名字即可,可以大大减少以大大减少DNS中资源记录的修改。并且在地址分配层次中越靠近底层,所中资源记录的修改。并且在地址分配层次中越靠近底层,所需要改动的越少。需要改动的越少。在下例中,节点在下例中,节点地址由地址由(SLA)分配,)分配,的地址由的地址由(NLA)分配,而)分配,而的地址则的地址则是由是由ISPA.net(
46、TLA)分配。下面的多条记录就组成了一个完整的)分配。下面的多条记录就组成了一个完整的IPv6DNS地址链。如果地址链。如果改变改变ISP,需要改变其,需要改变其DNS中的中的ISP地址前缀,地址前缀,而它的网络用户而它的网络用户则无需改变则无需改变DNS设置。设置。例例1:IPv6DNS地址链:地址链:$ORIGIN.hostINA6640:0:0:0:42:.$ORIGINpanyINA6320:0:201:1860:SUBSCRIBERX.ISPA.net$ORIGINISPA.net.SUBSCRIBERXINA603ffe:8050:例例2:把例:把例1中的地址翻译成中的地址翻译成A
47、AAA记录表示的形式:记录表示的形式:$ORIGIN.hostINAAAA3ffe:8050:201:1860:0:0:0:0:42:111-21中国科学技术大学 远程教育11.5.3反向解析反向解析IPv6反向解析的记录和反向解析的记录和IPv4一样,是一样,是“PTR”,但地址表示形,但地址表示形式有两种。一种是用式有两种。一种是用“.”分隔的半字节分隔的半字节16进制数字格式(进制数字格式(NibbleFormat),低位地址在前,高位地址在后,域后缀是),低位地址在前,高位地址在后,域后缀是“IP6.INT.”。另一种是二进制串(另一种是二进制串(Bit-string)格式,以)格式,
48、以“”开头,开头,16进制地址进制地址(无分隔符,高位在前,低位在后)居中,地址后加(无分隔符,高位在前,低位在后)居中,地址后加“”,域后,域后缀是缀是“IP6.ARPA.”。半字节。半字节16进制数字格式与进制数字格式与“AAAA”对应,是对应,是对对IPv4的简单扩展。二进制串格式与的简单扩展。二进制串格式与“A6”记录对应,地址也象记录对应,地址也象“A6”一样,可以分成多级地址链表示,每一级的授权用一样,可以分成多级地址链表示,每一级的授权用“DNAME”记录。和记录。和“A6”一样,二进制串格式也支持地址层次特一样,二进制串格式也支持地址层次特性。性。总之,以地址链形式表示的总之,
49、以地址链形式表示的IPv6地址体现了地址的层次性,支地址体现了地址的层次性,支持地址聚合和地址更改。但是,由于一次完整的地址解析分成多个持地址聚合和地址更改。但是,由于一次完整的地址解析分成多个步骤进行,需要按照地址的分配层次关系到不同的步骤进行,需要按照地址的分配层次关系到不同的DNS服务器进行服务器进行查询。所有的查询都成功才能得到完整的解析结果。这势必会延长查询。所有的查询都成功才能得到完整的解析结果。这势必会延长解析时间,出错的机会也增加。因此,需要进一步改进解析时间,出错的机会也增加。因此,需要进一步改进DNS地址链地址链功能,提高域名解析的速度才能为用户提供理想的服务。功能,提高域
50、名解析的速度才能为用户提供理想的服务。11-22中国科学技术大学 远程教育11.5.4IPv6中的即插即用与中的即插即用与DNSIPv6协议支持地址自动配置协议支持地址自动配置67,这是一种即插即用的机制,在没,这是一种即插即用的机制,在没有任何人工干预的情况下,有任何人工干预的情况下,IPv6网络接口可以获得链路局部地址、站点局网络接口可以获得链路局部地址、站点局部地址和全局地址等,并且可以防止地址重复。部地址和全局地址等,并且可以防止地址重复。IPv6支持无状态地址自动支持无状态地址自动配置和有状态地址自动配置两种方式。配置和有状态地址自动配置两种方式。在无状态地址自动配置方式下,需要配置
51、地址的网络接口先使用邻居在无状态地址自动配置方式下,需要配置地址的网络接口先使用邻居发现机制获得一个链路本地地址。网络接口得到这个链路本地地址之后,发现机制获得一个链路本地地址。网络接口得到这个链路本地地址之后,再接受路由器宣告的地址前缀,结合接口标识得到一个全局地址。而有状再接受路由器宣告的地址前缀,结合接口标识得到一个全局地址。而有状态地址自动配置的方式,如态地址自动配置的方式,如DHCP(动态主机配置协议动态主机配置协议),需要一个,需要一个DHCP服服务器,通过客户机务器,通过客户机/服务器模式从服务器模式从DHCP服务器处得到地址配置的信息。服务器处得到地址配置的信息。IPv6节点通
52、过地址自动配置得到节点通过地址自动配置得到IPv6地址和网关地址。但是,地址自地址和网关地址。但是,地址自动配置中不包括动配置中不包括DNS服务器的自动配置。如何自动发现提供解析服务的服务器的自动配置。如何自动发现提供解析服务的DNS服务器也是一个需要解决的问题。正在研究的服务器也是一个需要解决的问题。正在研究的DNS服务器的自动发现服务器的自动发现的解决方法可以分为无状态和有状态两类。的解决方法可以分为无状态和有状态两类。在无状态的方式下,需要为子网内部的在无状态的方式下,需要为子网内部的DNS服务器配置站点范围内的服务器配置站点范围内的任播地址。要进行自动配置的节点以该任播地址为目的地址发
53、送服务器发任播地址。要进行自动配置的节点以该任播地址为目的地址发送服务器发现请求,询问现请求,询问DNS服务器地址、域名和搜索路径等服务器地址、域名和搜索路径等DNS信息。这个请求到信息。这个请求到达距离最近的达距离最近的DNS服务器,服务器根据请求,回答服务器,服务器根据请求,回答DNS服务器单播地址、服务器单播地址、域名和搜索路径等域名和搜索路径等DNS信息。节点根据服务器的应答配置本机信息。节点根据服务器的应答配置本机DNS信息,信息,以后的以后的DNS请求就直接用单播地址发送给请求就直接用单播地址发送给DNS服务器。服务器。11-23中国科学技术大学 远程教育另外,也可以不用站点范围内
54、的任播地址,而采用站点范围内另外,也可以不用站点范围内的任播地址,而采用站点范围内的多播地址或链路多播地址等。还可以一直用站点范围内的任播地的多播地址或链路多播地址等。还可以一直用站点范围内的任播地址作为址作为DNS服务器的地址,所有的服务器的地址,所有的DNS解析请求都发送给这个任播解析请求都发送给这个任播地址。距离最近的地址。距离最近的DNS服务器负责解析这个请求,得到解析结果后服务器负责解析这个请求,得到解析结果后把结果返回请求节点,而不像上述做法是把把结果返回请求节点,而不像上述做法是把DNS服务器单播地址、服务器单播地址、域名和搜索路径等域名和搜索路径等DNS信息告诉节点。从网络扩展
55、性,安全性,实信息告诉节点。从网络扩展性,安全性,实用性等多方面综合考虑,第一种采用站点范围内的任播地址作为用性等多方面综合考虑,第一种采用站点范围内的任播地址作为DNS服务器地址的方式相对较好。服务器地址的方式相对较好。在有状态的在有状态的DNS服务器发现方式下,是通过类似服务器发现方式下,是通过类似DHCP这样的这样的服务器把服务器把DNS服务器地址、域名和搜索路径等服务器地址、域名和搜索路径等DNS信息告诉节点。信息告诉节点。当然,这样做需要额外的服务器。当然,这样做需要额外的服务器。11-24中国科学技术大学 远程教育11.5.5IPv6过渡阶段与过渡阶段与DNS在在IPv4到到IPv
56、6的过渡过程中,作为的过渡过程中,作为Internet基础架构的基础架构的DNS服服务也要支持这种网络协议的升级和转换。务也要支持这种网络协议的升级和转换。IPv4和和IPv6的的DNS记录格记录格式等方面有所不同,为了实现式等方面有所不同,为了实现IPv4网络和网络和IPv6网络之间的网络之间的DNS查询查询和响应,可以采用应用层网关和响应,可以采用应用层网关DNS-ALG结合结合NATPT的方法的方法9,在在IPv4和和IPv6网络之间起到一个翻译的作用。例如,网络之间起到一个翻译的作用。例如,IPv4的地址域的地址域名映射使用名映射使用“A”记录,而记录,而IPv6使用使用“AAAA”或
57、或“A6”记录。那么,记录。那么,IPv4的节点发送到的节点发送到IPv6网络的网络的DNS查询请求是查询请求是“A”记录,记录,DNS-ALG就把就把“A”改写成改写成“AAAA”,并发送给,并发送给IPv6网络中的网络中的DNS服务服务器。当服务器的回答到达器。当服务器的回答到达DNS-ALG时,时,DNS-ALG修改回答,把修改回答,把“AAAA”改为改为“A”,把,把IPv6地址改成地址改成DNS-ALG地址池中的地址池中的IPv4转转换地址,把这个换地址,把这个IPv4转换地址和转换地址和IPv6地址之间的映射关系通知地址之间的映射关系通知NATPT,并把这个,并把这个IPv4转换地
58、址作为解析结果返回转换地址作为解析结果返回IPv4主机。主机。IPv4主主机就以这个机就以这个IPv4转换地址作为目的地址与实际的转换地址作为目的地址与实际的IPv6主机通过主机通过NATPT通信。示意图如下页示。通信。示意图如下页示。11-25中国科学技术大学 远程教育对于采用双协议栈方式的过渡方法,在对于采用双协议栈方式的过渡方法,在DNSDNS服务器中同时存在服务器中同时存在“A A”记录和记录和AAAAAAAA(或(或A6A6)记录。由于节点既可以处理)记录。由于节点既可以处理IPv4IPv4协议,也可以处理协议,也可以处理IPv6IPv6协议,因此无需类似协议,因此无需类似DNS ALGDNS ALG的转换设备。无论的转换设备。无论DNSDNS服务器回答服务器回答“A A”记录还是记录还是AAAAAAAA记录,都可以进行通信。记录,都可以进行通信。 11-26中国科学技术大学 远程教育本章习题本章习题参见教师网页:参见教师网页:http:/