网络应用层协议-DNS详解

域名系统(Domain Name System,DNS)是把主机域名解析成IP地址的系统,解决了IP地址难记的问题。该系统由解析器域名服务器组成。DNS主要基于UDP协议,较少情况下使用TCP协议,端口号均为53。域名系统由三部分组成:DNS域名空间、域名服务器、DNS客户机(名字解析器)。

1、DNS域名空间

DNS系统属于分层式命名系统,即采用的命名方法是层次树状结构。连接在Internet上的主机或路由器都有一个唯一的层次结构名,即域名。域名可以由若干个部分组成,每个部分代表不同级别的域名并使用“.”分开。完整的结构为“主机…..三级域名.二级域名.顶级域名.”。域名的每个部分不超过63个字节,整个域名不超过255个字节。顶级域名后的“.”号表示根域,通常可以不用写。

Internet上域名空间的结构如下图所示:

图片[1]-网络应用层协议-DNS详解-不念博客
域名

(1)根域:根域处于Internet上域名空间结构树的最高端,是树的根,提供根域名服务。根域名用“.”表示;

(2)顶级域:(Top Level Dimain,TLD):顶级域在根域之下。顶级域分为三大类:国家顶级域名、通用顶级域名和国际顶级域名。具体如下所示:

域名名称作用
.com商业机构
.edu教育机构
.gov政府部门
.int国际组织
.mil美国军事部门
.net网络组织(现在任何人都可以注册)
.org非盈利组织
.biz商业
.info网络信息服务组织
.pro会计、律师和医生
,name个人
.museum博物馆
.coop商业合作团体
.aero航空工业
国家代码国家(cn代表中国)

(3)主机:属于最低层域,处于域名树的叶子端,代表各类主机提供的服务。

2、域名服务器

域名服务器的运行模式为客户机/服务器模式(C/S模式)。

(1)按域名空间层次。服务器可以分为根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。具体功能如下表所示:

名称定义作用
根域名服务器最高层次的域名服务器,该服务器保存了全球所有顶级域名服务器的IP地址和域名。全球共100多个本地域名无法解析域名时,直接向根域名服务器请求
顶级域名服务器管理本级域名(如.cn)上注册的所有二级域名可以解析本级域名下的二级域名的IP地址;提交下一步所需域名服务器地址
权限域名服务器一个域可以分为多个区,每一个去都设置服务器,即权限服务器该区域管理主机的域名和IP地址的映射、解析
本地域名服务器主机发出的DNS查询报文最初送到的服务器查询本地域名和IP地址的映射、解析。向上级域名服务器进行域名查询

(2)按域名服务器的作用,服务器可以分为主域名服务器、辅域名服务器、缓存域名服务器、转发域名服务器。具体功能如下表所示:

名称定义作用
主域名服务器维护本区的所有域名信息,信息存于磁盘文件和数据库中根据本区域名解析,是区内域名信息的权威。具有域名数据库。一个域有且只有一个主域名服务器。
辅域名服务器主域名服务器的备份服务器提供域名解析服务,信息存于磁盘文件和数据库中主域名服务器备份,可进行域名解析的负载均衡。具有域名数据库
缓存域名服务器向其他域名服务器进行域名查询,将查询结果保存在缓存中的域名服务器改善网络中DNS服务器的性能,减少反复查询相同域名的时间,提高解析速度,节约出口带宽。获取解析结果耗时最短,没有域名数据库
转发域名服务器负责非本地和缓存中无法查到的域名。接收域名查询请求,首先查询自身缓存,如果找不到对应的,则转发到指定的域名服务器查询负责域名转发,由于转发域名服务器同样可以有缓存,因此可以减少流量和查询次数。具有域名数据库。

3、资源记录

DNS数据库包括DNS服务器所使用的一个或多个区域文件,每个区域都拥有一组结构化的资源记录。资源记录的格式为[Domain][TTL][class] record-type record-specific-data。

  • Domain:资源记录引用的域对象名。可以是单台主机,也可以是整个域。Domain子串用“.”分隔,如果没有用“.”标识结束,就与当前域有关系。
  • TTL:生存时间记录字段。以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度。通常该字段为空,表示生存周期在授权资源记录开始时指定。
  • class:指定网络的地址类。
  • record-type:记录类型。标识这是哪一类资源记录,常见的记录类型如下表所示。
  • record-specific-data:指定与这个资源记录有关的数据。这个值是必要的。数据字段的格式取决于类型字段的内容。

常见资源记录如下:

资源记录名称作用
A将DNS域名映射到IPv4的32位地址中
AAAA将DNS域名映射到IPv6的128位地址中
CNAME规范名资源记录,允许多个名称对应同一主机
MX邮件交换器资源记录,其后的数字首选参数值(0~5535)指明与其他邮件交换服务器有关的邮件交换服务器的优先级。较低的数值被赋予较高的优先级。
NS域名服务器记录,指明该域名由哪台服务器来解析
PTR指针,用于将一个IP地址映射为主机名

4、域名解析

域名解析就是将域名解析为IP地址。域名解析的方法有递归查询和迭代查询。

4.1 递归查询

递归查询是最主要的域名查询方式。主机向本地域名服务器的查询一般采用递归查询。

主机有域名解析的需求时,首先查询本地域名服务器,如果成功,则由本地域名服务器反馈结果;如果失败,则查询上一级域名服务器,然后由上一级域名服务器完成查询。下图是递归查询的过程:

图片[2]-网络应用层协议-DNS详解-不念博客
递归查询

4.2 迭代查询

本地域名服务器向根域名服务器的查询通常采用迭代查询。根域名服务器通常不采用递归查询的原因是:大量的递归查询会导致根服务器过载而影响域名服务。

当主机有域名解析的需求时,首先查询本地域名服务器,如果成功,则由本地域名服务器反馈结果;如果失败,本地域名服务器则直接向根域名服务器发起查询,由其给出一个顶级域名服务器的IP地址A.A.A.A。然后,本地域名服务器直接向A.A.A.A顶级域名服务器发起查询请求,由其给出一个本地域名服务器地址B.B.B.B。如此迭代下去,直到得到结果IP地址。下图是迭代查询过程:

图片[3]-网络应用层协议-DNS详解-不念博客
迭代查询

5、DNS通知

DNS通知的作用是:权威域名服务器向管理区域内发出公告,辅助域名服务器及时更新信息。DNS通知是一种安全机制,只有被通知的辅助服务器才能进行区域复制,以防止未授权的服务器非法区复制。

© 版权声明
THE END