📄 rfc1612.txt
字号:
组织:中国互动出版网(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: 1612 Epilogue Technology Corporation
Category: Standards Track J. Saperia
Digital Equipment Corporation
May 1994
DNS解析器MIB扩展
(DNS Resolver 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. 致谢 46
6. 参考文献 46
7. 安全考虑 47
8. 作者地址 47
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]中的信息创建的,该规范被后
来的主机需求文档[3]修订和澄清过。其他对象的创建是基于现有的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-RESOLVER-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter32, Integer32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, DisplayString
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
dns, DnsName, DnsNameAsIndex, DnsClass, DnsType, DnsQClass,
DnsQType, DnsTime, DnsOpCode, DnsRespCode
FROM DNS-SERVER-MIB;
-- DNS解析器MIB
dnsResMIB MODULE-IDENTITY
LAST-UPDATED "9401282250Z"
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
E-mail: saperia@zko.dec.com"
DESCRIPTION
"该MIB模块用于实现DNS协议的客户(解析器)方实体。"
dnsResMIBObjects OBJECT IDENTIFIER ::= { dnsResMIB 1 }
-- (Old-style) DNS解析器MIB中的组。
dnsResConfig OBJECT IDENTIFIER ::= { dnsResMIBObjects 1 }
dnsResCounter OBJECT IDENTIFIER ::= { dnsResMIBObjects 2 }
dnsResLameDelegation OBJECT IDENTIFIER ::= { dnsResMIBObjects 3 }
dnsResCache OBJECT IDENTIFIER ::= { dnsResMIBObjects 4 }
dnsResNCache OBJECT IDENTIFIER ::= { dnsResMIBObjects 5 }
dnsResOptCounter OBJECT IDENTIFIER ::= { dnsResMIBObjects 6 }
-- 解析器配置组
dnsResConfigImplementIdent OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"系统当前使用的解析器软件的实现标识字符串。例如‘RES-2.1’。"
::= { dnsResConfig 1 }
dnsResConfigService OBJECT-TYPE
SYNTAX INTEGER { recursiveOnly(1),
iterativeOnly(2),
recursiveAndIterative(3) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"提供的DNS解析业务种类:
recursiveOnly(1)表明是一个桩解析器。
iterativeOnly(2) 表明是一个正常的全业务解析器。
recursiveAndIterative(3) 表明是一个全业务解析器,它既执行递归业
务也执行交互查询。"
::= { dnsResConfig 2 }
dnsResConfigMaxCnames OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"当有多少个CNAME时,解析器会确定存在CNAME环。0表示解析器没有
明确的CNAME限制。"
REFERENCE
"RFC-1035 7.1.节"
::= { dnsResConfig 3 }
-- DNS解析器安全带表
dnsResConfigSbeltTable OBJECT-TYPE
SYNTAX SEQUENCE OF DnsResConfigSbeltEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"安全带信息表用在当解析器没有关于把请求发送到哪儿去的更好注意
时,例如当解析器正在启动或解析器是一个桩解析器。"
::= { dnsResConfig 4 }
dnsResConfigSbeltEntry OBJECT-TYPE
SYNTAX DnsResConfigSbeltEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"解析器Sbelt表的一行。可以在任何时候由DNS解析器和SNMP SET请
求创建或删除行。是否在reset操作时将通过SNMP改变的值保存到稳定
存储介质是与具体实现有关的。"
INDEX { dnsResConfigSbeltAddr,
dnsResConfigSbeltSubTree,
dnsResConfigSbeltClass }
::= { dnsResConfigSbeltTable 1 }
DnsResConfigSbeltEntry ::=
SEQUENCE {
dnsResConfigSbeltAddr
IpAddress,
dnsResConfigSbeltName
DnsName,
dnsResConfigSbeltRecursion
INTEGER,
dnsResConfigSbeltPref
INTEGER,
dnsResConfigSbeltSubTree
DnsNameAsIndex,
dnsResConfigSbeltClass
DnsClass,
dnsResConfigSbeltStatus
RowStatus
}
dnsResConfigSbeltAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"表中该行所标识的Sbelt命名服务器的IP地址。"
::= { dnsResConfigSbeltEntry 1 }
dnsResConfigSbeltName OBJECT-TYPE
SYNTAX DnsName
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"表中该行所标识的Sbelt命名服务器的DNS名。零长度字符串表示该名
解析器不知道。"
::= { dnsResConfigSbeltEntry 2 }
dnsResConfigSbeltRecursion OBJECT-TYPE
SYNTAX INTEGER { iterative(1),
recursive(2),
recursiveAndIterative(3) }
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"将要发送到表中该行所标识的命名服务器的查询的种类:
iterative(1)表示解析器将会发送交互查询到命名服务器(RD位关闭)。
recursive(2) 表示解析器将会发送递归查询到命名服务器(RD位打开)。
recursiveAndIterative(3) 表示解析器将会到表中该行所标识的命名
服务器的查询是递归或交互的。"
::= { dnsResConfigSbeltEntry 3 }
dnsResConfigSbeltPref OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"该值表明选择表中该行所标识的命名服务器的优先级。该值越低,解析
器认为该服务器越可靠。"
::= { dnsResConfigSbeltEntry 4 }
dnsResConfigSbeltSubTree OBJECT-TYPE
SYNTAX DnsNameAsIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"发送到表中该行所标识的命名服务器的查询限制于名称在该变量所标
识的域名子树内。如果不应用该限制,该变量的值是根域的域名(由单
个零字节组成的域名)。"
::= { dnsResConfigSbeltEntry 5 }
dnsResConfigSbeltClass OBJECT-TYPE
SYNTAX DnsClass
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"将要发送到表中该行所标识的服务器DNS查询的类别。"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -