域名系统DNS课件
3
.域名解析器操作
4
10.3 域名服务器
域名系统是由相互通信的域名服务器来实 现的。理解域名服务器如何工作的最简单方法 是想象将它们放置在与命名等级对应的树结构 中,其中根服务器知道解析每个顶级域的服务 器,每个顶级域的服务器知道解析其所有二级 子域的服务器,等等。但实际上命名等级与服 务器树的关系并不是这么简单,服务器树没有 几层,因为一个物理服务器可能含有大部分命 名等级的所有信息,而且组织经常从它的所有 子域中收集信息并存入一个服务器。
1
本章学习要点:
• • • • • • • • • 了解DNS的历史和背景 了解域名空间和资源记录 学习域名解析 了解域名服务器的操作 学习域名系统消息的格式 了解DNS高速缓存的重要性 学习DNS配置文件和资源记录格式 了解DNS存在的问题 了解动态DNS
2
10.1 DNS简介
DNS(Domain Name System)是“域名系统” 的英文缩写,是一种组织成域层次结构的计算机 和网络服务命名系统,它用于TCP/IP网络,它 主要是用来通过用户亲切而友好的名称代替枯燥 而难记的IP地址以定位相应的计算机和相应服务。 因此,要想让亲切而友好的名称能被网络所认识, 则需要在名称和IP地址之间有一位“翻译官”, 它能将相关的域名翻译成网络能接受的相应IP地 址。
第10章 域名系统DNS
域名系统是一种分级结构的基于域的命名方案 和实现这种命名方案的分布式数据库,它主要用于 将主机名和email地址映射到IP地址,在其他方面也 有用途。简单地说,DNS的工作方式如下:为了将 一个名字映射到一个IP地址,应用程序调用一个称 为解析器的库例程,将名字作为参数传递进去;解 析器将名字封装到一个UDP包中,发送给本地域名 服务器;域名服务器查找映射表,将查到的IP地址 封装到另一个UDP包中,发回给解析器;解析器再 将IP地址返回给调用者。有了这个IP地址,应用程 序就可以与目的方建立一个TCP连接或发送一个 UDP包。
10.6 DNS配置文件和资源记录格式
回想DNS的来源,我们可以很容易地描述 数据库文件的内容,该数据库组织DNS数据的 方法是将HOSTS文件数据转换成对等的DNS 数据,然后添加DNS本身使用的必要信息。它 包括标识权限的源,处理邮件交换记录以及提 供知名服务的信息。
10.7 DNS实用程序
现实世界中的DNS应用程序具有两个主要 的目的。第一个目的是为我们的用户提供名称解 释,使他们能够得到其他网络提供的服务,另一 个目的是提供权威的主机名称到IP的映射,使其 他网络能够得到用户选择提供的所有服务,比如 Web服务器、e-mail服务器,或者FTP服务器。 这些服务的操作从机械观点来看是相同的,但是 他们的管理通常存在很大的差异。
动态域名系统(Dynamic Domain Name System,DDNS)是一个定义域名系统扩展的 协议,使得DNS服务器能够接受请求以动态地 增加、更新以及删除DNS数据库中的表项。因 为DDNS为已有的DNS服务器提供了一个功能 超集,一个DDNS服务器能够同时服务静态域 和动态域,这对于移植和总体DNS设计来说是 受欢迎的特征。
10.8 DNS存在的问题
尽管DNS具有强大的功能和众多优势,但 是它也存在一些缺陷。主要的缺陷是,对DNS 数据库的正常修改要求由有资格的管理员—— 具有相应知识和具有区域文件必要访问权的人 ——直接操作DNS数据库文件,或者使用专用 化工具(比如UNIX环境下的NSUPDATE)进 行修改。
10.9 动态DNS(DDNS)
10.4 域名系统消息
域名系统协议中的所有消息都使用一种统一的 格式。这种格式如图10-4所示,这个消息帧被解析 器发送到名称服务器。只有题头和问题部分用于形 成查询。应答和/或查询转发使用相同的消息帧,但 是要填入更多的部分(回答/权限/额外信息段)。
10.5 DNS高速缓存的重要性
前面我们已经提到,大多数DNS服务器可以 利用本地数据存储的形式(称为高速缓存),存 储以前的名称查询结果。只有当服务器解析的名 称或者地址不在高速缓存时,它才真正需要发出 名称或地址解析的进一步查询。