第 9 章 域名系统 (dns)
DESCRIPTION
第 9 章 域名系统 (DNS). IP 地址实现了物理地址的统一,全局惟一的标识。 问题:点分十进制数字,对用户来说:抽象,难以理解和记忆。 解决:为方便用户使用因特网, TCP/IP 在应用层采用字符型的主机名字机制。符合用户的命名习惯。. TCP/IP 形成了三个层次的主机标识系统: 位于底层的标识 —— 物理地址 位于中间层次的标识 —— IP 地址 位于高层的标识 —— 主机名 两个映射:协议不仅要进行 IP 地址与物理地址之间的映射,还要进行主机名与 IP 地址之间的映射。. 早期因特网的名字系统采用主机文件。 目前因特网上采用的是域名系统 DNS 。. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/1.jpg)
LogoLogo
第 9 章 域名系统 (DNS)
IP 地址实现了物理地址的统一,全局惟一的标识。
问题:点分十进制数字,对用户来说:抽象,难以理解和记忆。
解决:为方便用户使用因特网, TCP/IP 在应用层采用字符型的主机名字机制。符合用户的命名习惯。
![Page 2: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/2.jpg)
LogoLogo
TCP/IP 形成了三个层次的主机标识系统:
位于底层的标识——物理地址 位于中间层次的标识—— IP 地址 位于高层的标识——主机名
两个映射:协议不仅要进行 IP 地址与物理地址之间的映射,还要进行主机名与 IP 地址之间的映射。
![Page 3: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/3.jpg)
LogoLogo
早期因特网的名字系统采用主机文件。
目前因特网上采用的是域名系统 DNS 。
![Page 4: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/4.jpg)
LogoLogo
第 9 章 域名系统 (DNS)
9.1 命名机制与名字管理9.2 因特网域名9.3 DNS服务器9.4 域名解析9.5 DNS报文格式9.6 DNS资源记录9.7 DNS配置及数据库文件
![Page 5: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/5.jpg)
LogoLogo
9.1 命名机制与名字管理
因特网的命名机制要求主机名字具有: 全局惟一性 便于管理 便于映射
网络中通常采用的命名机制有两种: 无层次 (flat) 命名机制:早期因特网采用,主机名用
一 个字符串表示,没有任何结构。
![Page 6: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/6.jpg)
LogoLogo
层次型命名机制:将层次结构引入主机名字,该结构对应于管理机构的层次。
层次型命名机制将名字空间分成若干子空间,每个机构负责一个子空间的管理。
字空间呈一种树形结构,树上的每一个节点都有一个相应的标号。
![Page 7: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/7.jpg)
LogoLogo
Root
图 9-1 层次型名字空间
… cn
edu
njust
serv
edu com arpa cn.
edu.cn.
njust.edu.cn.
serv.njust.edu.cn.
域名 标号
顶级域
次级域
子域
主机
层次
![Page 8: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/8.jpg)
LogoLogo
惟一性:每个机构或子机构向上申请自己负责管理的名字空间,并向下分配子名字空间。
管理:通过层次化的名字结构,将名字空间的管理工作分散到多个不同层次的管理机构去进行管理,减轻了单个管理机构的管理工作量,提高了效率。
映射:很多的名字解析工作可以在本地完成。 当前因特网采用的是层次型命名机制。
返回
![Page 9: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/9.jpg)
LogoLogo
9.2 因特网域名
主机名可以通过主机文件或者域名系统 DNS 进行转换。用主机文件进行名字解析时,每个需要进行名字解析
的主机都拥有一个 HOSTS 文件。现在,小型网络仍然可以采用这种方式进行名字解析。下面是 Windows 系统中的 HOSTS 文件。
![Page 10: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/10.jpg)
LogoLogo
# This is a sample HOSTS file used by Microsoft # TCP/IP for Windows.# This file contains the mappings of IP addresses to # host names. # Each entry should be kept on an individual line. The # IP address should be placed in the first column # followed by the corresponding host name.# The IP address and the host name should be# separated by at least one space.# Additionally, comments (such as these) may be # inserted on individual lines or following the machine # name denoted by a '#’ symbol.# For example:# 102.54.94.97 rhino.acme.com # source server# 38.25.63.10 x.acme.com # x client host 127.0.0.1 localhost
![Page 11: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/11.jpg)
LogoLogo
域名系统层次结构从高到低的组织:根域( Root )位于 DNS 的最高层,一般不出现在域
名中。如果确实需要指明根,那么它将出现在 FQDN的最后面,以一个句点“.”表示。
顶级域又称为一级域,顶级域按照组织类型和国家划分,可以分为三个主要的域:通用顶级域名 gTLD 、国家代码顶级域名 ccTLD 和反向域。
![Page 12: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/12.jpg)
LogoLogo
gTLD : com 、 org 和 net 是向所有用户开放的三个通用顶级域名,也称为全球域名。
mil 、 gov 和 edu 三个通用顶级域名只向美国专门机构开放。
int 是适用于国际化机构的国际顶级域名( iTLD )。
![Page 13: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/13.jpg)
LogoLogo
上述 7 个传统的通用顶级域供不应求,后来又新增了 7 个顶级域: biz 、 info 、 name 、 pro 、 aero 、coop 和 museum( 新的顶级域名 ) 。
ccTLD :目前有 240 多个国家代码顶级域名,由二个字母缩写来表示。 uk 代表英国, hk 代表香港( 地区 ) , sg 代表新加坡。
反向域:的顶级域名为 arpa ,用于实现 IP 地址到域名的反向解析。
![Page 14: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/14.jpg)
LogoLogo
次级域又叫二级域,次级域与具体的公司或组织相关联。
子域是次级域下面的域,子域是各个组织将名字空间进行的进一步划分。
主机名 (Host Name) 是最末级的名字。
![Page 15: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/15.jpg)
LogoLogo
中国顶级域名下的行政区域名 (34 个 ) :适用于我国的各省、自治区、直辖市,分别为:
BJ- 北京市; SH- 上海市; TJ- 天津市; CQ- 重庆市; HE- 河北省; SX- 山西省; NM - 内蒙古自治区; LN- 辽宁省; JL- 吉林省; HL- 黑龙江省; JS- 江苏省; ZJ- 浙江省; AH- 安徽省; FJ- 福建省; JX-江西省;SD- 山东省; HA- 河南省; HB- 湖北省; HN- 湖南省; GD- 广东省; GX- 广西壮族自治区; HI- 海南省; SC- 四川省; GZ- 贵州省; YN - 云南省; XZ- 西藏自治区; SN- 陕西省; GS- 甘肃省; QH- 青海省; NX- 宁夏回族自治区; XJ- 新疆维吾尔自治区; TW- 台湾; HK- 香港; MO- 澳门。
![Page 16: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/16.jpg)
LogoLogo
区域和域是不同的概念: 域是一个完整的子树,而区域可以是子树中的任
何一部分 ; 区域可以是一个域,也可以不是一个域,区域不一
定包含那部分 DNS 树中的所有子域。 Root
图 9-2 域和区域
… cn
edu
njust
serv
edu com arpa
域
B:区域/域
A:区域
![Page 17: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/17.jpg)
LogoLogo
DNS 主要由 3 个部分构成: 名字解析器 (resolver) 名字解析器请求名字服务
器的服务,获得待查主机的 IP 地址。解析器位于应用程序中或主机的例行程序库中。
域名空间 (domain name space) 用树形结构组织的 DNS 数据库。
名字服务器 (name server) 名字服务器用于保存域名空间各部分的信息,响应名字解析请求。
返回
![Page 18: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/18.jpg)
LogoLogo
9.3 DNS 服务器
DNS 服务器可以通过多种方法获取域名空间的部分信息: 可以由管理员编辑一个原始区域文件 从其他名字服务器那里复制区域文件 通过向其他 DNS 服务器查询来获取具有一定时效
的缓存信息
名字服务器的三种主要类型: 主( primary )名字服务器 次( secondary )名字服务器 惟高速缓存( caching-only )名字服务器
![Page 19: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/19.jpg)
LogoLogo
主名字服务器是拥有一个区域文件的原始版本的服务器。关于该区域文件的任何变更都在这个主名字服务器的原始版本上进行。
次名字服务器从其他主名字服务器那里复制一个区域文件。该区域文件是主名字服务器的原始区域文件的一个只读版本。
惟高速缓存名字服务器上没有区域文件,它的职责是帮助名字解析器完成名字解析,并缓存解析结果。惟高速缓存名字服务器对名字解析请求的响应是非授权的。
返回
![Page 20: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/20.jpg)
LogoLogo
9.4 域名解析
TCP/IP 的域名系统 DNS 是一个有效的、可靠的、通用的、分布式的名字—地址映射系统。
域名解析包括正向解析和反向解析: 正向解析是根据域名查询其对应的 IP 地址或其他
相关信息 反向解析是根据 IP 地址查询其对应的域名
![Page 21: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/21.jpg)
LogoLogo
DNS 服务器和客户端属于 TCP/IP 模型的应用层,DNS 既可以使用 UDP ,也可以使用 TCP 来进行通信。 DNS 服务器使用 UDP/TCP 的 53 号熟知端口。
DNS 服务器能够接收两种类型的解析: 递归解析( Recursive resolution ) 反复解析( iterative resolution )。
![Page 22: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/22.jpg)
LogoLogo
9.4.1 递归解析递归解析要求名字服务器系统一次性完成名字—地
址变换。客户端计算机的解析器通常会发出递归查询。
图 9-3 递归解析
1 2
5 6
3
4
DNS服务器 DNS服务器 DNS服务器
客户
![Page 23: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/23.jpg)
LogoLogo
反复解析要求客户端本身反复寻求名字服务器的服务来获得最终的解析结果。
当一个名字服务器试图找到它的本地域之外的名字时,往往会发送反复查询。为了解析名字,它可能必须查询许多外面的 DNS 服务器,一般从根域服务器开始自顶向下查找。
9.4.2 反复解析
![Page 24: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/24.jpg)
LogoLogo
图 9-4 反复解析
1
2
4 5
DNS服务器
DNS服务器
客户
DNS服务器
3
6
![Page 25: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/25.jpg)
LogoLogo
下图给出了一个递归解析与反复解析相结合,以转换名字 www.altavista.digital.com 的全过程。
![Page 26: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/26.jpg)
LogoLogo
反向解析是指由主机的 IP 地址求得其域名的过程。 DNS 在名字空间中设置了一个称为 in-addr.arpa 的特
殊域,专门用于反向解析。
例 : 地址为 202.119.80.126 的主机的域名为 126.80.119.202.in-addr.arpa. 。
![Page 27: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/27.jpg)
LogoLogo
Root
图 9-5 IP地址为 202.119.80.126的主机的逆向解析域名
… cn
edu
serv
edu com arpa
in-addr
202
119
80
126
域名
njust
arpa.
126.80.119.202.in-addr.arpa.
80.119.202.in-addr.arpa.
119.202.in-addr.arpa.
202.in-addr.arpa.
in-addr.arpa.
![Page 28: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/28.jpg)
LogoLogo
解决:两步名字解析机制和高速缓存技术。
采用两步名字解析机制解析时,第一步先通过本地名字服务器进行解析,若不行,再采用自顶向下的方法搜索。两步法既提高了效率又保证了域名管理的层次结构。
在名字服务器中采用高速缓存技术,存放最近解析过的名字—地址映射和描述解析该名字的服务器位置的信息,可避免每次解析非本地名字时都进行自顶向下的搜索,减小非本地名字解析带来的开销。
9.4.4 解析效率
![Page 29: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/29.jpg)
LogoLogo
有效性问题:若授权名字服务器中的名字—地址映射已发生变化而高速缓存未能作相应刷新,则会带来有效性问题,高速缓存内容的失效会导致解析错误。
解决方法: 服务器向解析器报告缓冲信息时,必须注明该信息
是非授权的信息,同时还指出能够给出授权解析结果的名字服务器的地址。若解析器仅注重效率,它可以立即使用非授权的结果,若解析器注重解析的准确性,则可以立即向授权服务器发出解析请求,以便获得准确的结果。
返回
![Page 30: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/30.jpg)
LogoLogo
高速缓存中的每一个映射条目都有一个生存时间 TTL ,一旦某条目的 TTL 时间到,便将它从缓冲区中删除。
事实上,由于域名—地址映射的稳定性,名字缓冲机制还是非常有效的。
![Page 31: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/31.jpg)
LogoLogo
9.5 DNS 报文格式DNS 报文包括请求报文和响应报文。请求报文和响应报文的格式是相同的。
DNS 报文的首部由 6 个字段构成:标识字段长度为 16比特,用于匹配请求和响应。标志字段长度为 16比特,划分为如图 9-7 所示的若干
子字段。QR 子字段 (1比特 ) :用来区别请求和响应。 0 表示
请求报文, 1 表示响应报文。 OpCode 子字段 (4比特 ) :用来定义操作类型。
0 表示标准查询(正向解析) 1 表示反向查询(反向解析) 2 表示服务器状态请求。
![Page 32: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/32.jpg)
LogoLogo
标 识 标 志
问 题 记 录 数 回 答 记 录 数
授 权 记 录 数 附加信息记录数
问 题 部 分
回 答 部 分
授 权 部 分
附 加 信 息
图 9-6 DNS报文格式
0 16 31
首部
QR OpCode AA TC RD RA 0 0 0 rCode
图 9-7 DNS报文标志字段的格式
1 4 4 1 1 1 1 1 1 1
![Page 33: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/33.jpg)
LogoLogo
AA 子字段( 1比特):授权回答标志, 1 表示给出回答的服务器是该域的授权服务器。
TC 子字段( 1比特):截断标志, 1 表示报文长度超过了 512 字节,并被截断成了 512 字节。
RD 子字段( 1比特):希望递归标志, 1 表示请求服务器进行递归解析, 0 表示反复解析。
RA 子字段( 1比特):可以递归标志,该子字段在服务器的响应中有效, 1 表示服务器支持递归解析。
RA 子字段后面是 3比特保留位,必须置为 0 。
![Page 34: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/34.jpg)
LogoLogo
rCode 子字段( 4比特):用来表示错误状态。0 表示没有错误, 1 表示格式错, 2 表示服务器故障, 3 表示查询的域名不存在, 4 表示是不支持的解析类型, 5 表示管理上禁止。
四个“数”域,分别指出“问题记录” 、“回答记录” 、“授权记录” 和“附加信息记录” 的数目。
问题记录数:问题部分所包含的域名解析查询的个数,在一个请求报文中,可以包含若干 ( 最多 216- 1) 个。
![Page 35: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/35.jpg)
LogoLogo
回答记录数:回答部分所包含的回答记录个数。请求报文中该字段被置“ 0” 。
授权记录数:授权部分所包含的授权记录的个数。请求报文中该字段被置“ 0” 。
附加信息记录数:附加信息部分所包含的附加信息记录个数。请求报文中该字段被置“ 0” 。
![Page 36: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/36.jpg)
LogoLogo
DNS 报文首部的后面是可变部分,包括四个小部分。问题部分由一组问题记录组成。问题记录格式如图。
询问名字段可变长,询问名由标号序列构成,每个标号前有一个字节指出该标号的字节长度。
询问类( query class ) 16比特, 1 表示因特网协议 (IN) 。
询 问 名
询 问 类 型 询 问 类
图 9-8 DNS报文问题记录格式
0 16 31
![Page 37: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/37.jpg)
LogoLogo
询问类型( query type ) 16比特,定义询问希望得到的回答类型。域名虽然主要针对主机而言,但由于域名系统的通用性,域名解析既可以用于获取 IP 地址,也可以用于获取名字服务器和主机信息等。为了区分这些不同类型的对象,域名系统中每一命名条目都被赋予类型属性。 ( 表 9-3)
![Page 38: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/38.jpg)
LogoLogo
表 9-3 常用的类型
A 1 IPv4 地址 用于域名到 IPv4 地址的转换NS 2 名字服务器 标识区域的授权名字服务器CNAME 5 正规名 定义主机正规名的别名SOA 6 授权开始 标识授权的开始PTR 12 指针 指向其他域名空间的指针HINFO 13 主机信息 标识主机使用的 CPU 和 OSMX 15 邮件交换 标识用于域的邮件交换资源AAAA 28 IPv6 地址 用于域名到 IPv6 地址的转换AXFR 252 区域传输 请求传输整个区域ANY 255 全记录请求 请求所有的记录
记录别名 数值 记录类型 描 述
![Page 39: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/39.jpg)
LogoLogo
DNS 报文的其余三个部分是回答部分、授权部分和附加信息部分,附加信息包含回答部分和授权部分返回的资源所要求的附加信息(如 IP 地址)。
这三部分均由一组资源记录组成,而且仅在应答报文中出现。一条资源记录描述一个域名,格式如图。
![Page 40: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/40.jpg)
LogoLogo
域 名
类 型 类
生 存 时 间
资 源 数 据 长 度
资 源 数 据
图 9-9 DNS资源记录格式
0 16 31
![Page 41: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/41.jpg)
LogoLogo
域名、类型和类与问题部分的三个字段的含义相同。
生存时间:缓存该资源记录的秒数。
资源数据长度:资源数据的字节数。资源数据根据类型的不同,可以是 IP 地址、域名、指针或其他字符串。
域名字段是变长的, DNS 报文采取特殊约定的方式来表达域名。请求和响应报文的域名的表达方式不同。
![Page 42: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/42.jpg)
LogoLogo
在响应报文中,回答的域名往往与问题中的域名相同。为了节省响应报文的空间,服务器对回答的域名采用压缩格式,对相同的域名只存放一个拷贝,其他采用指针表示。 若开始的两个二进制位为“ 11” ,则接下去的 14比特为指针,该指针指向存放在报文中另一位置的域名字符串。
若开始的两个二进制位为“ 00” ,则接下去的 6比特指出紧跟在计数字节后面的标号的长度。
![Page 43: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/43.jpg)
LogoLogo
图 9-10 DNS请求报文
0x1234(标识) 0x0100(标志)
1(问题记录数) 0(回答记录数)
0(授权记录数) 0(附加信息数)
4 “ s” “ e” “ r”
“ v” 5 “ n” “ j”
“ u” “ s” “ t” 3
“ e” “ d” “ u” 2
“ c” “ n” 0
1(Type=A) 1(Class=IN)
首部
问题
标志:QR OpCode AA TC RD RA 保留 rCode 0 0000 0 0 1 0 000 0000 0x0100
解析域名 serv.njust.edu.cn 的请求报文
![Page 44: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/44.jpg)
LogoLogo
解析域名 serv.njust.edu.cn 的响应报文
图 9-11 DNS响应报文
0x1234(标识) 0x8180(标志)
1(问题记录数) 1(回答记录数)
0(授权记录数) 0(附加信息数)
4 “ s” “ e” “ r”
“ v” 5 “ n” “ j”
“ u” “ s” “ t” 3
“ e” “ d” “ u” 2
“ c” “ n” 0
1(Type=A) 1(Class=IN)
0xC00C(指针)
1(Type=A) 1(Class=IN)
1600(TTL)
4(数据长度)
202 119 80 126
首部
问题
标志:QR OpCode AA TC RD RA 保留 rCode 1 0000 0 0 1 1 000 0000 0x8180
回答
返回
![Page 45: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/45.jpg)
LogoLogo
9.6 DNS 资源记录
DNS 具有 20 多种不同类型的资源记录,下面给出几种常用的资源记录的格式。
授权开始( SOA )资源记录定义在域中充当主名字服务器的主机及相关参数。语法如下:
@ IN SOA <source host><contact email> ( <serial number> <refresh time> <retry time> <expiration time> <time to live> )
![Page 46: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/46.jpg)
LogoLogo
@符号指明名字服务器所负责的域,通过引导文件可以查到域名。IN 和 SOA 分别指明资源记录的类和类型。
名字服务器 (NS) 资源记录指明哪一个 DNS 服务器对于域是授权服务器。要确保在主名字服务器和次名字服务器内包含 NS 资源记录。语法:
<domain name> IN NS <name server><domain name>指明名字服务器所对应的域的名称。<name server>指定域名的授权名字服务器的完全合格域名 FQDN 。
地址 (A) 资源记录指明主机的 IP 地址。语法: <host name> IN A <IP address><host name>指明主机名。 <IP address>定义主机的 IPv4 地址。 IPv6 的资源记录类型为 AAAA 。
![Page 47: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/47.jpg)
LogoLogo
正规名( CNAME )资源记录提供为主机创建别名的能力。通过使用别名,可以使提供多种服务的主机以不同的名字提供不同的服务。语法:
<alias> IN CNAME <host name><alias>:主机的别名。 <host name>:实际主机名。
邮件交换 (MX) 资源记录描述该域的邮件服务器。一个域可以有多个 MX 资源记录,以便实现指定域的 email服务的负载均衡和容错。语法:
<domain name> IN MX <cost> <mail server><domain name>是邮件交换服务器处理邮件的域名。<cost>是邮件交换服务器的代价值,代价值代表服务器的优先级。代价值越小,优先级越高。相同的代价值:进行负载均衡。仅当低代价值的邮件交换服务器不可达时,邮件才被送往高代价的邮件交换服务器。 <mail server>字段代表邮件交换服务器的主机名。
返回
![Page 48: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/48.jpg)
LogoLogo
9.7 DNS 配置及数据库文件BIND(Berkeley Internet Name Daemon)软件是一
个客户 / 服务系统,客户端称为解析器或转换程序 (resolver) ,解析器产生域名信息的查询请求,并将信息发送给服务器,服务器回答解析器的查询。 BIND 的服务器是一个称为 named 的守护进程。
BIND DNS 服务器的配置依赖于几个文本文件。可以用文本编辑器直接生成这些文件或者是从基本模板修改而得到。 DNS 必须配置的文件包括 DNS 配置文件(又称引导文件)、 DNScache 文件、 DNS 正向查询文件和 DNS 反向查询文件。
![Page 49: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/49.jpg)
LogoLogo
9.7.1 DNS 配置文件BIND 的 DNS 服务器用配置文件 named.conf 来包含如下的信息:
( 1 )其他 DNS 文件所在的路径。( 2 )包含因特网根服务器映像的 cache 文件的名字。( 3 ) DNS 服务器授权的任何主域域名以及包含那个
域的资源记录的数据库文件名。( 4 ) DNS 服务器授权的任何次域域名、包含那个域
的资源记录的数据库文件名以及对应的主名字服务器的 IP 地址。
![Page 50: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/50.jpg)
LogoLogo
options { directory “/etc/db”;};zone “.” { type hint; file “named.cache”;};zone “njust.edu.cn”{ type master; file “named.hosts”;};
BIND-8.x 配置文件 named.conf 的一个例子。zone “0.0.127.in-addr.arpa” { type master; file “named.local”;};zone “85.119.202.in-addr.arpa”{ type master; file “named.rev”;}; zone “net.njust.edu.cn” { type slave; file “slavenet.njust”; masters { 202.119.85.10; } };
![Page 51: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/51.jpg)
LogoLogo
9.7.2 DNScache 文件
; last update : Aug 22 , 1997 ; related version of root zone : 1997082200 ; formerly NS.INTERNIC.NET
. 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; formerly NSl.ISI.EDU . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
. 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
DNScache 文件包含一系列的根域名服务器。该文件应该随根域名服务器的不断更新而更新。以下是 DNScache 文件 (named.cache) 的一个版本。
![Page 52: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/52.jpg)
LogoLogo
. 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.230.230.10 . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
. 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 . 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 . 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
. 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 3600000 A 192.32.64.12 . 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File
![Page 53: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/53.jpg)
LogoLogo
9.7.3 DNS 正向查询文件正向查询是指根据主机名查询其 IP 地址和其他信息。相关的资源记录数据保存在 DNS 正向查询文件中。一个典型的正向查询区域文件 named.hosts 的例子:
@ IN SOA serv.njust.edu.cn. hostmaster.njust.edu.cn.( 1998030501 ; serial
10800 ; refresh 3 hours 3600 ; retry 1 hour 604800 ; expire 7 days 86480 ; TTL 1 day )
IN NS serv.njust.edu.cn. IN NS msrv.njust.edu.cn.serv.njust.edu.cn. IN A 202.119.80.126msrv.njust.edu.cn. IN A 202.119.80.127msrv1 IN A 202.119.80.128www IN CNAME serv.njust.edu.cn.ftp IN CNAME serv.njust.edu.cn.mail IN CNAME msrv.njust.edu.cn.njust.edu.cn. IN MX 10 msrv.njust.edu.cn.njust.edu.cn. IN MX 20 msrv1.njust.edu.cn.
![Page 54: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/54.jpg)
LogoLogo
9.7.4 DNS 反向查询文件
DNS 反向查询文件提供将一个 IP 地址转换为主机名的功能。
反向查询区的区域文件是根据 IP 网络的网络地址决定的。在反向查询区的区域文件里, IP 地址是逆序的。
如果一个网络的地址为 10.0.0.0 ,则命名其反向查询区为 10.in-addr.arpa 。如果网络的地址为 172.16.0.0 ,则命名其反向查询区为 16.172.in-addr.arpa 。
配置文件名可以是任何名字。为了便于记忆,通常的命名为 db.y.x.w.in-addr.arpa 或 named.rev 。
![Page 55: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/55.jpg)
LogoLogo
在 DNS 反向查询区域文件中,通常至少配置两个反向查询区域: 环回地址 127.0.0.0 的反向查询区域 该域用的实际网络地址的反向查询区域
地址资源记录要确保包含了所有在网络上经常被访问的主机的地址资源记录。而且要确保 SOA 、 NS或者邮件交换 (MX) 资源记录中所列举的主机名的地址资源记录存在。
![Page 56: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/56.jpg)
LogoLogo
一个典型局域网地址逆向查询配置文件:0.0.127.in-addr.arpa. IN SOA serv.njust.edu.cn. hostmaster.njust.edu.cn ( 1998030501 ; serial 10800 ; refresh 3h 3600 ; retry 1h 604800 ; expire 7d 86400 ; TTL 1d ) IN NS serv.njust.edu.cn. 1 IN PTR localhost.
![Page 57: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/57.jpg)
LogoLogo
域 njust.edu.cn 的逆向查询区文件:80.119.202.in-addr.arpa. IN SOA serv.njust.edu.cn. hostma
ster.njust.edu.cn. ( 1998030501 ; serial 10800 ; refresh 3600 ; retry 604800 ; expire 86400 ; TTL ) IN NS serv.njust.edu.cn. 126 IN PTR serv.njust.edu.cn. 127 IN PTR msrv.njust.edu.cn. 128 IN PTR msrv1.njust.edu.cn.
![Page 58: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/58.jpg)
LogoLogo
本章要点字符型的名字系统为用户提供了非常直观、便于理解
和记忆的方法,非常符合用户的命名习惯。因特网采用层次型命名机制,层次型命名机制将名字
空间分成若干子空间,每个机构负责一个子空间的管理。授权管理机构可以将其管理的子名字空间进一步划分,授权给下一级机构管理。名字空间呈一种树形结构。
域名由圆点“.”分开的标号序列构成。若域名包含从树叶到树根的完整标号串并以圆点结束,则称该域名为完全合格域名 FQDN 。
常用的三块顶级域名为通用顶级域名、国家代码顶级域名和反向域的顶级域名。
TCP/IP 的域名系统是一个有效的、可靠的、通用的、分布式的名字—地址映射系统。
![Page 59: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/59.jpg)
LogoLogo
区域是 DNS 服务器的管理单元,通常是指一个 DNS服务器所管理的名字空间。区域和域是不同的概念,域是一个完整的子树,而区域可以是子树中的任何一部分。
名字服务器的三种主要类型是主名字服务器、次名字服务器和惟高速缓存名字服务器。主名字服务器拥有一个区域文件的原始版本,次名字服务器从主名字服务器那里获得区域文件的拷贝,次名字服务器通过区域传输同主名字服务器保持同步。
DNS 服务器和客户端属于 TCP/IP 模型的应用层, DNS 既可以使用 UDP ,也可以使用 TCP 来进行通信。DNS 服务器使用 UDP 和 TCP 的 53 号熟知端口。
DNS 服务器能够使用两种类型的解析:递归解析和反复解析。
DNS 响应报文中的回答部分、授权部分和附加信息部分由资源记录构成,资源记录存放在名字服务器的数据库中。
![Page 60: 第 9 章 域名系统 (DNS)](https://reader033.vdocuments.mx/reader033/viewer/2022061410/568145f5550346895db2fafb/html5/thumbnails/60.jpg)
LogoLogo
习题
9-1 递归解析与反复解析有什么不同?9-2 DNS 是如何实现 IP 地址到域名的反向解析的?9-3 DNS 是如何提高解析效率的?9-4 DNS 服务器的配置文件 named.conf 通常包含一些什么信息?
9-5 DNS 正向查询区域文件通常包含一些什么信息?9-6 DNS 反向查询区域文件通常包含一些什么信息?