1、今天长安保定百度爱问爱 RFC1155 基于 TCPIP 网络的管理结构和标记的的范德萨的地方爱的规格爱你啊好文章组织:中国互动出版网(http:/www.china- 文档中文翻译计划(http:/www.china- Working Group M. RoseRequest for Comments: 1155 Performance Systems InternationalObsoletes: RFC 1065 K. McCloghrieHughes LAN SystemsMay 1990基于 TCP/IP 网络的管理结构和标记(RFC1155 Structure and Identi
2、fication of Management Information for TCP/IP-based Internets)目录1本文档的状态 22. 介绍 23. 管理信息的结构和标记 33.1 名字 33.1.1. 目录 43.1.2. Mgmt 43.1.3. Experimental 43.2. 语法 53.2.1. 原始类型 53.2.1.1. 枚举整数的指导方针 53.2.2. 构造类型 53.2.3. 定义的类型 53.2.3.1. NetworkAddress 63.2.3.2. IpAddress 63.2.3.3. Counter 63.2.3.4. Gauge 63.2.
3、3.5. TimeTicks 63.2.3.6. Opaque 63.3. 编码 64. 管理对象 74.1. 对象名 74.2. 对象类型和实例 74.3. 管理对象宏 95. MIB 扩展 106. 定义 117感谢 148. 参考 159安全的考虑: 1610作者地址: 161本文档的状态本 RFC 是 RFC1065 的改进,同时修正了一些印刷上的错误,技术内容并未作改变。本文档提供了基于 TCP/IP 网络的管理结构和标记的普通定义。特别的,除了描述了管理信息库和网络管理协议,本文档还提供了一种简单、可行的架构和系统来管理基于 TCP/IP 的网络,特别是INTERNET。因特网活动
4、组织建议所有的 IP 和 TCP 实现应该是可网络管理的。这意味着要实现因特网管理信息库 MIB(RFC-1156)和 SNMP(RFC1157)或 CMOT(RFC1095)这两种建议的管理协议中至少一种。值得一说的是,现在 SNMP 已经是完全的 INTERNET 标准,而 CMOT 还是个草案。可以从 Host and Gateway Requirements RFCs 中获得该标准得更多的信息。请参考最新版的“Internet 正式协议标准”来获得本协议的标准化程度和状态。本文档的发布不受任何限制。2. 介绍本文描述的是用于管理 TCP/IP 网络的一般结构和方法,网络管理的对象信息模
5、型和一系列用来描述管理信息的普通类。结构的正式描述使用了抽象语法描述(ASN.1)。本文不说明具体的解决方法,也不是什么协议和数据结构,如果需要这方面的内容请参阅 SNMP 和 MIB 的说明。在 IEEE 中有文章是关于 Internet 管理结构和方法的,本文基本上来自于这篇文章,但在以下几方面有所不同:那篇文章主要说明OSI 类型网络的管理,对于 SNMP 并不适用。本文要达到两个目标:简单性和可扩展性,虽然网络管理的研究已经开展了许多年,但是对这方面问题的理解的深度和广度不见得有多好。通过给出一个通用的 SMI,可以为未来的发展打好一个基础。3. 管理信息的结构和标记管理对象通过虚拟信
6、息存储访问,我们称这一结构为管理信息库或MIB。MIB 中的对象以 ASN.1 定义。每个对象有自己的名字,语法和编码。名字就象对象标记,它是一个管理管理用的名字。对象类型的请求定义了和对象类型相一致的抽象数据结构。虽然这可以通过 ASN.1 进行定义,但在本文中还是加以了限制。这种限制是为了定义的结果更为一般。对象类型的编码说明对象类型的实例如何通过对象的类型语法表示。通常将对象的语法和编码通过对象的定义进行连结,这也是对象在网络上传输的形式。至于定义 MIB 或管理协议,这不是本文的工作,本文只是通过一个纲领性的说明陈述一般性的原则。当然,在有些时候,定义也加以了限制,这是为某种特定的管理
7、而加的,在具体实现时可以不用管这些限制。3.1 名字名字用于标记管理对象。对象标记概念用于进行定义。无论对象是什么语义,对象标记是确定某些对象的方法。对象标记是根据全局树而来的整数串。这个树和一些标记过的结点相连。每个结点还有子结点。我们对对象标记的理解应该是建立在对这个全局树进行遍历的基础上的。一个标记就是一个简单的文本描述和一个整数。根结点不标记,它至少要有三个子结点,一个子结点由国际标准化组织管理,标记为 iso(1);另一个由 CCITT 管理,标记为 ccitt(0);第三个由两者共同管理,标记为:joint-iso-ccitt(2)。在 iso(0)下,ISO 有一个子树用于其它国
8、际组织,org(3),对于子结点来说,两个留给美国国家标准和技术局,另一个由 NIST 转给美国国防部,dod(6)。就本文来说,DoD 未指明它如何管理自己的对象标记子树。本文假设 DoD 将给 Internet 分一个区,它由 IAB 由下面的方式管理:internet OBJECT IDENTIFIER := iso org(3) dod(6) 1 也就是说,对象标记的 Internet 子树以 1.3.6.1 开始。本文作为IAB 同意的标准,说明管理对象标记子树的策略。开始时,四个结点是这样的:directory OBJECT IDENTIFIER := internet 1 mgm
9、t OBJECT IDENTIFIER := internet 2 experimental OBJECT IDENTIFIER := internet 3 private OBJECT IDENTIFIER := internet 4 3.1.1. 目录directory(1)子树留作以后 OSI 目录如何被用作 Internet 目录。3.1.2. Mgmtmgmt(2)子树用于标记定义在 IAB 文件中的对象。例如,如果定义初始 Internet 标准 MIB 的 RFC 被指定为管理文档号 1,此 RFC 可以被用作对象标记: mgmt 1 或 1.3.6.1.2.1 来定义 Inte
10、rnet 标准的MIB。本文的后半部分将定义新的 MIB 标准。3.1.3. Experimentalexperimental(3)子树定义用于 Internet 实验的对象。例如实验者可能接收到定义号 17,那可用的对象标记就是: experimental 17 或 1.3.6.1.3.17。IANA 对如何使用此子树提出要求。3.1.4. Privateprivate(4)子树用于定义其它对象。此子树最初只有一个孩子:enterprises OBJECT IDENTIFIER := private 1 使用 enterprises(1)时可以允许提供网络子系统的机构来注册它们产品的模型。在
11、接收到子树时,一个企业可以在子树中定义新的 MIB 对象。而且此企业也应该在此子树下注册它的网络子系统,这样可以在管理协议中进行有效地管理。例如,如果“Flintstones, Inc.“生产网络子系统,它会要求一个在企业子树下的结点,这样的结点可能进行如下编号:1.3.6.1.4.1.42,它可能在此下面注册它自己的路由器为:1.3.6.1.4.1.42.1.13.2. 语法语法是根据对象类型定义对象结构,定义时使用 ASN.1,但 ASN.1中的一些通用化需要加以限制。在 ASN.1 中 ObjectSyntax 定义可用于不同对象类型的语法。3.2.1. 原始类型ASN.1 中的原始类型
12、包括 INTEGER,OCTET STRING,OBJECT IDENTIFIER 和 NULL。3.2.1.1. 枚举整数的指导方针如枚举整数列为一个对象类型,拥有值 0 的命名号不应该出现在枚举列表中,而且不能使用此值。3.2.2. 构造类型ASN.1 中的 SEQUENCE 可用,使用它可以建立对于列或表。对于列,语法如下:SEQUENCE , ., 其中是原始类型。对于表,语法如下:SEQUENCE OF 其中指向列。3.2.3. 定义的类型允许在一个新应用产品的范围内定义新类型,新类型必须能够分解为基本类型,列,表或其它新类型。3.2.3.1. NetworkAddress此类型代表
13、多个可能的协议族中的一个地址格式。当前只有只允许Internet 协议族。3.2.3.2. IpAddress这种定义的类型代表 32 位的 IP 地址,它表示为长度为 4 的字符串。在 ASN.1 类型使用 ASN.基本编码规则进行编码时,只能使用原始编码形式。3.2.3.3. Counter这种定义的类型代表一个非负整数,它只能增加,直到最大值。当达到最大值后,它会返回 0 重新开始。本文指定它的最大值为232-1,也就是 4294967295。3.2.3.4. Gauge此类型代表一个非负整数,它可以可以增加或减少,但在最大值时停止。本文指定它的值为 232-1,也就是 42949672
14、95。3.2.3.5. TimeTicks此类型为非负整数,用于记录从一时间点起经过了多少个百分之一秒的时间。3.2.3.6. Opaque此类型支持对 ASN.1 语法进行扩充的能力。只类型只要求接收方能够对数据进行解密,并没有要求接收方一定要理解其内容。3.3. 编码在对象类型的实例实编码以后,它的值可以将 ASN.1 的基本编码规则用于对象类型的语法而进行传输。4. 管理对象本文不定义 MIB 对象,但本文指定一种可被其它文章使用的的格式。一个对象定义通常包括下面五个域: * OBJECT:是一个字符串名,它叫 OBJECT DESCRIPTOR,它指定对象类型,这个类型和 OBJECT
15、 IDENTIFIER 相对应。 * 语法:对象类型的抽象语法。它必须可以解析到 ASN.1 类型ObjectSyntax 的一个实例上。 * 定义:对对象类型语义的文本描述。实现中必须保证对象的实例满足这个定义,因为这个 MIB 是用于多厂商环境中的,要照顾到它们的情况。对象在不同的机器上有相同的意义是很重要的。 * 访问:取只读,读写,只写或不能访问这四个值。 * 状态:强制(mandatory) ,可选(optional)或过时的(obsolete) 。 以后的文档中可能会定义其它域。4.1. 对象名在 Internet 标准中的 MIB 中的对象名中不能有 0,此值留作扩展。每个和对象
16、类型相对应的 OBJECT DESCRIPTOR 应该有独一无二的,可记忆和打印的字符串名。这对于人们的阅读和开发对象用户接口的表机制很有好处。4.2. 对象类型和实例一个对象类型就是一类可管理的对象的定义,而对象实例就是一个对象类型的实例,而这个实例已经有值了。例如,路由表入口的定义在 MIB 中已有定义,这个定义和一个对象类型相关,给定路由表的单个入口中的那个存在一会儿的值就是对象类型的实例。MIB 中定义了许多对象类型,每个类型通过 OBJECT IDENTIFIER 标记,同时也有一个文本名,称为 OBJECT DESCRIPTOR。这标明 MIB中的数据如果被访问是由特定协议决定的,
17、而不在 MIB 中规定。一个对象类型可以定义在 MIB 中,这样一个对象类型的实例可以代表一些信息的集合,也被一些次要对象类型号的实例所代表。例如,假设下面的对象是定义在 MIB 中的: OBJECT: atIndex atEntry 1 Syntax: INTEGERDefinition: 物理地址的接口号Access: read-write.Status: mandatory.OBJECT: atPhysAddress atEntry 2 Syntax: OCTET STRINGDefinition: 与介质相关的物理地址Access: read-write.Status: mandato
18、ry.OBJECT: atNetAddress atEntry 3 Syntax: NetworkAddressDefinition: 与介质相关物理地址相对应的网络地址Access: read-write.Status: mandatory.第四个对象类型也可能被定义在 MIB 中:OBJECT: atEntry atTable 1 Syntax: AtEntry := SEQUENCE atIndexINTEGER,atPhysAddressOCTET STRING,atNetAddressNetworkAddressDefinition: 地址映射表中的入口Access: read-wr
19、ite.Status: mandatory.每个对象类型的实便包括由前三个对象类型实例表示的信息。把这种定义出的对象类型称为列表(list) 。同样的,列表类型的集合可以组成表(table) 。例如,第五个对象的定义如下:OBJECT: atTable at 1 Syntax: SEQUENCE OF AtEntryDefinition: 地址映射表Access: read-write.Status: mandatory.上面的地址映射表就是由 AtEntry 的集合构成的。让我们想一下如何获得表中的对象。下面我们看一个例子,下面是一个对象类型: atPhysAddress 而下面是与协议相关
20、的对象实例: atNetAddress = internet “10.0.0.52“ 这两个量组成的偶对将可以参照 atPhysAddress 的实例。这里的atPhyAddress 是任何与 atNetAddress 相关值为 internet “10.0.0.52 的地址映射表入口的一部分。下来我们看看如何访问一个包中的集合对象(list) ,将对象类型命名为: atEntry 然后指定与协议相关的对象实例: atNetAddress = internet “10.0.0.52“ 上面的对象实例访问表中入口的所有实例,其中表与 atNetAddress的值 internet “10.0.0
21、.52“ 相关。每个管理协议均提供了访问非集合对象类型的机制,每个管理协议也说明了它是否支持访问集合对象类型。而且,协议必须指定当一个对象类型/实例对访问多个类型的实例时会返回哪个实例。为支持不同的管理协议,所有能够使对象能够区分的信息由对象类型的实例定义在 MIB 中。4.3. 管理对象宏可以使用 OBJECT-TYPE 宏来处理 MIB 中的定义。这个宏允许一个对象类型的主要访问采取统一的表示方式。OBJECT-TYPE MACRO :=BEGINTYPE NOTATION := “SYNTAX“ type (TYPE ObjectSyntax)“ACCESS“ Access“STATUS
22、“ StatusVALUE NOTATION := value (VALUE ObjectName)Access := “read-only“| “read-write“| “write-only“| “not-accessible“Status := “mandatory“| “optional“| “obsolete“END根据上面定义的对象类型,我们可以看到下面定义在 MIB 中的定义:atIndex OBJECT-TYPESYNTAX INTEGERACCESS read-writeSTATUS mandatory:= atEntry 1 atPhysAddress OBJECT-TY
23、PESYNTAX OCTET STRINGACCESS read-writeSTATUS mandatory:= atEntry 2 atNetAddress OBJECT-TYPESYNTAX NetworkAddressACCESS read-writeSTATUS mandatory:= atEntry 3 atEntry OBJECT-TYPESYNTAX AtEntryACCESS read-writeSTATUS mandatory:= atTable 1 atTable OBJECT-TYPESYNTAX SEQUENCE OF AtEntryACCESS read-writeS
24、TATUS mandatory:= at 1 AtEntry := SEQUENCE atIndexINTEGER,atPhysAddressOCTET STRING,atNetAddressNetworkAddress5. MIB 扩展每个 Internet 标准 MIB 文档都将前面文档标记为过时的。在下面标记处标记的名字是在改变版本时没有进行过改变的: mgmt version-number 新版本可以会(1) 宣布老的对象类型过时,但不删除它们的名字;(2) 通过添加非集合对象类型到列表(list)中对象类型而扩展一个对象类型的定义;(3) 要么就索性定义新的对象。新版本不能在未改变对
25、象名字的情况下改变对象的语义。这样就保证了相同的名字在不同的版本下会有相同的语义,这样在实现起来就比较方便。但是,管理代表可能会返回一个对象,它是需要对象的一个超集。考虑到健壮性,管理程序应该忽略掉这些附加信息。但是我们要注意:如果一个实例没有和希望的对象类型相同的语法,控制将会失败。在监视和控制的情况下,由一个操作返回的对象名必须和操作要求的对象名一致。6. 定义RFC1155-SMI DEFINITIONS := BEGINEXPORTS - EVERYTHINGinternet, directory, mgmt,experimental, private, enterprises,OBJ
26、ECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,ApplicationSyntax, NetworkAddress, IpAddress,Counter, Gauge, TimeTicks, Opaque;- the path to the rootinternet OBJECT IDENTIFIER := iso org(3) dod(6) 1 directory OBJECT IDENTIFIER := internet 1 mgmt OBJECT IDENTIFIER := internet 2 experimental OBJECT I
27、DENTIFIER := internet 3 private OBJECT IDENTIFIER := internet 4 enterprises OBJECT IDENTIFIER := private 1 - definition of object typesOBJECT-TYPE MACRO :=BEGINTYPE NOTATION := “SYNTAX“ type (TYPE ObjectSyntax)“ACCESS“ Access“STATUS“ StatusVALUE NOTATION := value (VALUE ObjectName)Access := “read-on
28、ly“| “read-write“| “write-only“| “not-accessible“Status := “mandatory“| “optional“| “obsolete“END- names of objects in the MIBObjectName :=OBJECT IDENTIFIER- syntax of objects in the MIBObjectSyntax :=CHOICE simpleSimpleSyntax,- note that simple SEQUENCEs are not directly- mentioned here to keep thi
29、ngs simple (i.e.,- prevent mis-use). However, application-wide- types which are IMPLICITly encoded simple- SEQUENCEs may appear in the following CHOICEapplication-wideApplicationSyntaxSimpleSyntax :=CHOICE numberINTEGER,stringOCTET STRING,objectOBJECT IDENTIFIER,emptyNULLApplicationSyntax :=CHOICE a
30、ddressNetworkAddress,counterCounter,gaugeGauge,ticksTimeTicks,arbitraryOpaque- other application-wide types, as they are- defined, will be added here- application-wide typesNetworkAddress :=CHOICE internetIpAddressIpAddress :=APPLICATION 0 - in network-byte orderIMPLICIT OCTET STRING (SIZE (4)Counte
31、r :=APPLICATION 1IMPLICIT INTEGER (04294967295)Gauge :=APPLICATION 2IMPLICIT INTEGER (04294967295)TimeTicks :=APPLICATION 3IMPLICIT INTEGER (04294967295)Opaque :=APPLICATION 4 - arbitrary ASN.1 value,IMPLICIT OCTET STRING - “double-wrapped“END7感谢本文档的完成要感谢三方面提供的草案:首先是 MITRE 公司的 Lee Labarre,他是 NETMAN
32、SMI 4 的作者。其次是许多对本文档的原始版本提供了有价值建议的一些个人: James R. Davin, ProteonMark S. Fedor, NYSERNetCraig Partridge, BBN LaboratoriesMartin Lee Schoffstall, Rensselaer Polytechnic InstituteWengyik Yeong, NYSERNet最后是 IETF MIB 工作组:Karl Auerbach, Epilogue TechnologyK. Ramesh Babu, ExcelanLawrence Besaw, Hewlett-Packa
33、rdJeffrey D. Case, University of Tennessee at KnoxvilleJames R. Davin, ProteonMark S. Fedor, NYSERNetRobb Foster, BBNPhill Gross, The MITRE CorporationBent Torp Jensen, Convergent TechnologyLee Labarre, The MITRE CorporationDan Lynch, Advanced Computing EnvironmentsKeith McCloghrie, The Wollongong G
34、roupDave Mackie, 3Com/BridgeCraig Partridge, BBN (chair)Jim Robertson, 3Com/BridgeMarshall T. Rose, The Wollongong GroupGreg Satz, ciscoMartin Lee Schoffstall, Rensselaer Polytechnic InstituteLou Steinberg, IBMDean Throop, Data GeneralUnni Warrier, Unisys8. 参考1 Information processing systems - Open
35、Systems Interconnection,“Specification of Abstract Syntax Notation One (ASN.1)“,International Organization for Standardization, InternationalStandard 8824, December 1987.2 McCloghrie K., and M. Rose, “Management Information Base forNetwork Management of TCP/IP-based Internets“, RFC 1156,Performance
36、Systems International and Hughes LAN Systems, May1990.3 Case, J., M. Fedor, M. Schoffstall, and J. Davin, The SimpleNetwork Management Protocol“, RFC 1157, University of Tennesseeat Knoxville, Performance Systems International, PerformanceSystems International, and the MIT Laboratory for ComputerSci
37、ence, May 1990.4 LaBarre, L., “Structure and Identification of ManagementInformation for the Internet“, Internet Engineering Task Forceworking note, Network Information Center, SRI International,Menlo Park, California, April 1988.5 Cerf, V., “IAB Recommendations for the Development of InternetNetwor
38、k Management Standards“, RFC 1052, IAB, April 1988.6 Cerf, V., “Report of the Second Ad Hoc Network Management ReviewGroup“, RFC 1109, IAB, August 1989.7 Information processing systems - Open Systems Interconnection,“Specification of Basic Encoding Rules for Abstract Notation One(ASN.1)“, Internatio
39、nal Organization for Standardization,International Standard 8825, December 1987.9安全的考虑:本文档并未考虑安全问题。10作者地址:Marshall T. RosePSI, Inc.PSI California OfficeP.O. Box 391776Mountain View, CA 94039Phone: (415) 961-3380EMail: mrosePSI.COMKeith McCloghrieThe Wollongong Group1129 San Antonio RoadPalo Alto, CA 04303Phone: (415) 962-7160EMail: sytek!kzmHPLABS.HP.COMRFC1155 Structure and Identification of Management Information for TCP/IP-based Internets RFC1155 基于 TCP/IP 网络的管理结构和标记11文档中文翻译计划