RFC 1318
Definitions of Managed Objects for Parallel-printer-like Hardware Devices
Request for Comments: 1318 π Definitions of Managed Objects for Parallel-printer-like Hardware Devices
okay bestie, here's the cover page info π
- Network Working Group π
- Who wrote it: B. Stewart, the Editor, from Xyplex, Inc. β¨
- Category: an IAB standards track protocol π¦
- Date: April 1992 πΈ
- Obsoletes / Updates: the title block doesn't say this one obsoletes or updates anything π
Status of This Memo β¨
okay this part is the official-sounding bit, but it's important π«Ά This document specifies an IAB standards track protocol for the Internet community, and it requests discussion and suggestions for improvements. For the standardization state and status of this protocol, check the current edition of the "IAB Official Protocol Standards". Distribution of this memo is unlimited π
1. Abstract π
so this memo defines a piece of the Management Information Base (MIB) for use with network management protocols in TCP/IP based internets. specifically, it defines objects for managing parallel-printer-like devices π¨οΈ
2. The Network Management Framework π§
the Internet-standard Network Management Framework is made of three components, and they're giving teamwork π
- RFC 1155 defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. RFC 1212 defines a more concise description mechanism, which is wholly consistent with the SMI.
- RFC 1156 defines MIB-I, the core set of managed objects for the Internet suite of protocols. RFC 1213, defines MIB-II, an evolution of MIB-I based on implementation experience and new operational requirements.
- RFC 1157 defines the SNMP, the protocol used for network access to managed objects.
and the Framework lets people define new objects for experimenting and evaluating stuff, which is so iconic π
3. Objects π¦
managed objects get accessed through a virtual information store, called the Management Information Base or MIB π«§
objects in the MIB are defined using a subset of Abstract Syntax Notation One (ASN.1) [7], the subset defined in the SMI. so each object has a name, a syntax, and an encoding. the name is an object identifier, an administratively assigned name, which specifies an object type π
the object type together with an object instance is how you uniquely identify one specific instantiation of the object. for human convenience, we often use a textual string, called the OBJECT DESCRIPTOR, to also refer to the object type π§
the syntax of an object type defines the abstract data structure that matches that object type, and the ASN.1 language is used for this. however, the SMI [3] purposely restricts which ASN.1 constructs can be used. these restrictions are explicitly made for simplicity β¨
the encoding of an object type is simply how that object type is represented using the object type's syntax. implicitly tied to the syntax and encoding is how the object type gets represented when it's transmitted on the network π¦
the SMI specifies the use of the basic encoding rules of ASN.1 [8], subject to the additional requirements imposed by the SNMP πΈ
3.1. Format of Definitions π
Section 5 contains the specification of all object types in this MIB module. the object types are defined using the conventions in the SMI, as amended by the extensions specified in [9,10] π
4. Overview π
the Parallel-printer-like Hardware Device MIB applies to interface ports that might logically support the Interface MIB, a Transmission MIB, or the Character MIB (most likely the latter). the most common example is a Centronics or Data Products type parallel printer port π¨οΈ
the Parallel-printer-like MIB is one of a set of MIBs designed to be used together. at this writing, the set includes:
Character MIB
PPP MIB
RS-232-like MIB
Parallel-printer-like MIB
the RS-232-like MIB and the Parallel-printer-like MIB represent the physical layer, providing service to higher layers such as the Character MIB or PPP MIB. more MIBs may show up above these π
the following diagram shows two possible "MIB stacks", each using the RS-232-like MIB π«Ά
.-----------------.
.-----------------. | Standard MIB |
| Telnet MIB | | Interface Group |
|-----------------| |-----------------|
| Character MIB | | PPP MIB |
|-----------------| |-----------------|
| RS-232-like MIB | | RS-232-like MIB |
`-----------------' `-----------------'
the intent of the model is for the physical-level MIBs to represent the lowest level, no matter which higher level is using them. then separate higher level MIBs represent specific applications, like a terminal (the Character MIB) or a network connection (the PPP MIB) π
the Parallel-printer-like MIB is mandatory for all systems that have a hardware port like this, where that port supports services managed through some other MIB, for example, the Character MIB π₯
the Parallel-printer-like MIB includes multiple similar types of hardware, so it contains objects that don't apply to all of those types. those objects sit in a separate branch of the MIB, which is required when applicable and otherwise absent π
the Parallel-printer-like MIB includes Centronics, Data Products, and other parallel physical links that have a similar set of control signals β¨
the MIB contains objects that relate to physical layer connections. those connections can provide interesting hardware signals (other than for basic data transfer), like Power and PaperOut π¦
the MIB comprises one base object and three tables, detailed in the following sections. the tables hold objects for ports and for input and output control signals π
5. Definitions β¨
okay bestie, here's the actual MIB module, the full copy-paste-ready definitions π it's long, but every single line matters so don't skip any π«Ά
RFC1318-MIB DEFINITIONS ::= BEGIN
IMPORTS
Counter
FROM RFC1155-SMI
transmission
FROM RFC1213-MIB
OBJECT-TYPE
FROM RFC-1212;
-- this is the MIB module for Parallel-printer-like
-- hardware devices
para OBJECT IDENTIFIER ::= { transmission 34 }
-- the generic Parallel-printer-like group
-- Implementation of this group is mandatory for all
-- systems that have Parallel-printer-like hardware
-- ports supporting higher level services such as
-- character streams
paraNumber OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ports (regardless of their current
state) in the Parallel-printer-like port table."
::= { para 1 }
-- the Parallel-printer-like Port table
paraPortTable OBJECT-TYPE
SYNTAX SEQUENCE OF ParaPortEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of port entries. The number of entries is
given by the value of paraNumber."
::= { para 2 }
paraPortEntry OBJECT-TYPE
SYNTAX ParaPortEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Status and parameter values for a port."
INDEX { paraPortIndex }
::= { paraPortTable 1 }
ParaPortEntry ::=
SEQUENCE {
paraPortIndex
INTEGER,
paraPortType
INTEGER,
paraPortInSigNumber
INTEGER,
paraPortOutSigNumber
INTEGER
}
paraPortIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique value for each port. Its value ranges
between 1 and the value of paraNumber. By
convention and if possible, hardware port numbers
map directly to external connectors. The value for
each port must remain constant at least from one
re-initialization of the network management agent to
the next."
::= { paraPortEntry 1 }
paraPortType OBJECT-TYPE
SYNTAX INTEGER {
other(1),
centronics(2),
dataproducts(3)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The port's hardware type."
::= { paraPortEntry 2 }
paraPortInSigNumber OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of input signals for the port in the
input signal table (paraPortInSigTable). The table
contains entries only for those signals the software
can detect."
::= { paraPortEntry 3 }
paraPortOutSigNumber OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of output signals for the port in the
output signal table (paraPortOutSigTable). The
table contains entries only for those signals the
software can assert."
::= { paraPortEntry 4 }
-- the Input Signal table
paraInSigTable OBJECT-TYPE
SYNTAX SEQUENCE OF ParaInSigEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of port input control signal entries."
::= { para 3 }
paraInSigEntry OBJECT-TYPE
SYNTAX ParaInSigEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Input control signal status for a hardware port."
INDEX { paraInSigPortIndex, paraInSigName }
::= { paraInSigTable 1 }
ParaInSigEntry ::=
SEQUENCE {
paraInSigPortIndex
INTEGER,
paraInSigName
INTEGER,
paraInSigState
INTEGER,
paraInSigChanges
Counter
}
paraInSigPortIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of paraPortIndex for the port to which
this entry belongs."
::= { paraInSigEntry 1 }
paraInSigName OBJECT-TYPE
SYNTAX INTEGER { power(1), online(2), busy(3),
paperout(4), fault(5) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Identification of a hardware signal."
::= { paraInSigEntry 2 }
paraInSigState OBJECT-TYPE
SYNTAX INTEGER { none(1), on(2), off(3) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The current signal state."
::= { paraInSigEntry 3 }
paraInSigChanges OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times the signal has changed from
'on' to 'off' or from 'off' to 'on'."
::= { paraInSigEntry 4 }
-- the Output Signal table
paraOutSigTable OBJECT-TYPE
SYNTAX SEQUENCE OF ParaOutSigEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of port output control signal entries."
::= { para 4 }
paraOutSigEntry OBJECT-TYPE
SYNTAX ParaOutSigEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Output control signal status for a hardware port."
INDEX { paraOutSigPortIndex, paraOutSigName }
::= { paraOutSigTable 1 }
ParaOutSigEntry ::=
SEQUENCE {
paraOutSigPortIndex
INTEGER,
paraOutSigName
INTEGER,
paraOutSigState
INTEGER,
paraOutSigChanges
Counter
}
paraOutSigPortIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of paraPortIndex for the port to which
this entry belongs."
::= { paraOutSigEntry 1 }
paraOutSigName OBJECT-TYPE
SYNTAX INTEGER { power(1), online(2), busy(3),
paperout(4), fault(5) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Identification of a hardware signal."
::= { paraOutSigEntry 2 }
paraOutSigState OBJECT-TYPE
SYNTAX INTEGER { none(1), on(2), off(3) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The current signal state."
::= { paraOutSigEntry 3 }
paraOutSigChanges OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times the signal has changed from
'on' to 'off' or from 'off' to 'on'."
::= { paraOutSigEntry 4 }
END
6. Acknowledgements π«Ά
okay so this doc was built from a bunch of private MIBs, and the Character MIB Working Group is the squad that pulled it all together π huge shoutout to everyone on this list, iykyk π
- Anne Ambler, Spider
- Charles Bazaar, Emulex
- Christopher Bucci, Datability
- Anthony Chung, Hughes LAN Systems
- George Conant, Xyplex
- John Cook, Chipcom
- James Davin, MIT-LCS
- Shawn Gallagher, DEC
- Tom Grant, Xylogics
- Frank Huang, Emulex
- David Jordan, Emulex
- Satish Joshi, SynOptics
- Frank Kastenholz, Clearpoint
- Ken Key, University of Tennessee
- Jim Kinder, Fibercom
- Rajeev Kochhar, 3Com
- John LoVerso, Xylogics
- Keith McCloghrie, Hughes LAN Systems
- Donald Merritt, BRL
- David Perkins, 3Com
- Jim Reinstedler, Ungerman-Bass
- Marshall Rose, PSI
- Ron Strich, SSDS
- Dean Throop, DG
- Bill Townsend, Xylogics
- Jesse Walker, DEC
- David Waitzman, BBN
- Bill Westfield, cisco
7. References π
here's the full reading list, all ten of them, so you can go deep if you want π§
- [1] Cerf, V., "IAB Recommendations for the Development of Internet Network Management Standards", RFC 1052, NRI, April 1988.
- [2] Cerf, V., "Report of the Second Ad Hoc Network Management Review Group", RFC 1109, NRI, August 1989.
- [3] Rose M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based internets", RFC 1155, Performance Systems International, Hughes LAN Systems, May 1990.
- [4] McCloghrie K., and M. Rose, "Management Information Base for Network Management of TCP/IP-based internets", RFC 1156, Hughes LAN Systems, Performance Systems International, May 1990.
- [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, Simple Network Management Protocol", RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990.
- [6] McCloghrie K., and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets", RFC 1213, Performance Systems International, March 1991.
- [7] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization, International Standard 8824, December 1987.
- [8] Information processing systems - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Notation One (ASN.1), International Organization for Standardization, International Standard 8825, December 1987.
- [9] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions", RFC 1212, Performance Systems International, Hughes LAN Systems, March 1991.
- [10] Rose, M., Editor, "A Convention for Defining Traps for use with the SNMP", RFC 1215, Performance Systems International, March 1991.
8. Security Considerations π
okay this is the part where I have to be real with you π security issues are not discussed in this memo. so keep that in mind fr fr, it's a big deal and you should not skip past it π
9. Author's Address π
the author, Bob Stewart, is the one to reach out to if you have questions π
Bob Stewart
Xyplex, Inc.
330 Codman Hill Road
Boxborough, MA 01719
Phone: (508) 264-9900
EMail: rlstewart@eng.xyplex.com
π¦ where this page comes from
- ietf: rfc1318 1992-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms