DNS信令与协议文档

上传人:M****1 文档编号:390668323 上传时间:2023-02-22 格式:DOCX 页数:29 大小:462.30KB
返回 下载 相关 举报
DNS信令与协议文档_第1页
第1页 / 共29页
DNS信令与协议文档_第2页
第2页 / 共29页
DNS信令与协议文档_第3页
第3页 / 共29页
DNS信令与协议文档_第4页
第4页 / 共29页
DNS信令与协议文档_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《DNS信令与协议文档》由会员分享,可在线阅读,更多相关《DNS信令与协议文档(29页珍藏版)》请在金锄头文库上搜索。

1、DNS信令与协议分析1 概述DNS (Domain Name System,域名系统),由RFC1034、1035协议定义规范,用于TCP/IP 网络的名称到IP地址的转换及有关电子邮件的选路信息。DNS是应用层协议,是因特网的一 项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库。所谓分布式是指在 Internet上的当个站点不能拥有所有的信息。在I nternet网络上,用户记住的是友好的容易记忆的域名,但是网络中的计算机互相进 行访问是通过IP地址,DNS最常用的是给用户提供解析服务,将用户的域名解析成网络上能 够访问的IP地址,也就是标准查询(或正向查询)。例如将http

2、:/网址解析成 IP地址:202.108.12.68。2 协议栈DNSUDP/TCPIPL2L1图1 DNS协议栈DNS服务器支持TCP和UDP两种协议的查询方式,RFC上端口默认都是53。而大多数的 查询都是使用UDP查询的,因为UDP提供无连接服务,比较快,而且能降低服务器的负载。需要TCP查询的有三种情况:一是当查询数据过大以至于产生了数据截断(应答数据包头部字段TC标志为1,可参见 5.1报文结构。),这意味着响应的数据长度超过512字节,仅返回前512字节。在遇到这种 情况时,主机名字解析器通常使用TCP重复原来的查询请求,它将允许返回的响应超过512 字节,利用TCP的分片能力来进

3、行数据传输。对UDP来说就无能为力了。二是当主DNS名字服务器和辅助DNS名字服务器之间进行区域备份传送时,需要可靠的 传输,而且这里传送的数据远比一个查询或响应多得多,这就需要TCP传输了。三是DNS服务器设定可以使用TCP连接,DNS客户端用TCP发起DNS请求,这时DNS服 务器就会返回TCP负载的DNS应答数据。DNS交互的端口可以不是RFC默认的53端口,可以在DNS服务器上配置其他非53端口与 客户端通信。3DNS 协议解析原理DNS域名系统从某个角度来说由两部分构成:一部分是客户端(client)程序,也叫名字解析器,运行在用户的主机上,是应用程序的一部分;另一部分是服务器端(s

4、erver)程 序,位于服务器端的主机上,这个服务器通常也叫名字服务器。名字服务器是用来提供从域 名到IP地址的转换,解析器通过一个或多个名字服务器来完成名字和IP地址的相互转换。 DNS服务器所管辖的域名建立对应的正逆向解析数据文件。不过,大多数的查询涉及的是本地名字查询,即与产生查询的机器在同一个名字空间分 区中。为了提高查询过程的效率,DNS名字服务器使用高速缓存(caching)来优化查询开 销。每个服务器维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记 录,这样若干以后遇到相同的查询请求,就直接使用缓存中的结果而无需通过其他服务器查 询。高速缓存不仅在本地名字服务器

5、中重要,在主机中也同样有高速缓存。大多数主机解析 软件会在主机中对DNS项进行缓存。这样,如果用户重复查询同一个名字,后面几次的查找 可以从本地高速缓存中获取,而不需要使用网络。服务器响应报文中包含一个生存周期TTL( Time to Live) ,指示缓存结果有效时间。(可参见5.3报文结构。)DNS服务器实现域名解析服务并提供域名IP动态更新服务。DNS域名系统采用TCP和 UDP两种方式来实现客户端和DNS服务器之间的通讯,为了防止窃取传输内容,可以采用加 密技术进行加密传输。为了加强DNS服务器的安全性,防止被恶意攻击,防止DNS数据库的 内容被恶意篡改,通常在DNS服务器前设置一个响

6、应服务器,用户的所有请求都直接同响应 服务器联系,DNS服务器只接受来自响应服务器的请求。由于隔离了用户和DNS服务器的直 接联系,提高了系统的安全性。一般我们把DNS服务器和响应服务器一起通称为DNS服务器。 如下图2所示:DNS客户端由于客观存在着网络异常现象,比如断电、断网等情况,导致用户非正常断线,当用户 再次上网运行客户端,在客户端使用ipconfig /registerdns 这个命令来更新域名的注册信 息,服务器端将及时更新用户的数据。为了保证部分用户上网期间服务的正确性,系统在服 务器端增加了监控进程,能在规定的时间内探知用户的生存与否,并通知DNS服务器继续或 停止该域名的解

7、析,从而保证访问者能够得到正确的信息。4 概念解释1) DNS的名字空间是具有层次结构的树形结构,如图3所示,每个节点有一个标识, 这棵树的树根是没有任何标识的特殊节点。树的叶表示主机名,而树的节点叫做域, 它是该节点以下所有主机名的总称。命令树上任何一个节点的域名就是将该节点到 最高层的域名串联起来,中间使用“分隔,如www.tsinghua.edu.命名标识中 一律不区分大小写。普通域鬥*国家域图3 DNS的层次结构从概念上看,顶级域名分成了三种不同的命名分级方式:地理域(国家域), 组织域和特殊域。特殊域是一个用作地址到名字转换的特殊域。地理域划分是把 全世界的机器按国家和地区来划分,组

