组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:毕峰(bifeng bi_feng@263.net)
译文发布时间:2001-7-16
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须
保留本文档的翻译及版权信息。
Network Working Group R. Austein
Request for Comments: 1611 Epilogue Technology Corporation
Category: Standards Track J. Saperia
Digital Equipment Corporation
May 1994
DNS服务器MIB扩展
(RFC1611 ——DNS Server MIB Extensions)
本备忘录的状态
本文档讲述了一种Internet社区的Internet标准跟踪协议,它需要进一步进行讨论和建
议以得到改进。请参考最新版的“Internet正式协议标准” (STD1)来获得本协议的标准化
程度和状态。本备忘录的发布不受任何限制。
版权声明
Copyright (C) The Internet Society (2001).
目录
1. 介绍 2
2. SNMPV2网络管理框架 2
2.1. 对象定义 3
3. 概述 3
3.1. 解析器(RESOLVER) 3
3.2. 命名服务器 4
3.3. 所选择的对象 4
3.4. 文本约定 4
4. 定义 4
5. 致谢 26
6. 参考文献 26
7. 安全考虑 28
8. 作者地址 28
1. 介绍
该备忘录定义了在Internet团体中使用网络管理协议的一部分管理信息库(MIB)。特别
是它描述了一套实现命名服务器功能的扩展。该备忘录由DNS工作组制订。
随着Internet标准网络管理框架[4、5、6、7]的采用和这些标准在可用的商业产品上的
大量提供商实现,在基于TCP/IP的Internet中提供一个高效的网络管理已变为可能。随着
这些标准的使用的增加,已可能考虑管理超出基本TCP/IP协议外的设施中的其他单元。
TCP/IP体系结构中的一个关键单元就是DNS。
到目前为止,还没有机制将DNS的管理和基于SNMP的管理者结合在一起。该备忘录
提供了一种机制,基于IP的管理站可以通过它以一种综合方式有效地管理DNS命名服务器
软件。
我们定义了和Internet MIB结合在一起用于允许Internet团体通过SNMP访问和控制
DNS命名服务器软件的DNS MIB对象。
2. SNMPv2网络管理框架
SNMPv2网络管理框架包含四个主要的组件。它们是:
? RFC 1442,它定义了SMI,用于描述和命名管理对象的机制。
? STD 17,RFC1213,它定义了MIB-II,Internet协议组的管理对象的核心集。
? RFC 1445,它定义了框架的管理和其他体系结构方面。
? RFC 1448,它定义了用于到管理对象的网络访问协议。
该框架允许为试验和评估目的定义新对象。
2.1. 对象定义
管理对象通过一个虚拟信息库访问,称为管理信息库或MIB。MIB中的对象用抽象语
法标记(ASN.1)的子集(定义在SMI中)定义。特别地,每个对象类型命名为一个OBJECT
IDENTIFIER(一个管理指配名)。对象类型和对象实例一起唯一地标识一个特定的实例化对
象。为方便起见,通常使用一个文本字符串,称为描述符,指向对象类型。
3. 概述
理论上DNS世界非常简单。有两种实体:解析器和命名服务器。解析器提出问题。命
名服务器回答。然而在现实世界中并不这么简单。实现者对于如何在解析器和服务器之间划
分DNS功能做出了差别很大的选择,他们也构造了各种奇异的混合。在定义该MIB中的最
困难的任务是适应各种实体,而不必为每个单体定义一个单独的MIB。
我们把各种不同的DNS功能划分为两个非重叠的类,称为:“解析器功能”和“命名服
务器功能”。执行我们定义的解析器功能的DNS实体包含一个解析器,因此必须实现在一个
单独的MIB模块中定义的所有解析器所需的MIB组。实现命名服务器功能的DNS实体称
为命名服务器,必须实现该模块中的命名服务器所需的MIB组。如果同一软件既执行解析
器功能也执行服务器功能,我们想象它既包含一个解析器也包含一个服务器,因此必须实现
DNS服务器MIB和DNS解析器MIB。
3.1. 解析器(Resolver)
在我们的模型中,解析器是一个程序(或一部分)它接收来自服务器的资源记录
(Resource Record)。一般地,它在一个应用程序的命令下执行该操作,但是也可以作为自
身操作的一部分。解析器发送DNS协议查询并接收DNS协议应答。解析器既不接受查询也
不发送应答。完全业务解析器是一个知道如何解析查询:它通过访问对所需记录有可靠信息
的服务器获得所需的资源记录。桩解析器(stub resolver)不知道如何解析查询:它发送所
有查询给一个本地命名服务器,设置“recursion desired”(需要递归)标志以表示它希望命
名服务器解析该查询。解析器可以(可选地)有一个缓存,以记住以前获得的资源记录。它
也可以有一个负缓存,以记住那些不存在的名称或数据。
3.2. 命名服务器
命名服务器是提供资源记录给解析器的一个程序(或部分)。本文档中提及的所有“命
名服务器”都指“命名服务器角色”;在某些情况下,命名服务器角色和解析器角色可能组
合成为一个单一的程序。命名服务器接受DNS协议查询和发送DNS协议应答,命名服务器
既不发送查询也不接收应答,因此命名服务器没有缓存。通常命名服务器只接收那些它可以
用可靠信息应答的查询。然而,如果命名服务器接收到一个查询,它不能用完全可靠的消息
应答,它会选择试图从解析器(是或者不是一个单独的进程)获得必要的附加信息。
3.3. 所选择的对象
该备忘录中所包括的对象都是由包含在DNS规范[1、2]中的信息创建的,该规范被后
来的主机需求文档修订和澄清过。其他对象的创建是基于现有的DNS工具的使用经验、期
望的操作需求、现有的DNS实现产生的统计和现有的DNS实现使用的配置文件。这些对象
被划分为如下几组:
? 服务器配置组
? 服务器计数器组
? 服务器可选计数器组
? 服务器区域组
该信息已经被用定义在[9]中的SNMPv2 SMI转换成为一个标准形式。在很多地方,那
些描述受上面提到的DNS相关RFC的影响。例如,用于各种DNS记录查询的计数器的描
述受用于各种记录类型的定义[2]的影响。
3.4. 文本约定
几种概念数据类型已经被引入该DNS MIB文档作为文本约定。这些引入将会促进DNS
使用的信息的公共理解。SMI和SNMP没有必要改变以支持这些转换。
熟悉为低层Internet协议组管理实体所设计的MIB的读者可能会对在该MIB中使用非
枚举类型的整数代表例如DNS RR类别和类型的数值感到吃惊。这一选择的原因很简单:
DNS本身被设计为一个可扩展协议,允许添加新的资源记录类别和类型到协议中,而不重
新编码核心DNS软件。使用非枚举整数代表该MIB中的数据类型可以使MIB很好地适应
这些变化。
4. 定义
DNS-SERVER-MIB DEFINITIONS ::= BEGIN
IMPORTS
mib-2
FROM RFC-1213
MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
IpAddress, Counter32, Gauge32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF;
dns OBJECT-IDENTITY
STATUS current
DESCRIPTION
"赋予IANA工作的DNS MIB的OID。"
::= { mib-2 32 }
dnsServMIB MODULE-IDENTITY
LAST-UPDATED "9401282251Z"
ORGANIZATION "IETF DNS Working Group"
CONTACT-INFO
" Rob Austein
Postal: Epilogue Technology Corporation
268 Main Street, Suite 283
North Reading, MA 10864
US
Tel: +1 617 245 0804
Fax: +1 617 245 8122
E-Mail: sra@epilogue.com
Jon Saperia
Postal: Digital Equipment Corporation
110 Spit Brook Road
ZKO1-3/H18
Nashua, NH 03062-2698
US
Tel: +1 603 881 0480
Fax: +1 603 881 0120
Email: saperia@zko.dec.com"
DESCRIPTION
"实现DNS协议的服务器方实体的MIB模块。"
::= { dns 1 }
dnsServMIBObjects OBJECT IDENTIFIER ::= { dnsServMIB 1 }
-- (Old-style) DNS服务器MIB中的组。
dnsServConfig OBJECT IDENTIFIER ::= { dnsServMIBObjects 1 }
dnsServCounter OBJECT IDENTIFIER ::= { dnsServMIBObjects 2 }
dnsServOptCounter OBJECT IDENTIFIER ::= { dnsServMIBObjects 3 }
dnsServZone OBJECT IDENTIFIER ::= { dnsServMIBObjects 4 }
-- 文本约定
DnsName ::= TEXTUAL-CONVENTION
-- DISPLAY-HINT很好,但难于表达。
STATUS current
DESCRIPTION
"DNS名是一个标签序列。当显示一个DNS名时,标签之间一般用点分
隔(例如,‘Acme’和‘COM’是域名‘Acme.COM’的标签)。然而在
DNS协议中不需要这样的分隔符,因为每一个标签被编码为一个有长度
的字节流,其前面标明了标签字节的长度。例如,‘Acme.COM’被编码
为字节序列{ 4,‘A’,‘c’,‘m’,‘e’, 3, ‘C’,‘O’,‘M’,0}(末
尾的0是根域的名称长度,它出现在任何DNS名的后面)。该MIB与DNS
协议使用同一个编码。
DnsName必须总是一个全名。把一个相对域名作为DnsName编码而不先
把它转换为一个全名是错误的。"
REFERENCE
"RFC-1034 3.1.节"
SYNTAX OCTET STRING (SIZE (0..255))
DnsNameAsIndex ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"该文本约定与DnsName类似,但用于表中的索引组件。该类型的名称中
的字母字符必须是大写字母:字符‘a’到‘z’被映射到字符‘A’到‘Z’。
这一限制是为了 使SNMP强加的词汇顺序在应用到DNS名时有用。
注意一个有效的DNS名在理论上是可以超出SNMP对象标识的允许长
度,因此不可能出现在由DNS名索引的该MIB的表中。当前在Internet
上使用的DNS名的取样说明这一限制并没有在实践中带来严重问题。"
REFERENCE
"RFC-1034 3.1节, RFC-1448 4.1. 节"
SYNTAX DnsName
DnsClass ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2d"
STATUS current
DESCRIPTION
"该数据类型用于代表出现在DNS资源记录中的类别值。使用16位无符
号整数以为定义新类别的记录留有空间。DNS规范列有现有的标准类别。
"
REFERENCE
"RFC-1035 3.2.4. 节"
SYNTAX INTEGER (0..65535)
DnsType ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2d"
STATUS current
DESCRIPTION
"该数据类型用来在DNS中代表在出现在资源记录中的类型值。使用16
位无符号整数以为定义新类型的记录留有空间。DNS规范列有现有的标
准类型。"
REFERENCE
"RFC-1035 3.2.2. 节"
SYNTAX INTEGER (0..65535)
DnsQClass ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2d"
STATUS current
DESCRIPTION
"该数据类型用来在DNS中代表在出现在资源记录中的QClass值。使用
16位无符号整数以为定义新的QClass记录留有空间。DNS规范列有现有
的标准QClass。"
REFERENCE
"RFC-1035 3.2.5. 节"
SYNTAX INTEGER (0..65535)
DnsQType ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2d"
STATUS current
DESCRIPTION
"该数据类型用来在DNS中代表在出现在资源记录中的QType值。
使用16位无符号整数以为定义新的QType记录留有空间。DNS规范列
有现有的标准QType。"
REFERENCE
"RFC-1035 3.2.3. 节"
SYNTAX INTEGER (0..65535)
DnsTime ::= TEXTUAL-CONVENTION
DISPLAY-HINT "4d"
STATUS current
DESCRIPTION
"DnsTime值是一个以秒钟计算时间的32位无符号整数。"
REFERENCE
"RFC-1035."
SYNTAX Gauge32
DnsOpCode ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"该文本约定用来代表用在DNS消息头部的DNS OPCODE值。DNS规范
中列有现有的OPCODE值。"
REFERENCE
"RFC-1035 4.1.1. 节"
SYNTAX INTEGER (0..15)
DnsRespCode ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"该文本约定用来代表用在DNS应答消息中的DNS RCODE值。DNS规
范中列有现有的RCODE值。"
REFERENCE
"RFC-1035 4.1.1. 节"
SYNTAX INTEGER (0..15)
-- 服务器配置组
dnsServConfigImplementIdent OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"系统中正在使用的DNS服务器软件的实现标识字符串,例如‘FNS-2.1’"
::= { dnsServConfig 1 }
dnsServConfigRecurs OBJECT-TYPE
SYNTAX INTEGER { available(1),
restricted(2),
unavailable(3) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"代表该命名服务器提供的递归业务。可以读或写的值有:
available(1) – 在客户的请求下执行递归。
restricted(2) – 只在特定的客户的请求下执行递归,例如,访问控制
列表中的客户。
unavailable(3) – 不可使用递归。"
::= { dnsServConfig 2 }
dnsServConfigUpTime OBJECT-TYPE
SYNTAX DnsTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"如果服务器具有持久状态(例如,一个进程),该值就是自从服务器启动
到现在的时间。对于没有持久状态的软件,该值为零。"
::= { dnsServConfig 3 }
dnsServConfigResetTime OBJECT-TYPE
SYNTAX DnsTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"如果服务器具有持久状态(例如,一个进程)并支持‘reset’操作(例
如,可以重读配置文件),该值就是从命名服务器‘reset’到现在的时间。
如果没有持久状态或不支持‘reset’操作,该值为零。"
::= { dnsServConfig 4 }
dnsServConfigReset OBJECT-TYPE
SYNTAX INTEGER { other(1),
reset(2),
initializing(3),
running(4) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"重新初始化任何持久命名服务器状态的状态/行为对象。当设置为reset
(2),任何持久命名服务器状态(例如一个进程)被重新初始化,就象
是命名服务器重启了一样。对于读操作不会返回该值。当进行读操作时,
下面的值将会返回:
other(1) – 服务器在某种位置状态;
initializing(3) – 服务器正在(重新)初始化;
running(4) – 服务器正在运行。"
::= { dnsServConfig 5 }
-- 服务器计数器组
dnsServCounterAuthAns OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经给予可靠应答的查询数。"
::= { dnsServCounter 2 }
dnsServCounterAuthNoNames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器给予可靠的‘no such name’应答的查询数。"
::= { dnsServCounter 3 }
dnsServCounterAuthNoDataResps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器给予可靠的‘no such data’应答(空应答)的查询数。"
::= { dnsServCounter 4 }
dnsServCounterNonAuthDatas OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器给予非可靠应答(缓存应答)的查询数。"
::= { dnsServCounter 5 }
dnsServCounterNonAuthNoDatas OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器给予非可靠的没有值应答(空应答)的查询数。"
::= { dnsServCounter 6 }
dnsServCounterReferrals OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"送交其他服务器的的请求数。"
::= { dnsServCounter 7 }
dnsServCounterErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理并报告有错误(RCODE值不是0或3)的请求数。"
REFERENCE
"RFC-1035 4.1.1.节"
::= { dnsServCounter 8 }
dnsServCounterRelNames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器接收到的请求中只有一个标签长度(文本格式 – 没有中间点)的
域名的请求数。"
::= { dnsServCounter 9 }
dnsServCounterReqRefusals OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"被DNS服务器拒绝的DNS请求的数目。"
::= { dnsServCounter 10 }
dnsServCounterReqUnparses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"接收到但不可解析的请求数。"
::= { dnsServCounter 11 }
dnsServCounterOtherErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"由于其他(本地)服务器错误而终止的请求数。"
::= { dnsServCounter 12 }
-- DNS服务器计数器表
dnsServCounterTable OBJECT-TYPE
SYNTAX SEQUENCE OF DnsServCounterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"由DNS类别和类型划分的计数器信息。"
::= { dnsServCounter 13 }
dnsServCounterEntry OBJECT-TYPE
SYNTAX DnsServCounterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"该表包含服务器已知的各DNS类别和类型值的计数信息。管理软件可以
创建表的索引以获得所需的特定信息,例如,通过UDP到达该服务器的
查询具有类型值‘A’的记录的查询数。为了防止该表中的行数的不可控
制的增长,如果dnsServCounterRequests为0并且dnsServCounterResponses
为0,那么该行不存在。当查询该代理的这些实例时,返回‘no such’。"
INDEX { dnsServCounterOpCode,
dnsServCounterQClass,
dnsServCounterQType,
dnsServCounterTransport }
::= { dnsServCounterTable 1 }
DnsServCounterEntry ::=
SEQUENCE {
dnsServCounterOpCode
DnsOpCode,
dnsServCounterQClass
DnsClass,
dnsServCounterQType
DnsType,
dnsServCounterTransport
INTEGER,
dnsServCounterRequests
Counter32,
dnsServCounterResponses
Counter32
}
dnsServCounterOpCode OBJECT-TYPE
SYNTAX DnsOpCode
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"表中该行被计数的记录的DNS OPCODE。"
::= { dnsServCounterEntry 1 }
dnsServCounterQClass OBJECT-TYPE
SYNTAX DnsClass
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"表中该行中的被计数的记录的类别。"
::= { dnsServCounterEntry 2 }
dnsServCounterQType OBJECT-TYPE
SYNTAX DnsType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"表中该行中的被计数的记录的类型。"
::= { dnsServCounterEntry 3 }
dnsServCounterTransport OBJECT-TYPE
SYNTAX INTEGER { udp(1), tcp(2), other(3) }
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"值为udp(1)表明该行所报告的查询是以UDP发送的。
值为tcp(2)表明该行所报告的查询是以TCP发送的。
值为other(3) 表明该行所报告的查询是用除UDP和TCP以外的其他协议
发送的。"
::= { dnsServCounterEntry 4 }
dnsServCounterRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"表中该行所记录的请求(查询)数。"
::= { dnsServCounterEntry 5 }
dnsServCounterResponses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"表中该行所记录的自从这种查询被初始化以来服务器做出的应答数。"
::= { dnsServCounterEntry 6 }
-- 服务器可选计数器组
-- 服务器可选计数器组是为了用于那些系统,它们区分来自不同的DNS查询源的查询。
-- 这些查询如下定义。
--
-- 该组的对象实现于那些区分来自与服务器同一主机的查询、来自该服务器的访问
-- 列表中定义的任意组中的某一主机的查询和来自其他主机的查询。
--
-- 服务器计数器组中的对象是一种总计。因此,例如如果想要确定来自‘远程’主机
-- 已获得可靠应答的的查询数,就可以用servCounterAuthAns减去
-- ServOptCounterFriendsAuthAns和ServOptCounterSelfAuthAns。
--
-- 这些区分的目的是为了在该基础上实现组查询和应答。
-- 一种服务器用来区分的方法是查看DNS查询的源IP地址。如果查询源是‘自己’
-- 那么该查询应该被计为‘自己’(本地主机)。如果查询源与‘访问列表’匹配,
-- 则该查询来自‘朋友’。‘访问列表’的组成是与实现有关的,并且应该尽量简单到
-- 与DNS服务器位于同一IP网络中的主机被划分为‘朋友’。
--
-- 为了避免重复计数,应遵守下面的规则:
-- 1. 主机不能在上面定义的三个组中的一个以上组中出现。
-- 2. 所有来自本地主机的查询总是被计入‘自己’组,与访问列表(如果有的话)
-- 无关。
-- 3. 访问列表不应该把所有的主机都定义为‘朋友’。也就是说,不是所有的主机
-- 都是‘朋友’。
dnsServOptCounterSelfAuthAns OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自与它位于同一主机的解析器的请求数,并且这些
请求已经被可靠应答。"
::= { dnsServOptCounter 1 }
dnsServOptCounterSelfAuthNoNames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自与它位于同一主机的解析器的请求数,并且这些
请求具有可靠的‘no such name’应答。"
::= { dnsServOptCounter 2 }
dnsServOptCounterSelfAuthNoDataResps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自与它位于同一主机的解析器的请求数,并且这些
请求具有可靠的‘no such data’(空应答)应答。"
::= { dnsServOptCounter 3 }
dnsServOptCounterSelfNonAuthDatas OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自与它位于同一主机的解析器的请求数,并且这些
请求具有不可靠的应答(缓存数据)。"
::= { dnsServOptCounter 4 }
dnsServOptCounterSelfNonAuthNoDatas OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自与它位于同一主机的解析器的请求数,并且这些
请求具有不可靠的‘no such data’应答(空应答)。"
::= { dnsServOptCounter 5 }
dnsServOptCounterSelfReferrals OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自与它位于同一主机的解析器的请求数,并且这些
请求被指向其他服务器。"
::= { dnsServOptCounter 6 }
dnsServOptCounterSelfErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自与它位于同一主机的解析器的带有错误应答
(RCODE不是0和3)的请求数。"
REFERENCE
"RFC-1035 4.1.1.节"
::= { dnsServOptCounter 7 }
dnsServOptCounterSelfRelNames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自与它位于同一主机的解析器的请求数,并且这些
请求中的域名只有一个标签长度(文本格式 – 标签中间没有点)。"
::= { dnsServOptCounter 8 }
dnsServOptCounterSelfReqRefusals OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器拒绝的来自与它位于同一主机的解析器的请求数。"
::= { dnsServOptCounter 9 }
dnsServOptCounterSelfReqUnparses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器接收到来自与它位于同一主机的解析器的不可分析的请求数。"
::= { dnsServOptCounter 10 }
dnsServOptCounterSelfOtherErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"由于其他(本地)服务器错误,终止的来自与服务器位于同一主机的解
析器的请求数。"
::= { dnsServOptCounter 11 }
dnsServOptCounterFriendsAuthAns OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经可靠应答了的来自‘朋友’的请求数。‘朋友’的定义是一个
本地定义。"
::= { dnsServOptCounter 12 }
dnsServOptCounterFriendsAuthNoNames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自‘朋友’的请求数,这些请求带有‘no such name’
的可靠应答。"
::= { dnsServOptCounter 13 }
dnsServOptCounterFriendsAuthNoDataResps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自‘朋友’的请求数,这些请求带有‘no such data’
(空应答)的可靠应答。朋友的定义是一个本地定义问题。"
::= { dnsServOptCounter 14 }
dnsServOptCounterFriendsNonAuthDatas OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自‘朋友’的请求数,这些请求被不可靠应答(缓
存数据)。朋友的定义是一个本地定义问题。"
::= { dnsServOptCounter 15 }
dnsServOptCounterFriendsNonAuthNoDatas OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自‘朋友’的请求数,这些请求带有不可靠的‘no
such data’应答(空应答)。朋友的定义是一个本地定义问题。"
::= { dnsServOptCounter 16 }
dnsServOptCounterFriendsReferrals OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自‘朋友’的请求数,这些请求被指向其他服务器。
朋友的定义是一个本地定义问题。"
::= { dnsServOptCounter 17 }
dnsServOptCounterFriendsErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自‘朋友’的请求数,这些请求带有错误应答
(RCODE值不是0和3)。朋友的定义是一个本地定义问题。"
REFERENCE
"RFC-1035 4.1.1.节"
::= { dnsServOptCounter 18 }
dnsServOptCounterFriendsRelNames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器已经处理的来自朋友的请求数,并且这些请求中的域名只有一个
标签长度(文本格式 – 标签中间没有点)。"
::= { dnsServOptCounter 19 }
dnsServOptCounterFriendsReqRefusals OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器拒绝的来自朋友的请求数,并且这些请求中的域名只有一个标签
长度(文本格式 – 标签中间没有点)。"
::= { dnsServOptCounter 20 }
dnsServOptCounterFriendsReqUnparses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"服务器接收到来自朋友的不可分析的请求数。"
::= { dnsServOptCounter 21 }
dnsServOptCounterFriendsOtherErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"由于其他(本地)服务器错误,终止的来自与服务器位于同一主机的解
析器的请求数。"
::= { dnsServOptCounter 22 }
-- 服务器区域组
-- DNS管理区域配置表
-- 该表包含区域配置信息。
dnsServZoneTable OBJECT-TYPE
SYNTAX SEQUENCE OF DnsServZoneEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"命名服务器提供区域信息的区域表,每个区域可以通过特定实现机制从
稳定存储中加载或者通过区域信息传输从其他命名服务器获得。
如果命名服务器不加载任何区域信息,该表为空。"
::= { dnsServZone 1 }
dnsServZoneEntry OBJECT-TYPE
SYNTAX DnsServZoneEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"命名服务器区域表的条目,新行可以通过SNMP或者通过命名服务器自
身增加。"
INDEX { dnsServZoneName,
dnsServZoneClass }
::= { dnsServZoneTable 1 }
DnsServZoneEntry ::=
SEQUENCE {
dnsServZoneName
DnsNameAsIndex,
dnsServZoneClass
DnsClass,
dnsServZoneLastReloadSuccess
DnsTime,
dnsServZoneLastReloadAttempt
DnsTime,
dnsServZoneLastSourceAttempt
IpAddress,
dnsServZoneStatus
RowStatus,
dnsServZoneSerial
Counter32,
dnsServZoneCurrent
TruthValue,
dnsServZoneLastSourceSuccess
IpAddress
}
dnsServZoneName OBJECT-TYPE
SYNTAX DnsNameAsIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"表中该行所描述区域的DNS名。它是定义该区域的顶部结点的SOA RR
的所有者名。该名字是大写的:字符‘a’到‘z’被映射为‘A’到‘Z’,
以使词汇顺序有效。"
::= { dnsServZoneEntry 1 }
dnsServZoneClass OBJECT-TYPE
SYNTAX DnsClass
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"该区域中的RR的DNS类别。"
::= { dnsServZoneEntry 2 }
dnsServZoneLastReloadSuccess OBJECT-TYPE
SYNTAX DnsTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"自从上次成功加载该区域到现在的秒数。"
::= { dnsServZoneEntry 3 }
dnsServZoneLastReloadAttempt OBJECT-TYPE
SYNTAX DnsTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"自从上次尝试加载该区域到现在的秒数。"
::= { dnsServZoneEntry 4 }
dnsServZoneLastSourceAttempt OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"最近一次尝试该区域的区域信息传送的主机的IP地址。如果尝试成功,
该值应该与dnsServZoneSourceSuccess的值匹配。如果区域信息传送在该
命名服务器的记忆中没有进行尝试,该值为0.0.0.0."
::= { dnsServZoneEntry 5 }
dnsServZoneStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"表中该行所提供的信息的状态。"
::= { dnsServZoneEntry 6 }
dnsServZoneSerial OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"表中该行所提供的区域的区域序列号(来自SOA RR)。如果在该命名服
务器的记忆范围内没有成功加载,该变量的值为零。"
::= { dnsServZoneEntry 7 }
dnsServZoneCurrent OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"是否由表中该行所提供区域的服务器拷贝当前有效。如果区域从未成功
加载或者超过了上次成功加载的有效期,该变量值为false(2),否则该
变量值为true(1)。"
::= { dnsServZoneEntry 8 }
dnsServZoneLastSourceSuccess OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"最近一次成功进行该区域的区域信息传输的源主机的IP地址。如果未知
(例如,区域从未成功加载过)或者不相关(例如,区域从稳定存储介
质加载),该值为0.0.0.0."
::= { dnsServZoneEntry 9 }
-- DNS区域信息源表
dnsServZoneSrcTable OBJECT-TYPE
SYNTAX SEQUENCE OF DnsServZoneSrcEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"该表是一个IP地址列表,从这些地址服务器试图使用DNS区域信息传
送操作加载区域信息。重载可能会发生在由于在dnsServZoneTable表中
创建一行的SNMP操作或者作用在对象dnsServZoneReload的SET操作。
该表只用在通过区域信息传送加载该区域信息时。"
::= { dnsServZone 2 }
dnsServZoneSrcEntry OBJECT-TYPE
SYNTAX DnsServZoneSrcEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"命名服务器区域信息源表中的条目。"
INDEX { dnsServZoneSrcName,
dnsServZoneSrcClass,
dnsServZoneSrcAddr }
::= { dnsServZoneSrcTable 1 }
DnsServZoneSrcEntry ::=
SEQUENCE {
dnsServZoneSrcName
DnsNameAsIndex,
dnsServZoneSrcClass
DnsClass,
dnsServZoneSrcAddr
IpAddress,
dnsServZoneSrcStatus
RowStatus
}
dnsServZoneSrcName OBJECT-TYPE
SYNTAX DnsNameAsIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"该行适用的区域的DNS名。"
::= { dnsServZoneSrcEntry 1 }
dnsServZoneSrcClass OBJECT-TYPE
SYNTAX DnsClass
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"该行适用的区域的DNS类别。"
::= { dnsServZoneSrcEntry 2 }
dnsServZoneSrcAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"命名服务器的IP地址,从该服务器上可能获得该区域信息。"
::= { dnsServZoneSrcEntry 3 }
dnsServZoneSrcStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"表中该行所提供的信息的状态。"
::= { dnsServZoneSrcEntry 4 }
-- SNMPv2组
dnsServMIBGroups OBJECT IDENTIFIER ::= { dnsServMIB 2 }
dnsServConfigGroup OBJECT-GROUP
OBJECTS { dnsServConfigImplementIdent,
dnsServConfigRecurs,
dnsServConfigUpTime,
dnsServConfigResetTime,
dnsServConfigReset }
STATUS current
DESCRIPTION
"提供控制DNS命名服务器基本配置的对象集。"
::= { dnsServMIBGroups 1 }
dnsServCounterGroup OBJECT-GROUP
OBJECTS { dnsServCounterAuthAns,
dnsServCounterAuthNoNames,
dnsServCounterAuthNoDataResps,
dnsServCounterNonAuthDatas,
dnsServCounterNonAuthNoDatas,
dnsServCounterReferrals,
dnsServCounterErrors,
dnsServCounterRelNames,
dnsServCounterReqRefusals,
dnsServCounterReqUnparses,
dnsServCounterOtherErrors,
dnsServCounterOpCode,
dnsServCounterQClass,
dnsServCounterQType,
dnsServCounterTransport,
dnsServCounterRequests,
dnsServCounterResponses }
STATUS current
DESCRIPTION
"提供DNS命名服务器的基本检测的对象集。"
::= { dnsServMIBGroups 2 }
7
dnsServOptCounterGroup OBJECT-GROUP
OBJECTS { dnsServOptCounterSelfAuthAns,
dnsServOptCounterSelfAuthNoNames,
dnsServOptCounterSelfAuthNoDataResps,
dnsServOptCounterSelfNonAuthDatas,
dnsServOptCounterSelfNonAuthNoDatas,
dnsServOptCounterSelfReferrals,
dnsServOptCounterSelfErrors,
dnsServOptCounterSelfRelNames,
dnsServOptCounterSelfReqRefusals,
dnsServOptCounterSelfReqUnparses,
dnsServOptCounterSelfOtherErrors,
dnsServOptCounterFriendsAuthAns,
dnsServOptCounterFriendsAuthNoNames,
dnsServOptCounterFriendsAuthNoDataResps,
dnsServOptCounterFriendsNonAuthDatas,
dnsServOptCounterFriendsNonAuthNoDatas,
dnsServOptCounterFriendsReferrals,
dnsServOptCounterFriendsErrors,
dnsServOptCounterFriendsRelNames,
dnsServOptCounterFriendsReqRefusals,
dnsServOptCounterFriendsReqUnparses,
dnsServOptCounterFriendsOtherErrors }
STATUS current
DESCRIPTION
"提供DNS命名服务器扩展检测的对象集。"
::= { dnsServMIBGroups 3 }
dnsServZoneGroup OBJECT-GROUP
OBJECTS { dnsServZoneName,
dnsServZoneClass,
dnsServZoneLastReloadSuccess,
dnsServZoneLastReloadAttempt,
dnsServZoneLastSourceAttempt,
dnsServZoneLastSourceSuccess,
dnsServZoneStatus,
dnsServZoneSerial,
dnsServZoneCurrent,
dnsServZoneSrcName,
dnsServZoneSrcClass,
dnsServZoneSrcAddr,
dnsServZoneSrcStatus }
STATUS current
DESCRIPTION
"提供DNS命名服务器的加载可靠区域的配置控制的对象集。"
::= { dnsServMIBGroups 4 }
-- 一致性
dnsServMIBCompliances OBJECT IDENTIFIER ::= { dnsServMIB 3 }
dnsServMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"对于实现DNS命名服务器MIB扩展的代理的一致性表述。"
MODULE -- This MIB module
MANDATORY-GROUPS { dnsServConfigGroup, dnsServCounterGroup }
GROUP dnsServOptCounterGroup
DESCRIPTION
"服务器可选计数器组是无条件可选的。"
GROUP dnsServZoneGroup
DESCRIPTION
"服务器区域组对于任何命名服务器,该服务器是任何一个DNS区域的可
靠服务器,都是必备的。"
OBJECT dnsServConfigRecurs
MIN-ACCESS read-only
DESCRIPTION
"该对象不需要可写。"
OBJECT dnsServConfigReset
MIN-ACCESS read-only
DESCRIPTION
"该对象不需要可写。"
::= { dnsServMIBCompliances 1 }
END
5. 致谢
该文档是DNS工作组的工作结果。作者非常感谢下面人士对该文档做出的贡献:Philip
Almquist、Frank Kastenholz (FTP Software)、Joe Peck (DEC)、Dave Perkins (SynOptics)、 Win
Treese (DEC)和Mimi Zohar (IBM)。
6. 参考文献
[1] Mockapetris, P., "域名 – 概念和设备", STD13, RFC 1034, USC/Information Sciences
Institute, November 1987.
[2] Mockapetris, P., "域名 – 实现和规范", STD 13, RFC 1035, USC/Information Sciences
Institute, November 1987.
[3] Braden, R., Editor, "Internet 主机需求 – 应用和支持,STD 3, RFC 1123,
USC/Information Sciences Institute, October 1989.
[4] Rose, M., and K. McCloghrie, "基于TCP/IP的internet的管理对信息的结构和标识",
STD 16, RFC 1155, Performance Systems International, Hughes LAN Systems, May
1990.
[5] McCloghrie, K., and M. Rose, "基于TCP/IP的internet的网络管理的管理信息库", RFC
1156, Hughes LAN Systems, Performance Systems International, May 1990.
[6] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "简单网络管理协议", STD 15, RFC
1157, SNMP Research, Performance Systems International, Performance Systems
International, MIT Laboratory for Computer Science, May 1990.
[7] Rose, M., and K. McCloghrie, Editors, "简明MIB定义",STD 16, RFC 1212, Performance
Systems International, Hughes LAN Systems, March 1991.
[8] McCloghrie, K., and M. Rose, Editors, "基于TCP/IP的internet的网络管理的管理信息
库:MIB-II",STD 17, RFC 1213, Hughes LAN Systems, Performance Systems
International, March 1991.
[9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "第二版简单网络管理协议
(SNMPv2)的管理信息结构", RFC 1442, SNMP Research, Inc., Hughes LAN Systems, Dover
Beach Consulting, Inc., Carnegie Mellon University, April 1993.
[10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "第二版简单网络管理协议
(SNMPv2)的文本约定", RFC 1443, SNMP Research, Inc., Hughes LAN Systems, Dover
Beach Consulting, Inc., Carnegie Mellon University, April 1993.
[11] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,"第二版简单网络管理协议
(SNMPv2)的一致性表述", RFC 1444, SNMP Research, Inc., Hughes LAN Systems, Dover
Beach Consulting, Inc., Carnegie Mellon University, April 1993.
[12] Galvin, J., and K. McCloghrie, "第二版简单网络管理协议(SNMPv2)的管理模型", RFC
1445,Trusted Information Systems, Hughes LAN Systems, April 1993.
[13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "第二版简单网络管理协议
(SNMPv2)的协议操作", RFC 1448, SNMP Research, Inc., Hughes LAN Systems, Dover
Beach Consulting, Inc., Carnegie Mellon University, April 1993.
[14] "信息处理系统 – 开放系统互连 – 抽象语法标记1(ASN.1)规范",International
Organization for Standardization, International Standard 8824, December 1987.
7. 安全考虑
安全问题没有在此备忘录中讨论。
8. 作者地址
Rob Austein
Epilogue Technology Corporation
268 Main Street, Suite 283
North Reading, MA 01864
USA
Phone: +1-617-245-0804
Fax: +1-617-245-8122
EMail: sra@epilogue.com
Jon Saperia
Digital Equipment Corporation
110 Spit Brook Road
ZKO1-3/H18
Nashua, NH 03062-2698
USA
Phone: +1-603-881-0480
Fax: +1-603-881-0120
EMail: saperia@zko.dec.com
RFC1611——DNS Server MIB Extensions DNS服务器MIB扩展
28
RFC文档中文翻译计划