::= {tAggrCtlTable 1 }
TAggrCtlEntry ::= SEQUENCE {
tAggrCtlEntryID
SnmpAdminString,
tAggrCtlMOInstance
OBJECT IDENTIFIER,
tAggrCtlAgMODescr
SnmpAdminString,
tAggrCtlInterval
Integer32,
tAggrCtlSamples
Integer32,
tAggrCtlCompressionAlgorithm
INTEGER,
tAggrCtlEntryOwner
OwnerString,
tAggrCtlEntryStorageType
StorageType,
tAggrCtlEntryStatus
RowStatus
}
tAggrCtlEntryID OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A locally unique, administratively assigned name
for this aggregated MO. It is used as an index to
uniquely identify this row in the table."
::= { tAggrCtlEntry 1 }
tAggrCtlMOInstance OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The sampled values of this MO instance will be
aggregated by the TAgMO.
"
::= { tAggrCtlEntry 2 }
tAggrCtlAgMODescr OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..64))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A textual description of the aggregate object."
::= {tAggrCtlEntry 3}
tAggrCtlInterval OBJECT-TYPE
SYNTAX Integer32
UNITS "micro seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval, in microseconds, at which the MO instance
pointed at by tAggrInstance will be sampled for
Time-Based aggregation.
"
::= {tAggrCtlEntry 4}
tAggrCtlSamples OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of times at which the MO instance referred
to by tAggrInstance will be sampled for Time-Based
aggregation."
::= {tAggrCtlEntry 5}
-- only one compression algorithm is defined as of now.
tAggrCtlCompressionAlgorithm OBJECT-TYPE
SYNTAX INTEGER {
none (1),
deflate (2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The compression algorithm that will be used by
the agent to compress the value of the TAgMO.
The deflate algorithm and corresponding data format
specification is described in RFC 1951. It is
compatible with the widely used gzip utility.
"
REFERENCE
"RFC1951 : DEFLATE Compressed Data Format Specification
version 1.3
"
DEFVAL { none }
::= {tAggrCtlEntry 6}
tAggrCtlEntryOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A textual description of the entity that created
this entry.
"
::= {tAggrCtlEntry 7}
tAggrCtlEntryStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines whether the parameters defined in
this row are kept in volatile storage and lost upon
reboot or backed up by non-volatile (permanent)
storage.
Conceptual rows having the value ’permanent’ need not
allow write-access to any columnar objects in the row.
"
::= {tAggrCtlEntry 8}
tAggrCtlEntryStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The row status variable, used according to row
installation and removal conventions.
Objects in a row can be modified only when the value of
this object in the corresponding conceptual row is not
’active’.
Thus, to modify one or more of the objects in this
conceptual row,
a. change the row status to ’notInService’,
b. change the values of the row, and
c. change the row status to ’active’.
The tAggrCtlEntryStatus may be changed to ’active’ iff
all the MOs in the conceptual row have been assigned
valid values.
"
::= {tAggrCtlEntry 9}
--
-- tAggrDataTable: The data table.
--
tAggrDataTable OBJECT-TYPE
SYNTAX SEQUENCE OF TAggrDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This is the data table. Each row of this table contains
information about a TAgMO indexed by tAggrCtlEntryID.
tAggrCtlEntryID is the key to the table. It is used to
identify instances of the TAgMO that are present in the
table.
"
::= {tAggrMIB 2}
tAggrDataEntry OBJECT-TYPE
SYNTAX TAggrDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Entry containing information pertaining
to a TAgMO."
INDEX {tAggrCtlEntryID}
::= {tAggrDataTable 1 }
TAggrDataEntry ::= SEQUENCE {
tAggrDataRecord
TimeAggrMOValue,
tAggrDataRecordCompressed
CompressedTimeAggrMOValue,
tAggrDataErrorRecord
TAggrMOErrorStatus
}
tAggrDataRecord OBJECT-TYPE
SYNTAX TimeAggrMOValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The snapshot value of the TAgMO."
::= { tAggrDataEntry 1}
tAggrDataRecordCompressed OBJECT-TYPE
SYNTAX CompressedTimeAggrMOValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The compressed value of the TAgMO.
The compression algorithm will depend on the
tAggrCtlCompressionAlgorithm given in the corresponding
tAggrCtlEntry. If the value of the corresponding
tAggrCtlCompressionAlgorithm is (1) ’none’, then the
value of all instances of this object will be a string
of zero length.
Note that the access privileges to this object will be
governed by the access privileges of the corresponding MO
instance. Thus, an entity attempting to access an
instance of this MO MUST have access rights to the
instance object pointed at by tAggrCtlMOInstance and this
MO instance.
"
::= { tAggrDataEntry 2}
tAggrDataErrorRecord OBJECT-TYPE
SYNTAX TAggrMOErrorStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The error status corresponding to the MO instance
samples aggregated in tAggrDataRecord (and
tAggrDataRecordCompressed)."
::= { tAggrDataEntry 3}
-- Conformance information
tAggrConformance OBJECT IDENTIFIER ::= { tAggrMIB 3 }
tAggrGroups OBJECT IDENTIFIER ::= { tAggrConformance 1 }
tAggrCompliances OBJECT IDENTIFIER ::= { tAggrConformance 2 }
-- Compliance statements
tAggrMibCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMP entities
that implement the TIME-AGGREGATE-MIB."
MODULE -- this module
MANDATORY-GROUPS { tAggrMibBasicGroup }
::= { tAggrCompliances 1 }
-- Units of conformance
tAggrMibBasicGroup OBJECT-GROUP
OBJECTS {
tAggrCtlMOInstance,
tAggrCtlAgMODescr,
tAggrCtlInterval,
tAggrCtlSamples,
tAggrCtlCompressionAlgorithm,
tAggrCtlEntryOwner,
tAggrCtlEntryStorageType,
tAggrCtlEntryStatus,
tAggrDataRecord,
tAggrDataRecordCompressed,
tAggrDataErrorRecord
}
STATUS current
DESCRIPTION
"A collection of objects for Time-Based aggregation
of MOs."
::= { tAggrGroups 1 }
END
7. Security Considerations
There are management objects in the MIB modules defined in this
document that have a MAX-ACCESS clause of read-create. Such objects
may be considered sensitive or vulnerable in some network
environments. The support for SET operations in a non-secure
environment without proper protection can have a negative effect on
network operations. The objects and corresponding vulnerabilities
are discussed below.
The following MOs are used to configure an agent that implements the
aggregate MIB modules.
aggrCtlMOIndex,
aggrCtlMODescr,
aggrCtlCompressionAlgorithm,
aggrCtlEntryOwner,
aggrCtlEntryStorageType,
aggrCtlEntryStatus,
aggrMOInstance,
aggrMODescr,
aggrMOEntryStorageType,
aggrMOEntryStatus,
tAggrCtlMOInstance,
tAggrCtlAgMODescr,
tAggrCtlInterval,
tAggrCtlSamples,
tAggrCtlCompressionAlgorithm,
tAggrCtlEntryOwner,
tAggrCtlEntryStorageType,
tAggrCtlEntryStatus,
Access to these objects may be abused to affect the operation of the
data collection system. In particular,
- by changing the value of an instance of aggrCtlEntryStatus,
tAggrCtlEntryStatus, aggrMOEntryStatus, or tAggrMOEntryStatus
to ’notInService’ or ’destroy’, the data aggregation operation
for the corresponding entry will become unavailable to the
management system.
- by changing the value of an instance of aggrMOInstance or
tAggrCtlMOInstance, the data aggregation operation may be
subverted. This may result in wrong information being fed to
the management system.
- by adding several rows in the aggrMOTable corresponding to an
aggregate MO, it is possible to make the value of the aggregate
MOs very large. A similar effect may be achieved by
manipulating the value of the tAggrCtlSamples instance
corresponding to a Time-Based aggregate MO. This could result
in very heavy management traffic and/or fragmentation of
response packets. In some cases the responder may refuse to
send the data and will simply respond with an error message
indicating that the response packet size is too big.
An entity attempting to access an instance of an aggregated MO MUST
have access rights to all the component instance objects and the
aggregate MO instance. An implementation MUST follow this
requirement. Lax adherence to this requirement will breach the
security model and make the system vulnerable to illegal accesses.
SNMP versions prior to SNMPv3 did not include adequate security.
Even if the network itself is secure (for example by using IPSec),
there is no control as to who on the secure network is allowed to
access and GET/SET (read/change/create/delete) the objects in this
MIB module.
It is RECOMMENDED that implementers consider the security features as
provided by the SNMPv3 framework (see [RFC3410], section 8),
including full support for the SNMPv3 cryptographic mechanisms (for
authentication and privacy).
Further, deployment of SNMP versions prior to SNMPv3 is NOT
RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
enable cryptographic security. It is then a customer/operator
responsibility to ensure that the SNMP entity giving access to an
instance of this MIB module is properly configured to give access to
the objects only to those principals (users) that have legitimate
rights to indeed GET or SET (change/create/delete) them.
8. IANA Considerations
The MIB modules in this document use the following IANA-assigned
OBJECT IDENTIFIER values, recorded in the SMI Numbers registry:
Descriptor OBJECT IDENTIFIER value
---------- -----------------------
aggrMIB { experimental 123 }
tAggrMIB { experimental 124 }
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
"Structure of Management Information Version 2 (SMIv2)",
STD 58, RFC 2578, April 1999.
[RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual
Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
"Conformance Statements for SMIv2", STD 58, RFC 2580, April
1999.
[RFC2819] Waldbusser, S., "Remote Network Monitoring Management
Information Base", STD 59, RFC 2819, May 2000.
[RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing Simple Network Management
Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
December 2002.
[RFC3231] Levi, D. and J. Schoenwaelder, "Definitions of Managed
Objects for Scheduling Management Operations", RFC 3231,
January 2002.
[RFC1951] Deutsch, P., "DEFLATE Compressed Data Format Specification
version 1.3", RFC 1951, May 1996.
9.2. Informative References
[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
"Introduction and Applicability Statements for Internet-
Standard Management Framework", RFC 3410, December 2002.
10. Acknowledgements
This document is the product of discussions and deliberations carried
out in the WIDE-netman group. Bert Wijnen and Glenn Waters reviewed
the document and provided valuable comments.
Authors’ Addresses
Glenn Mansfield Keeni
Cyber Solutions Inc.
6-6-3 Minami Yoshinari
Aoba-ku, Sendai 989-3204
Japan
Phone: +81-22-303-4012
EMail: glenn@cysols.com
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78 and at www.rfc-editor.org/copyright.html, and
except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).