8、织域按组织结构划分,目前有com(商业组 织)、edu(教育机构)、gov (政府部门)、int (国际组织)、mil (军事机构)、net (网络)、org (其他组织)。许多国家的二级域组织成类似于普通域的结构。DNS的一个没在图3中表示处理的重要特征是DNS域名的授权。没有哪个机构 来管理域名树中的每个标识,相反,只有一个机构,即网络信息中心(Network Information Center, NIC)负责分配顶级域和委派其他指定地区域的授权机构。一个DNS服务器负责一个或多个区域(DNS服务器内的每个域名空间称为一个 区域。)。一个区域必须提供一个主DNS服务器和至少一个辅助DNS

9、服务器。主、 辅DNS服务器必须是独立的和冗余的,以便当某个服务器发生故障时不会影响该 区域的DNS服务器。所有的主DNS服务器必须知道根服务器的IP地址。2)域名系统相当通用化,因为它允许在一个系统中内置多个命名类型。为了让客户能 够在多种类型的项中加以区分,每个命名项在系统中存储时都有分配一个类型 (type),该类型指明了它是一台机器的地址,还是一个邮箱或者一个用户等。当 客户请求域名系统解析一个名字时,必须指明所需回答的对象类型,并由服务器返 回此类型的对象。DNS查询类型目前已经定义了 50多种,常用的类型(type)有: A 主机IPv4地址 AAAA 和A样的记录,对应的是IPv

10、6地址 CNAME规范名(canonical name),通常称为别名记录,是对A的记录使用域 名的另外一个(或多个)名称。这种记录允许将多个名字映射到同一台计算机。 例如,有一台计算机名为“”(A记录)。它同时提供WWW 和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个规范名(CNAME):WWW和MAIL。这两个规范名的全称就是“ 和 “。实际上他们都指向“同一个IP。 同样的方法可以用于当您拥有多个域名需要指向同一服务器IP,此时您就可以 将一个域名做A记录指向服务器IP,然后将其他的域名做规范名到之前做A记 录的域名上,那么当服务器IP地址变更时,就可以不必一个一个域名更改

11、指向 了,只需要更改作A记录的那个域名,其他作别名的那些域名的指向也将自动 更改至H新的IP 地址上了。比如 的c name 是 www.a.shifen .com。 PTR指针记录(pointer record)用于指针查询,也叫反向查询。它是属于RFC标准中定义的特殊域in-addr.arpa域,是为了执行反向查询,即从IP地址查 找对应的域名。在in-addr.arpa域名空间中,IP地址被看作是一个in-addr.arpa域 下的一个域名。 MX邮件交换(mail exchanger)记录指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当Int

12、ernet 上的某用户要发一封信给 时,该用户的邮件系统通过 DNS查找这个域名的MX记录,如果MX记录存在,用户计算机 就将邮件发送到MX记录所指定的邮件服务器上。 HINFO主机的CPU和操作系统信息。并非所有的站点都提供它们系统的 HINF0记录。 SOA授权开始 TXT文字说明,用来说明主机名或者主机网络环境设置实际中,大部分数据是A类型的,第二个最有用的域类型是MX。3) 除了指明所求结果的类型外,DNS还允许客户指明使用的协议族。域名系统按类别(class)划分整个名字集合,允许一个数据库存储用于多个协议族的映射。实际上,使用多协议族的域服务器很少见。目前使用的大部分都是Inte

13、rnet协议。常用的类别(class)有: IN Internet互联网查询4) DNS进行域名到IP地址的映射查询时,有两种查询模式:递归查询和迭代查询。实际上一般查询名称的过程中,实际上这两种查询模式都是交互存在着的。递归查询:用户和一个DNS服务器的查询。这种方式是将要查询的报文发送至 本机的DNS域名服务器,若本机的DNS域名服务器不能直接应答该请求,那么DNS 域名服务器会再向上级或者平级的DNS服务器查询,最终将返回的查询结果发送 给客户端。在域名服务器递归查询期间,客户端将完全处于等待状态,而不会向 其他的DNS服务器发送查询请求,也不会接收非本机DNS服务器的应答。这种方 式客

14、户端只需处理本机DNS服务器响应回来的报文是否是正确响应或是说是找不 到该名称的错误讯息,或者是返回一个错误说明请求的地址不存在。迭代查询:用户和多个DNS服务器间的查询。这种方式是将要查询的报文发 送至本机的DNS域名服务器,若DNS服务器不能直接查询到客户端所要查询的域 名地址,则向客户端返回一个最近而且最佳的DNS服务器地址或者名称,然后DNS 客户端再到此最接近的DNS服务器上去寻找所要解析的名称,按照提示依次查询 直到找到正确的解析。一般的,每次都会更靠近根域名服务器(向上)的服务器 查询,查询到根域名服务器后,则会再次根据提示向下查找。5)资源记录(Resource record,

15、RR),是DNS应答报文中采用的一种格式,详细说明请见5.4。5 DNS 报文格式5.1 DNS 报文基本格式DNS的定义了一个用于查询和响应的报文格式。DNS数据包是承载在UDP (或TCP)上 的负载报文。图4显示DNS数据报文总体格式。Ld1721212832 bitIDQOjicodtAATC;lHABoo deQuest larisuntAMSWERcourrtAurt hn fityCOUtYtiddit iofiislcQUERIES出;1:吃-. Y-tt -h - iAtHHORI TY RRj ( Y业:Lab _日)ADDITI0A3TAL ERs ( Van able f DNS Header图4 DNS查询和响应报文的一般格式这个报文由12字节长的首部和4个可变长度的字段组成。 ID (标识)标识字段由客户端程序设置并由服务器返回结果。客户程序通过它来确定响应与 查询报文是否匹配。Q0表示查询报文,1表示响应报文。 Opcode0表示标准查询(正向查询),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号