Node-Red configuration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

rfc1065.txt 37KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179
  1. Network Working Group M. Rose
  2. Request for Comments: 1065 K. McCloghrie
  3. TWG
  4. August 1988
  5. Structure and Identification of Management Information
  6. for TCP/IP-based internets
  7. Table of Contents
  8. 1. Status of this Memo ............................................. 1
  9. 2. Introduction .................................................... 2
  10. 3. Structure and Identification of Management Information........... 4
  11. 3.1 Names .......................................................... 4
  12. 3.1.1 DIRECTORY .................................................... 5
  13. 3.1.2 MGMT ......................................................... 6
  14. 3.1.3 EXPERIMENTAL ................................................. 6
  15. 3.1.4 PRIVATE ...................................................... 7
  16. 3.2 Syntax ......................................................... 7
  17. 3.2.1 Primitive Types .............................................. 7
  18. 3.2.1.1 Guidelines for Enumerated INTEGERs ......................... 7
  19. 3.2.2 Constructor Types ............................................ 8
  20. 3.2.3 Defined Types ................................................ 8
  21. 3.2.3.1 NetworkAddress ............................................. 8
  22. 3.2.3.2 IpAddress .................................................. 8
  23. 3.2.3.3 Counter .................................................... 8
  24. 3.2.3.4 Gauge ...................................................... 9
  25. 3.2.3.5 TimeTicks .................................................. 9
  26. 3.2.3.6 Opaque ..................................................... 9
  27. 3.3 Encodings ...................................................... 9
  28. 4. Managed Objects ................................................. 10
  29. 4.1 Guidelines for Object Names .................................... 10
  30. 4.2 Object Types and Instances ..................................... 10
  31. 4.3 Macros for Managed Objects ..................................... 14
  32. 5. Extensions to the MIB ........................................... 16
  33. 6. Definitions ..................................................... 17
  34. 7. Acknowledgements ................................................ 20
  35. 8. References ...................................................... 21
  36. 1. Status of this Memo
  37. This memo provides the common definitions for the structure and
  38. identification of management information for TCP/IP-based internets.
  39. In particular, together with its companion memos which describe the
  40. initial management information base along with the initial network
  41. management protocol, these documents provide a simple, workable
  42. Rose & McCloghrie [Page 1]
  43. RFC 1065 SMI August 1988
  44. architecture and system for managing TCP/IP-based internets and in
  45. particular, the Internet.
  46. This memo specifies a draft standard for the Internet community.
  47. TCP/IP implementations in the Internet which are network manageable
  48. are expected to adopt and implement this specification.
  49. Distribution of this memo is unlimited.
  50. 2. Introduction
  51. This memo describes the common structures and identification scheme
  52. for the definition of management information used in managing
  53. TCP/IP-based internets. Included are descriptions of an object
  54. information model for network management along with a set of generic
  55. types used to describe management information. Formal descriptions
  56. of the structure are given using Abstract Syntax Notation One (ASN.1)
  57. [1].
  58. This memo is largely concerned with organizational concerns and
  59. administrative policy: it neither specifies the objects which are
  60. managed, nor the protocols used to manage those objects. These
  61. concerns are addressed by two companion memos: one describing the
  62. Management Information Base (MIB) [2], and the other describing the
  63. Simple Network Management Protocol (SNMP) [3].
  64. This memo is based in part on the work of the Internet Engineering
  65. Task Force, particularly the working note titled "Structure and
  66. Identification of Management Information for the Internet" [4]. This
  67. memo uses a skeletal structure derived from that note, but differs in
  68. one very significant way:that note focuses entirely on the use of
  69. OSI-style network management. As such, it is not suitable for use in
  70. the short-term for which a non-OSI protocol, the SNMP, has been
  71. designated as the standard.
  72. This memo attempts to achieve two goals: simplicity and
  73. extensibility. Both are motivated by a common concern: although the
  74. management of TCP/IP-based internets has been a topic of study for
  75. some time, the authors do not feel that the depth and breadth of such
  76. understanding is complete. More bluntly, we feel that previous
  77. experiences, while giving the community insight, are hardly
  78. conclusive. By fostering a simple SMI, the minimal number of
  79. constraints are imposed on future potential approaches; further, by
  80. fostering an extensible SMI, the maximal number of potential
  81. approaches are available for experimentation.
  82. It is believed that this memo and its two companions comply with the
  83. guidelines set forth in RFC 1052, "IAB Recommendations for the
  84. Rose & McCloghrie [Page 2]
  85. RFC 1065 SMI August 1988
  86. Development of Internet Network Management Standards" [5]. In
  87. particular, we feel that this memo, along with the memo describing
  88. the initial management information base, provide a solid basis for
  89. network management of the Internet.
  90. Rose & McCloghrie [Page 3]
  91. RFC 1065 SMI August 1988
  92. 3. Structure and Identification of Management Information
  93. Managed objects are accessed via a virtual information store, termed
  94. the Management Information Base or MIB. Objects in the MIB are
  95. defined using Abstract Syntax Notation One (ASN.1) [1].
  96. Each type of object (termed an object type) has a name, a syntax, and
  97. an encoding. The name is represented uniquely as an OBJECT
  98. IDENTIFIER. An OBJECT IDENTIFIER is an administratively assigned
  99. name. The administrative policies used for assigning names are
  100. discussed later in this memo.
  101. The syntax for an object type defines the abstract data structure
  102. corresponding to that object type. For example, the structure of a
  103. given object type might be an INTEGER or OCTET STRING. Although in
  104. general, we should permit any ASN.1 construct to be available for use
  105. in defining the syntax of an object type, this memo purposely
  106. restricts the ASN.1 constructs which may be used. These restrictions
  107. are made solely for the sake of simplicity.
  108. The encoding of an object type is simply how instances of that object
  109. type are represented using the object's type syntax. Implicitly tied
  110. to the notion of an object's syntax and encoding is how the object is
  111. represented when being transmitted on the network. This memo
  112. specifies the use of the basic encoding rules of ASN.1 [6].
  113. It is beyond the scope of this memo to define either the initial MIB
  114. used for network management or the network management protocol. As
  115. mentioned earlier, these tasks are left to the companion memos. This
  116. memo attempts to minimize the restrictions placed upon its companions
  117. so as to maximize generality. However, in some cases, restrictions
  118. have been made (e.g., the syntax which may be used when defining
  119. object types in the MIB) in order to encourage a particular style of
  120. management. Future editions of this memo may remove these
  121. restrictions.
  122. 3.1. Names
  123. Names are used to identify managed objects. This memo specifies
  124. names which are hierarchical in nature. The OBJECT IDENTIFIER
  125. concept is used to model this notion. An OBJECT IDENTIFIER can be
  126. used for purposes other than naming managed object types; for
  127. example, each international standard has an OBJECT IDENTIFIER
  128. assigned to it for the purposes of identification. In short, OBJECT
  129. IDENTIFIERs are a means for identifying some object, regardless of
  130. the semantics associated with the object (e.g., a network object, a
  131. standards document, etc.)
  132. Rose & McCloghrie [Page 4]
  133. RFC 1065 SMI August 1988
  134. An OBJECT IDENTIFIER is a sequence of integers which traverse a
  135. global tree. The tree consists of a root connected to a number of
  136. labeled nodes via edges. Each node may, in turn, have children of
  137. its own which are labeled. In this case, we may term the node a
  138. subtree. This process may continue to an arbitrary level of depth.
  139. Central to the notion of the OBJECT IDENTIFIER is the understanding
  140. that administrative control of the meanings assigned to the nodes may
  141. be delegated as one traverses the tree. A label is a pairing of a
  142. brief textual description and an integer.
  143. The root node itself is unlabeled, but has at least three children
  144. directly under it: one node is administered by the International
  145. Standards Organization, with label iso(1); another is administrated
  146. by the International Telegraph and Telephone Consultative Committee,
  147. with label ccitt(2); and the third is jointly administered by the ISO
  148. and the CCITT, joint-iso-ccitt(3).
  149. Under the iso(1) node, the ISO has designated one subtree for use by
  150. other (inter)national organizations, org(3). Of the children nodes
  151. present, two have been assigned to the U.S. National Bureau of
  152. Standards. One of these subtrees has been transferred by the NBS to
  153. the U.S. Department of Defense, dod(6).
  154. As of this writing, the DoD has not indicated how it will manage its
  155. subtree of OBJECT IDENTIFIERs. This memo assumes that DoD will
  156. allocate a node to the Internet community, to be administered by the
  157. Internet Activities Board (IAB) as follows:
  158. internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
  159. That is, the Internet subtree of OBJECT IDENTIFIERs starts with the
  160. prefix:
  161. 1.3.6.1.
  162. This memo, as an RFC approved by the IAB, now specifies the policy
  163. under which this subtree of OBJECT IDENTIFIERs is administered.
  164. Initially, four nodes are present:
  165. directory OBJECT IDENTIFIER ::= { internet 1 }
  166. mgmt OBJECT IDENTIFIER ::= { internet 2 }
  167. experimental OBJECT IDENTIFIER ::= { internet 3 }
  168. private OBJECT IDENTIFIER ::= { internet 4 }
  169. 3.1.1. DIRECTORY
  170. The directory(1) subtree is reserved for use with a future memo that
  171. discusses how the OSI Directory may be used in the Internet.
  172. Rose & McCloghrie [Page 5]
  173. RFC 1065 SMI August 1988
  174. 3.1.2. MGMT
  175. The mgmt(2) subtree is used to identify objects which are defined in
  176. IAB-approved documents. Administration of the mgmt(2) subtree is
  177. delegated by the IAB to the Assigned Numbers authority for the
  178. Internet. As RFCs which define new versions of the Internet-standard
  179. Management Information Base are approved, they are assigned an OBJECT
  180. IDENTIFIER by the Assigned Numbers authority for identifying the
  181. objects defined by that memo.
  182. For example, the RFC which defines the initial Internet standard MIB
  183. would be assigned management document number 1. This RFC would use
  184. the OBJECT IDENTIFIER
  185. { mgmt 1 }
  186. or
  187. 1.3.6.1.2.1
  188. in defining the Internet-standard MIB.
  189. The generation of new versions of the Internet-standard MIB is a
  190. rigorous process. Section 5 of this memo describes the rules used
  191. when a new version is defined.
  192. 3.1.3. EXPERIMENTAL
  193. The experimental(3) subtree is used to identify objects used in
  194. Internet experiments. Administration of the experimental(3) subtree
  195. is delegated by the IAB to the Assigned Numbers authority of the
  196. Internet.
  197. For example, an experimenter might received number 17, and would have
  198. available the OBJECT IDENTIFIER
  199. { experimental 17 }
  200. or
  201. 1.3.6.1.3.17
  202. for use.
  203. As a part of the assignment process, the Assigned Numbers authority
  204. may make requirements as to how that subtree is used.
  205. Rose & McCloghrie [Page 6]
  206. RFC 1065 SMI August 1988
  207. 3.1.4. PRIVATE
  208. The private(4) subtree is used to identify objects defined
  209. unilaterally. Administration of the private(4) subtree is delegated
  210. by the IAB to the Assigned Numbers authority for the Internet.
  211. Initially, this subtree has at least one child:
  212. enterprises OBJECT IDENTIFIER ::= { private 1 }
  213. The enterprises(1) subtree is used, among other things, to permit
  214. parties providing networking subsystems to register models of their
  215. products.
  216. Upon receiving a subtree, the enterprise may, for example, define new
  217. MIB objects in this subtree. In addition, it is strongly recommended
  218. that the enterprise will also register its networking subsystems
  219. under this subtree, in order to provide an unambiguous identification
  220. mechanism for use in management protocols. For example, if the
  221. "Flintstones, Inc." enterprise produced networking subsystems, then
  222. they could request a node under the enterprises subtree from the
  223. Assigned Numbers authority. Such a node might be numbered:
  224. 1.3.6.1.4.1.42
  225. The "Flintstones, Inc." enterprise might then register their "Fred
  226. Router" under the name of:
  227. 1.3.6.1.4.1.42.1.1
  228. 3.2. Syntax
  229. Syntax is used to define the structure corresponding to object types.
  230. ASN.1 constructs are used to define this structure, although the full
  231. generality of ASN.1 is not permitted.
  232. The ASN.1 type ObjectSyntax defines the different syntaxes which may
  233. be used in defining an object type.
  234. 3.2.1. Primitive Types
  235. Only the ASN.1 primitive types INTEGER, OCTET STRING, OBJECT
  236. IDENTIFIER, and NULL are permitted. These are sometimes referred to
  237. as non-aggregate types.
  238. 3.2.1.1. Guidelines for Enumerated INTEGERs
  239. If an enumerated INTEGER is listed as an object type, then a named-
  240. number having the value 0 shall not be present in the list of
  241. Rose & McCloghrie [Page 7]
  242. RFC 1065 SMI August 1988
  243. enumerations. Use of this value is prohibited.
  244. 3.2.2. Constructor Types
  245. The ASN.1 constructor type SEQUENCE is permitted, providing that it
  246. is used to generate either lists or tables.
  247. For lists, the syntax takes the form:
  248. SEQUENCE { <type1>, ..., <typeN> }
  249. where each <type> resolves to one of the ASN.1 primitive types listed
  250. above. Further, these ASN.1 types are always present (the DEFAULT
  251. and OPTIONAL clauses do not appear in the SEQUENCE definition).
  252. For tables, the syntax takes the form:
  253. SEQUENCE OF <entry>
  254. where <entry> resolves to a list constructor.
  255. Lists and tables are sometimes referred to as aggregate types.
  256. 3.2.3. Defined Types
  257. In addition, new application-wide types may be defined, so long as
  258. they resolve into an IMPLICITly defined ASN.1 primitive type, list,
  259. table, or some other application-wide type. Initially, few
  260. application-wide types are defined. Future memos will no doubt
  261. define others once a consensus is reached.
  262. 3.2.3.1. NetworkAddress
  263. This CHOICE represents an address from one of possibly several
  264. protocol families. Currently, only one protocol family, the Internet
  265. family, is present in this CHOICE.
  266. 3.2.3.2. IpAddress
  267. This application-wide type represents a 32-bit internet address. It
  268. is represented as an OCTET STRING of length 4, in network byte-order.
  269. When this ASN.1 type is encoded using the ASN.1 basic encoding rules,
  270. only the primitive encoding form shall be used.
  271. 3.2.3.3. Counter
  272. This application-wide type represents a non-negative integer which
  273. Rose & McCloghrie [Page 8]
  274. RFC 1065 SMI August 1988
  275. monotonically increases until it reaches a maximum value, when it
  276. wraps around and starts increasing again from zero. This memo
  277. specifies a maximum value of 2^32-1 (4294967295 decimal) for
  278. counters.
  279. 3.2.3.4. Gauge
  280. This application-wide type represents a non-negative integer, which
  281. may increase or decrease, but which latches at a maximum value. This
  282. memo specifies a maximum value of 2^32-1 (4294967295 decimal) for
  283. gauges.
  284. 3.2.3.5. TimeTicks
  285. This application-wide type represents a non-negative integer which
  286. counts the time in hundredths of a second since some epoch. When
  287. object types are defined in the MIB which use this ASN.1 type, the
  288. description of the object type identifies the reference epoch.
  289. 3.2.3.6. Opaque
  290. This application-wide type supports the capability to pass arbitrary
  291. ASN.1 syntax. A value is encoded using the ASN.1 basic rules into a
  292. string of octets. This, in turn, is encoded as an OCTET STRING, in
  293. effect "double-wrapping" the original ASN.1 value.
  294. Note that a conforming implementation need only be able to accept and
  295. recognize opaquely-encoded data. It need not be able to unwrap the
  296. data and then interpret its contents.
  297. Further note that by use of the ASN.1 EXTERNAL type, encodings other
  298. than ASN.1 may be used in opaquely-encoded data.
  299. 3.3. Encodings
  300. Once an instance of an object type has been identified, its value may
  301. be transmitted by applying the basic encoding rules of ASN.1 to the
  302. syntax for the object type.
  303. Rose & McCloghrie [Page 9]
  304. RFC 1065 SMI August 1988
  305. 4. Managed Objects
  306. Although it is not the purpose of this memo to define objects in the
  307. MIB, this memo specifies a format to be used by other memos which
  308. define these objects.
  309. An object type definition consists of five fields:
  310. OBJECT:
  311. -------
  312. A textual name, termed the OBJECT DESCRIPTOR, for the object type,
  313. along with its corresponding OBJECT IDENTIFIER.
  314. Syntax:
  315. The abstract syntax for the object type. This must resolve to an
  316. instance of the ASN.1 type ObjectSyntax (defined below).
  317. Definition:
  318. A textual description of the semantics of the object type.
  319. Implementations should ensure that their instance of the object
  320. fulfills this definition since this MIB is intended for use in
  321. multi-vendor environments. As such it is vital that objects have
  322. consistent meaning across all machines.
  323. Access:
  324. One of read-only, read-write, write-only, or not-accessible.
  325. Status:
  326. One of mandatory, optional, or obsolete.
  327. Future memos may also specify other fields for the objects which they
  328. define.
  329. 4.1. Guidelines for Object Names
  330. No object type in the Internet-Standard MIB shall use a sub-
  331. identifier of 0 in its name. This value is reserved for use with
  332. future extensions.
  333. Each OBJECT DESCRIPTOR corresponding to an object type in the
  334. internet-standard MIB shall be a unique, but mnemonic, printable
  335. string. This promotes a common language for humans to use when
  336. discussing the MIB and also facilitates simple table mappings for
  337. user interfaces.
  338. 4.2. Object Types and Instances
  339. An object type is a definition of a kind of managed object; it is
  340. Rose & McCloghrie [Page 10]
  341. RFC 1065 SMI August 1988
  342. declarative in nature. In contrast, an object instance is an
  343. instantiation of an object type which has been bound to a value. For
  344. example, the notion of an entry in a routing table might be defined
  345. in the MIB. Such a notion corresponds to an object type; individual
  346. entries in a particular routing table which exist at some time are
  347. object instances of that object type.
  348. A collection of object types is defined in the MIB. Each such
  349. subject type is uniquely named by its OBJECT IDENTIFIER and also has
  350. a textual name, which is its OBJECT DESCRIPTOR. The means whereby
  351. object instances are referenced is not defined in the MIB. Reference
  352. to object instances is achieved by a protocol-specific mechanism: it
  353. is the responsibility of each management protocol adhering to the SMI
  354. to define this mechanism.
  355. An object type may be defined in the MIB such that an instance of
  356. that object type represents an aggregation of information also
  357. represented by instances of some number of "subordinate" object
  358. types. For example, suppose the following object types are defined
  359. in the MIB:
  360. OBJECT:
  361. -------
  362. atIndex { atEntry 1 }
  363. Syntax:
  364. INTEGER
  365. Definition:
  366. The interface number for the physical address.
  367. Access:
  368. read-write.
  369. Status:
  370. mandatory.
  371. OBJECT:
  372. -------
  373. atPhysAddress { atEntry 2 }
  374. Syntax:
  375. OCTET STRING
  376. Definition:
  377. The media-dependent physical address.
  378. Rose & McCloghrie [Page 11]
  379. RFC 1065 SMI August 1988
  380. Access:
  381. read-write.
  382. Status:
  383. mandatory.
  384. OBJECT:
  385. -------
  386. atNetAddress { atEntry 3 }
  387. Syntax:
  388. NetworkAddress
  389. Definition:
  390. The network address corresponding to the media-dependent physical
  391. address.
  392. Access:
  393. read-write.
  394. Status:
  395. mandatory.
  396. Then, a fourth object type might also be defined in the MIB:
  397. OBJECT:
  398. -------
  399. atEntry { atTable 1 }
  400. Syntax:
  401. AtEntry ::= SEQUENCE {
  402. atIndex
  403. INTEGER,
  404. atPhysAddress
  405. OCTET STRING,
  406. atNetAddress
  407. NetworkAddress
  408. }
  409. Definition:
  410. An entry in the address translation table.
  411. Access:
  412. read-write.
  413. Rose & McCloghrie [Page 12]
  414. RFC 1065 SMI August 1988
  415. Status:
  416. mandatory.
  417. Each instance of this object type comprises information represented
  418. by instances of the former three object types. An object type
  419. defined in this way is called a list.
  420. Similarly, tables can be formed by aggregations of a list type. For
  421. example, a fifth object type might also be defined in the MIB:
  422. OBJECT:
  423. ------
  424. atTable { at 1 }
  425. Syntax:
  426. SEQUENCE OF AtEntry
  427. Definition:
  428. The address translation table.
  429. Access:
  430. read-write.
  431. Status:
  432. mandatory.
  433. such that each instance of the atTable object comprises information
  434. represented by the set of atEntry object types that collectively
  435. constitute a given atTable object instance, that is, a given address
  436. translation table.
  437. Consider how one might refer to a simple object within a table.
  438. Continuing with the previous example, one might name the object type
  439. { atPhysAddress }
  440. and specify, using a protocol-specific mechanism, the object instance
  441. { atNetAddress } = { internet "10.0.0.52" }
  442. This pairing of object type and object instance would refer to all
  443. instances of atPhysAddress which are part of any entry in some
  444. address translation table for which the associated atNetAddress value
  445. is { internet "10.0.0.52" }.
  446. To continue with this example, consider how one might refer to an
  447. aggregate object (list) within a table. Naming the object type
  448. Rose & McCloghrie [Page 13]
  449. RFC 1065 SMI August 1988
  450. { atEntry }
  451. and specifying, using a protocol-specific mechanism, the object
  452. instance
  453. { atNetAddress } = { internet "10.0.0.52" }
  454. refers to all instances of entries in the table for which the
  455. associated atNetAddress value is { internet "10.0.0.52" }.
  456. Each management protocol must provide a mechanism for accessing
  457. simple (non-aggregate) object types. Each management protocol
  458. specifies whether or not it supports access to aggregate object
  459. types. Further, the protocol must specify which instances are
  460. "returned" when an object type/instance pairing refers to more than
  461. one instance of a type.
  462. To afford support for a variety of management protocols, all
  463. information by which instances of a given object type may be usefully
  464. distinguished, one from another, is represented by instances of
  465. object types defined in the MIB.
  466. 4.3. Macros for Managed Objects
  467. In order to facilitate the use of tools for processing the definition
  468. of the MIB, the OBJECT-TYPE macro may be used. This macro permits
  469. the key aspects of an object type to be represented in a formal way.
  470. OBJECT-TYPE MACRO ::=
  471. BEGIN
  472. TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
  473. "ACCESS" Access
  474. "STATUS" Status
  475. VALUE NOTATION ::= value (VALUE ObjectName)
  476. Access ::= "read-only"
  477. | "read-write"
  478. | "write-only"
  479. | "not-accessible"
  480. Status ::= "mandatory"
  481. | "optional"
  482. | "obsolete"
  483. END
  484. Given the object types defined earlier, we might imagine the
  485. following definitions being present in the MIB:
  486. atIndex OBJECT-TYPE
  487. Rose & McCloghrie [Page 14]
  488. RFC 1065 SMI August 1988
  489. SYNTAX INTEGER
  490. ACCESS read-write
  491. STATUS mandatory
  492. ::= { atEntry 1 }
  493. atPhysAddress OBJECT-TYPE
  494. SYNTAX OCTET STRING
  495. ACCESS read-write
  496. STATUS mandatory
  497. ::= { atEntry 2 }
  498. atNetAddress OBJECT-TYPE
  499. SYNTAX NetworkAddress
  500. ACCESS read-write
  501. STATUS mandatory
  502. ::= { atEntry 3 }
  503. atEntry OBJECT-TYPE
  504. SYNTAX AtEntry
  505. ACCESS read-write
  506. STATUS mandatory
  507. ::= { atTable 1 }
  508. atTable OBJECT-TYPE
  509. SYNTAX SEQUENCE OF AtEntry
  510. ACCESS read-write
  511. STATUS mandatory
  512. ::= { at 1 }
  513. AtEntry ::= SEQUENCE {
  514. atIndex
  515. INTEGER,
  516. atPhysAddress
  517. OCTET STRING,
  518. atNetAddress
  519. NetworkAddress
  520. }
  521. The first five definitions describe object types, relating, for
  522. example, the OBJECT DESCRIPTOR atIndex to the OBJECT IDENTIFIER {
  523. atEntry 1 }. In addition, the syntax of this object is defined
  524. (INTEGER) along with the access permitted (read-write) and status
  525. (mandatory). The sixth definition describes an ASN.1 type called
  526. AtEntry.
  527. Rose & McCloghrie [Page 15]
  528. RFC 1065 SMI August 1988
  529. 5. Extensions to the MIB
  530. Every Internet-standard MIB document obsoletes all previous such
  531. documents. The portion of a name, termed the tail, following the
  532. OBJECT IDENTIFIER
  533. { mgmt version-number }
  534. used to name objects shall remain unchanged between versions. New
  535. versions may:
  536. (1) declare old object types obsolete (if necessary), but not
  537. delete their names;
  538. (2) augment the definition of an object type corresponding to a
  539. list by appending non-aggregate object types to the object types
  540. in the list; or,
  541. (3) define entirely new object types.
  542. New versions may not:
  543. (1) change the semantics of any previously defined object without
  544. changing the name of that object.
  545. These rules are important because they admit easier support for
  546. multiple versions of the Internet-standard MIB. In particular, the
  547. semantics associated with the tail of a name remain constant
  548. throughout different versions of the MIB. Because multiple versions
  549. of the MIB may thus coincide in "tail-space," implementations
  550. supporting multiple versions of the MIB can be vastly simplified.
  551. However, as a consequence, a management agent might return an
  552. instance corresponding to a superset of the expected object type.
  553. Following the principle of robustness, in this exceptional case, a
  554. manager should ignore any additional information beyond the
  555. definition of the expected object type. However, the robustness
  556. principle requires that one exercise care with respect to control
  557. actions: if an instance does not have the same syntax as its expected
  558. object type, then those control actions must fail. In both the
  559. monitoring and control cases, the name of an object returned by an
  560. operation must be identical to the name requested by an operation.
  561. Rose & McCloghrie [Page 16]
  562. RFC 1065 SMI August 1988
  563. 6. Definitions
  564. RFC1065-SMI DEFINITIONS ::= BEGIN
  565. EXPORTS -- EVERYTHING
  566. internet, directory, mgmt,
  567. experimental, private, enterprises,
  568. OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
  569. ApplicationSyntax, NetworkAddress, IpAddress,
  570. Counter, Gauge, TimeTicks, Opaque;
  571. -- the path to the root
  572. internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
  573. directory OBJECT IDENTIFIER ::= { internet 1 }
  574. mgmt OBJECT IDENTIFIER ::= { internet 2 }
  575. experimental OBJECT IDENTIFIER ::= { internet 3 }
  576. private OBJECT IDENTIFIER ::= { internet 4 }
  577. enterprises OBJECT IDENTIFIER ::= { private 1 }
  578. -- definition of object types
  579. OBJECT-TYPE MACRO ::=
  580. BEGIN
  581. TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
  582. "ACCESS" Access
  583. "STATUS" Status
  584. VALUE NOTATION ::= value (VALUE ObjectName)
  585. Access ::= "read-only"
  586. | "read-write"
  587. | "write-only"
  588. | "not-accessible"
  589. Status ::= "mandatory"
  590. | "optional"
  591. | "obsolete"
  592. END
  593. -- names of objects in the MIB
  594. ObjectName ::=
  595. OBJECT IDENTIFIER
  596. Rose & McCloghrie [Page 17]
  597. RFC 1065 SMI August 1988
  598. -- syntax of objects in the MIB
  599. ObjectSyntax ::=
  600. CHOICE {
  601. simple
  602. SimpleSyntax,
  603. -- note that simple SEQUENCEs are not directly
  604. -- mentioned here to keep things simple (i.e.,
  605. -- prevent mis-use). However, application-wide
  606. -- types which are IMPLICITly encoded simple
  607. -- SEQUENCEs may appear in the following CHOICE
  608. application-wide
  609. ApplicationSyntax
  610. }
  611. SimpleSyntax ::=
  612. CHOICE {
  613. number
  614. INTEGER,
  615. string
  616. OCTET STRING,
  617. object
  618. OBJECT IDENTIFIER,
  619. empty
  620. NULL
  621. }
  622. ApplicationSyntax ::=
  623. CHOICE {
  624. address
  625. NetworkAddress,
  626. counter
  627. Counter,
  628. gauge
  629. Gauge,
  630. ticks
  631. TimeTicks,
  632. arbitrary
  633. Opaque
  634. Rose & McCloghrie [Page 18]
  635. RFC 1065 SMI August 1988
  636. -- other application-wide types, as they are
  637. -- defined, will be added here
  638. }
  639. -- application-wide types
  640. NetworkAddress ::=
  641. CHOICE {
  642. internet
  643. IpAddress
  644. }
  645. IpAddress ::=
  646. [APPLICATION 0] -- in network-byte order
  647. IMPLICIT OCTET STRING (SIZE (4))
  648. Counter ::=
  649. [APPLICATION 1]
  650. IMPLICIT INTEGER (0..4294967295)
  651. Gauge ::=
  652. [APPLICATION 2]
  653. IMPLICIT INTEGER (0..4294967295)
  654. TimeTicks ::=
  655. [APPLICATION 3]
  656. IMPLICIT INTEGER
  657. Opaque ::=
  658. [APPLICATION 4] -- arbitrary ASN.1 value,
  659. IMPLICIT OCTET STRING -- "double-wrapped"
  660. END
  661. Rose & McCloghrie [Page 19]
  662. RFC 1065 SMI August 1988
  663. 7. Acknowledgements
  664. This memo was influenced by three sets of contributors:
  665. First, Lee Labarre of the MITRE Corporation, who as author of the
  666. NETMAN SMI [4], presented the basic roadmap for the SMI.
  667. Second, several individuals who provided valuable comments on this
  668. memo prior to its initial distribution:
  669. James Davin, Proteon
  670. Mark S. Fedor, NYSERNet
  671. Craig Partridge, BBN Laboratories
  672. Martin Lee Schoffstall, Rensselaer Polytechnic Institute
  673. Wengyik Yeong, NYSERNet
  674. Third, the IETF MIB working group:
  675. Karl Auerbach, Epilogue Technology
  676. K. Ramesh Babu, Excelan
  677. Lawrence Besaw, Hewlett-Packard
  678. Jeffrey D. Case, University of Tennessee at Knoxville
  679. James R. Davin, Proteon
  680. Mark S. Fedor, NYSERNet
  681. Robb Foster, BBN
  682. Phill Gross, The MITRE Corporation
  683. Bent Torp Jensen, Convergent Technology
  684. Lee Labarre, The MITRE Corporation
  685. Dan Lynch, Advanced Computing Environments
  686. Keith McCloghrie, The Wollongong Group
  687. Dave Mackie, 3Com/Bridge
  688. Craig Partridge, BBN (chair)
  689. Jim Robertson, 3Com/Bridge
  690. Marshall T. Rose, The Wollongong Group
  691. Greg Satz, cisco
  692. Martin Lee Schoffstall, Rensselaer Polytechnic Institute
  693. Lou Steinberg, IBM
  694. Dean Throop, Data General
  695. Unni Warrier, Unisys
  696. Rose & McCloghrie [Page 20]
  697. RFC 1065 SMI August 1988
  698. 8. References
  699. [1] Information processing systems - Open Systems Interconnection,
  700. "Specification of Abstract Syntax Notation One (ASN.1)",
  701. International Organization for Standardization, International
  702. Standard 8824, December 1987.
  703. [2] McCloghrie K., and M. Rose, "Management Information Base for
  704. Network Management of TCP/IP-based internets", RFC 1066, TWG,
  705. August 1988.
  706. [3] Case, J., M. Fedor, M. Schoffstall, and J. Davin, The Simple
  707. Network Management Protocol", RFC 1067, University of Tennessee
  708. at Knoxville, NYSERNet, Rensselaer Polytechnic, Proteon, August
  709. 1988.
  710. [4] LaBarre, L., "Structure and Identification of Management
  711. Information for the Internet", Internet Engineering Task Force
  712. working note, Network Information Center, SRI International,
  713. Menlo Park, California, April 1988.
  714. [5] Cerf, V., "IAB Recommendations for the Development of Internet
  715. Network Management Standards", RFC 1052, IAB, April 1988.
  716. [6] Information processing systems - Open Systems Interconnection,
  717. "Specification of Basic Encoding Rules for Abstract Notation One
  718. (ASN.1)", International Organization for Standardization,
  719. International Standard 8825, December 1987.
  720. Rose & McCloghrie [Page 21]