文章摘要:例如,用户想查询域名“”,那么可以在后缀列表中配置com,然后输入“”,系统会自动将输入域名与后缀连接成“”进行查询。DNS服务器收到查询报文后,首先判断请求的域名是否处于自己被授权管理的子域里,再根据不同···
域名的构成
最初设备的域名由字符序列组成、所有设备的域名组成一个未分级的域名结构。未分级的域名结构存在命名冲突、管理维护复杂的缺点。因此,TCP/IP把DNS的域名设计成了分级的树状结构。每个申请加入的国家都要向NIC注册一个顶级域名,顶级域采用组织模式和地理模式的划分模式,如cn代表中国、us代表美国等。常见的顶级域名如下表所示。NIC将顶级域的管理权分派给由其指定的管理机构,由这些管理机构再对被授权管理的域继续进行划分,从而形成了二级域。负责划分二级域的管理机构可以授权其下属的管理结构,由它们继续划分域。由此下去,便形成了层次型的域名体系结构。
表1-1 顶级域名及其含义
从语法上讲,每一个域名都是有标号序列组成,而各标号之间用点(小数点)隔开。以域名为例,从右到左依次是:
与DNS相关的设备
网络中与DNS相关的设备角色包括DNS服务器、DNS客户端和DNS中继。
DNS服务器
DNS服务器是将域名指向对应IP地址的服务器。DNS服务器中保存了一张域名和与之相对应的IP地址的表,以解析消息的域名。由于互联网连通的是全球资源,单一的域名服务器不足以支撑全部的地址转换操作,因此全球有多套域名服务器相互配合使用。
域名是分层结构,域名DNS服务器也是对应的层级结构。通过根域名服务器,依次请求顶级域名服务器和权威域名服务器,最终获取对应IP地址,并将该结果保存在本地域名服务器,以待下次DNS请求使用。当用户再次对同一域名发起访问时,可以直接从本地域名服务器获得结果,无需再次发起全球递归查询。
表1-2 DNS服务器的分类
DNS客户端
DNS客户端的作用是接收用户程序(User )的DNS请求,并对其作出回应。作为DNS客户端的设备上一般具备以下能力:
启动DNS解析要使用DNS客户端功能,需要在设备上打开DNS解析的开关。指定服务器的IP地址要进行DNS域名解析,需要在设备上指定DNS服务器的IP地址。这样才能把查询请求发动到正确的DNS服务器上进行解析。指定DNS域后缀搜索列表DNS客户端所访问的一些服务器或主机的域名后缀往往都是相同的。用户可以预先设置一些域名后缀,在域名解析的时候,用户只需要输入域名的部分字段,系统会自动将输入域名加上不同的后缀进行解析。例如,用户想查询域名“”,那么可以在后缀列表中配置com,然后输入“”,系统会自动将输入域名与后缀连接成“”进行查询。DNS中继
当DNS服务器的IP地址发生变化时,用户网络中每个DNS客户端上的配置都需要改变,这样工作量极大并且容易出错。此时,可以通过部署DNS中继解决该问题。DNS客户端上配置DNS中继的IP地址,DNS服务器的IP地址在DNS中继上配置。之后,DNS客户端会将DNS请求报文直接发送给DNS中继,由DNS中继将收到的DNS请求报文转发至DNS服务器。由此,当DNS服务器的IP地址发生变化时,仅需改变DNS中继上的配置即可,简化了网络管理。
DNS中继的工作原理如下图所示。
DNS中继的工作原理
DNS客户端将DNS请求报文发送给DNS中继,即请求报文的目的地址为DNS中继的IP地址。DNS中继收到请求报文后,将报文转发给DNS服务器,通过DNS服务器进行域名解析。
DNS域名解析过程
通过域名获取对应IP地址的过程称为域名解析。DNS域名解析分为以下两种方式:
为提高查询速度,在解析域名时,首先采用静态域名解析的方法,如果静态解析不成功,再采用动态域名解析的方法。
动态域名解析原理图
如上图所示,DNS的工作过程如下:
用户程序(如ping、等)使用域名访问网络时,首先向DNS客户端的地址解析器发出DNS请求。地址解析器收到DNS请求后,首先查询本地域名缓存。DNS服务器收到查询报文后,首先判断请求的域名是否处于自己被授权管理的子域里,再根据不同的判断结果,向DNS客户端发送相应的响应报文。DNS客户端的地址解析器接收并解析DNS服务器发回来的响应报文,将解析结果返回给用户程序。
每次动态解析成功的域名与IP地址的映射均存放在动态域名缓存区中,当下一次查询相同域名的时候,就可以直接从缓存区中读取,不用再向域名服务器进行请求。缓存区中的映射在一段时间后会被老化删除,以保证及时从域名服务器得到最新的内容。