域名系统
被考次数: 7次
被考频率: 中频率
答错率:    39%
知识难度:
考试要求: 掌握     
知识路径:  > 计算机网络原理  > Internet 协议  > 应用层协议  > 域名系统DNS


本知识点历年真题试卷分布
>> 试题列表    
 

 
       DNS服务是一个Internet和TCP/IP服务,用于映射网络地址号码。即寻找Internet域名并将它转化为IP地址的系统。域名是有意义的,使用户容易记忆Internet地址。域名和IP地址是分布式存放的。
       DNS的基本原理是,DNS客户端(Resolver)根据查询得到的资源记录(Resource Record,RR)类型和关联数据(RDATA)来进行下一步的通信或者检索。DNS请求首先到达地理上比较近的DNS服务器,如果寻找不到此域名,主机会将请求向远方的DNS服务器发送。
          DNS名字空间
          为了保证主机名字的唯一性,给主机分配的名字必须在名字空间(Name Space)中进行。名字空间可以按两种方式进行组织:平面的和层次的。
          在平面名字空间(Flat Name Space)中,名字是一个无结构的字符序列。为了保证名字的唯一性,名字的分配和管理必须集中控制,因此平面名字空间不适合因特网这样大规模的系统。
          在层次名字空间(Hierarchical Name Space)中,每一个名字由几部分组成。例如,第一部分可以定义组织的形式,第二部分可以定义组织的名字,第三部分可以定义组织的部门等。这样,名字的分配和管理就可以分散化。中央管理机构可以负责分配名字的一部分,比如组织形式和组织的名字。名字其他部分的分配和管理可交给这个组织,比如这个组织可以通过给组织名字加上后缀(或前缀)来定义部门。UNIX系统的文件名就是一个层次名字空间的例子。
          为了获得层次名字空间,人们设计了域名空间(Domain Name Space,DNS)。在域名方式下,所有的名字由根在顶部的倒置树结构来定义。该树最多有128级(level):0(顶级、根节点)~127级(叶节点)。
          树上的每一个节点有一个标号(Label)。标号是一个最多为63个字符的字符串,根节点标号是空字符串。DNS要求每一个节点的子节点有不同的标号,这样就确保域名的唯一性。
          域(Domain)是域名空间(DNS)的一棵子树,这个域的名字是子树顶部节点的域名,而且一个域本身还可以再划分为多个子域(Subdomian)。
          每一个域都有一个域名(Domain Name),域名由用点(.)分隔的标号序列表示。例如,www.cs.princeton表示美国普林斯顿大学(princeton)计算机系(cs)的WWW服务器(www);mail.csai.cn表示中国(cn)软考在线公司(csai)的邮件服务器(mail)。
          域名服务器
          如何将域名空间(DNS)所包含的所有信息存储起来呢?如果只使用一台计算机存储如此大容量的信息,将会导致低效率和不安全。更好的做法是将域名空间信息分布在多台称为DNS服务器(DNS Server)的计算机中。一种方法是将整个空间划分为多个基于第一级的域,也就是说,让根节点(0级、顶级)保持不变,但创建许多与第一级节点同样多的子域(子树),同时允许将第一级域进一步划分成更小的子域,每一台DNS服务器对某一个域(不管大小)进行负责(由上级域授权)。换句话说,与建立名字的层次结构一样,也建立DNS服务器的层次结构。
          完整的域名层次结构是被分布在多个DNS服务器上的。一个DNS服务器负责的范围,称为区域(Zone),可以将一个区域定义为整棵树中的一个连续部分。如果某个DNS服务器负责一个域,而且这个域并没有进一步划分更小的域,此时域和区域是相同的。DNS服务器有一个数据库,称为区域文件,它保存了这个域中所有节点的信息。然而,如果DNS服务器将它的域划分为多个子域,并将其部分授权委托给其他DNS服务器,那么域与区域就不同了。子域节点信息存放在子域DNS服务器中,上级域DNS服务器保存到子域DNS服务器的指针。当然,上级域DNS服务器并不是完全不负责任,它仍然对该域进行负责,只是将更详细的信息保存在子域DNS服务器上。
          一台DNS服务器可以将它自己管辖的域划分为子域并将子域信息授权给其他子域DNS服务器负责,但是它自己也可以保存一部分子域的详细信息。在这种情况下,它的区域是由具有详细信息的那部分子域以及已经授权给其他子域服务器负责的那部分子域所组成的。
          根服务器(Root Server)是指它的区域由整棵树组成的服务器。根服务器通常不保存关于域的任何详细信息,只是将其授权给其他服务器,但是根服务器保存到所有授权服务器的指针。
          DNS定义了两种类型服务器:主服务器(Primary Server)和辅助服务器(Secondary Server)。主服务器是指存储了授权区域有关文件的服务器,负责创建、维护和更新区域文件,并将区域文件存储在本地磁盘中。辅助服务器既不创建也不更新区域文件,只是负责备份主服务器的区域文件。一旦主服务器出现故障,辅助服务器就可以接替主服务器负责这个授权区域的名字解析。
          资源记录
          每个DNS服务器用资源记录(Resource Record,RR)的集合去实现其负责区域名字的解析。本质上,一个资源记录是一个名字到值的映射或绑定,而资源记录用5元组表示。一个资源记录包括下面几个字段:
          <名字(name),值(value),类型(type),分类(class),生存期(TTL)>
          名字解析的含义就是在通过名字索引查找到相应的值。
          (1)类型字段说明查找到的值如何解释。常用的类型字段主要包括:
          .A(Address):值字段给出的是名字字段对应的IP地址,这样就实现了主机名字到IP地址的映射。
          .NS(Name Server):值字段给出的是名字服务器的名字,该名字服务器负责解析名字字段指定的域名。
          .MX(Mail eXchange):值字段给出的是邮件服务器的名字,该邮件服务器负责接收名字字段指定的域的邮件。
          .CNAME(Canonical NAME):值字段给出的是名字字段对应的主机规范名。
          (2)分类字段允许定义资源记录的分类。至今,唯一广泛使用的分类是因特网分类,记为IN。
          (3)TTL字段指出了该条资源记录的有效期,一旦TTL到期,DNS服务器必须将该资源记录删除。
          DNS解析原理
          DNS是一个巨大的分布式数据库。它是通过名字服务器提供一个指定的域的信息来实现的。在每个域,至少有一个保存其所在域的所有主机授权信息的名字服务器。
          Internet的域是一个树型结构,根接点由一个“.”表示。DNS服务器负责将主机名连同域名转换为IP地址。具体过程如下:
          (1)当应用程序想查找www的信息,它就与本地的域名服务器联系,进行所谓的重复查询。本地的域名服务器向根域的名字服务器发送一个请求,查询www.csai.cn的地址。
          (2)根域的名字服务器发现不属于自己的管辖区,而是属于cn下的一个域,就会告诉客户去联系一个cn区的名字服务器以获得更多的信息,并发一个所有cn名字服务器的地址列表。
          (3)客户的本地名字服务器会继续向这些服务器发送解析请求,而其中的一个服务器发现是属于自己区的,则将重复上述过程,直到找到解析www这台机器的域名服务器来获得www.csai.cn的IP地址。
          为了进一步提高查询的响应速度,名字服务器会将其获得的信息存储在本地Cache中。这样当再有本地网络希望查询属于active.com.cn域的主机地址时,名字服务器将直接和此域的名字服务器联系。
          名字服务器不会永久保存这些信息,而是在生存时间(Time To Life,TTL)时间后自动抛弃掉。每个名字服务器都会有一个保存根服务器信息的文件。
          域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的DNS服务器来完成。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有