draft-ietf-rmonmib-rmon2-v2-04.txt   draft-ietf-rmonmib-rmon2-v2-05.txt 
Remote Network Monitoring Remote Network Monitoring
Management Information Base Management Information Base
Version 2 Version 2
<draft-ietf-rmonmib-rmon2-v2-04.txt> <draft-ietf-rmonmib-rmon2-v2-05.txt>
August 21, 2005 October 3, 2005
Steven Waldbusser Steven Waldbusser
waldbusser@nextbeacon.com waldbusser@nextbeacon.com
Status of this Memo Status of this Memo
This document is an Internet-Draft and is subject to all This document is an Internet-Draft and is subject to all
provisions of Section 3 of RFC 3978. provisions of Section 3 of RFC 3978.
skipping to change at page 2, line ? skipping to change at page 2, line ?
other documents at any time. It is inappropriate to use other documents at any time. It is inappropriate to use
Internet-Drafts as reference material or to cite them other Internet-Drafts as reference material or to cite them other
than as "work in progress." than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be The list of Internet-Draft Shadow Directories can be
accessed at http://www.ietf.org/shadow.html. accessed at http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 21, 2006. This Internet-Draft will expire on April 3, 2006.
Distribution of this document is unlimited. Please send Distribution of this document is unlimited. Please send
comments to the RMON WG mailing list <rmonmib@ietf.org>. comments to the RMON WG mailing list <rmonmib@ietf.org>.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
skipping to change at page 2, line ? skipping to change at page 2, line ?
3 Control of Remote Network Monitoring Devices .......... 9 3 Control of Remote Network Monitoring Devices .......... 9
3.1 Resource Sharing Among Multiple Management Sta- 3.1 Resource Sharing Among Multiple Management Sta-
tions .............................................. 9 tions .............................................. 9
3.2 Row Addition Among Multiple Management Stations ..... 11 3.2 Row Addition Among Multiple Management Stations ..... 11
4 Conventions ........................................... 14 4 Conventions ........................................... 14
5 RMON 2 Conventions .................................... 15 5 RMON 2 Conventions .................................... 15
5.1 Usage of the term Application Level ................. 15 5.1 Usage of the term Application Level ................. 15
5.2 Protocol Directory and Limited Extensibility ........ 15 5.2 Protocol Directory and Limited Extensibility ........ 15
5.3 Errors in packets ................................... 16 5.3 Errors in packets ................................... 16
6 Definitions ........................................... 16 6 Definitions ........................................... 16
7 Security Considerations ............................... 146 7 Security Considerations ............................... 149
8 IANA Considerations ................................... 147 8 IANA Considerations ................................... 150
9 Appendix - TimeFilter Implementation Notes ............ 148 9 Appendix - TimeFilter Implementation Notes ............ 151
10 Changes since RFC 2021 ............................... 154 10 Changes since RFC 2021 ............................... 157
11 Acknowledgments ...................................... 157 11 Acknowledgments ...................................... 160
12 Author's Address ..................................... 157 12 Author's Address ..................................... 160
13 References ........................................... 158 13 References ........................................... 161
13.1 Normative References ............................... 158 13.1 Normative References ............................... 161
13.2 Informative References ............................. 159 13.2 Informative References ............................. 162
14 Full Copyright Statement ............................. 159 14 Full Copyright Statement ............................. 162
1. The Internet-Standard Management Framework 1. The Internet-Standard Management Framework
For a detailed overview of the documents that describe the For a detailed overview of the documents that describe the
current Internet-Standard Management Framework, please current Internet-Standard Management Framework, please
refer to section 7 of RFC 3410 [RFC3410]. refer to section 7 of RFC 3410 [RFC3410].
Managed objects are accessed via a virtual information Managed objects are accessed via a virtual information
store, termed the Management Information Base or MIB. MIB store, termed the Management Information Base or MIB. MIB
objects are generally accessed through the Simple Network objects are generally accessed through the Simple Network
skipping to change at page 17, line 10 skipping to change at page 17, line 10
OwnerString, statistics, history, hosts, OwnerString, statistics, history, hosts,
matrix, filter, etherStatsEntry, historyControlEntry, matrix, filter, etherStatsEntry, historyControlEntry,
hostControlEntry, matrixControlEntry, filterEntry, hostControlEntry, matrixControlEntry, filterEntry,
channelEntry FROM RMON-MIB channelEntry FROM RMON-MIB
tokenRing, tokenRingMLStatsEntry, tokenRingPStatsEntry, tokenRing, tokenRingMLStatsEntry, tokenRingPStatsEntry,
ringStationControlEntry, sourceRoutingStatsEntry ringStationControlEntry, sourceRoutingStatsEntry
FROM TOKEN-RING-RMON-MIB; FROM TOKEN-RING-RMON-MIB;
-- Remote Network Monitoring MIB -- Remote Network Monitoring MIB
rmon MODULE-IDENTITY rmon MODULE-IDENTITY
LAST-UPDATED "200508211500Z" -- August 21, 2005 LAST-UPDATED "200510031500Z" -- October 3, 2005
ORGANIZATION "IETF RMON MIB Working Group" ORGANIZATION "IETF RMON MIB Working Group"
CONTACT-INFO CONTACT-INFO
"Author: "Author:
Steve Waldbusser Steve Waldbusser
Phone: +1-650-948-6500 Phone: +1-650-948-6500
Fax : +1-650-745-0671 Fax : +1-650-745-0671
Email: waldbusser@nextbeacon.com Email: waldbusser@nextbeacon.com
Working Group Chair: Working Group Chair:
Andy Bierman Andy Bierman
skipping to change at page 17, line 35 skipping to change at page 17, line 35
DESCRIPTION DESCRIPTION
"The MIB module for managing remote monitoring "The MIB module for managing remote monitoring
device implementations. This MIB module device implementations. This MIB module
extends the architecture introduced in the original extends the architecture introduced in the original
RMON MIB as specified in RFC 2819. RMON MIB as specified in RFC 2819.
Copyright (C) The Internet Society (2005). This version of Copyright (C) The Internet Society (2005). This version of
this MIB module is part of RFC yyyy; see the RFC itself for this MIB module is part of RFC yyyy; see the RFC itself for
full legal notices." full legal notices."
REVISION "200508211500Z" -- August 21, 2005 REVISION "200510031500Z" -- October 3, 2005
DESCRIPTION DESCRIPTION
"This version updates the proposed-standard version of the "This version updates the proposed-standard version of the
RMON2 MIB (published as RFC 2021) by adding 2 new enumerations RMON2 MIB (published as RFC 2021) by adding 2 new enumerations
to the nlMatrixTopNControlRateBase object and 4 new to the nlMatrixTopNControlRateBase object and 4 new
enumerations to the alMatrixTopNControlRateBase object. These enumerations to the alMatrixTopNControlRateBase object. These
new enumerations support the creation of high capacity topN new enumerations support the creation of high capacity topN
reports in the High Capacity RMON MIB [RFC3273]. reports in the High Capacity RMON MIB [RFC3273].
Additionally, the following objects have been deprecated as Additionally, the following objects have been deprecated as
they have not had enough independent implementations to they have not had enough independent implementations to
skipping to change at page 22, line 8 skipping to change at page 22, line 8
then increment around to zero; in this case, existing values then increment around to zero; in this case, existing values
of TimeStamp objects do not change. This can lead to of TimeStamp objects do not change. This can lead to
ambiguities in the value of TimeStamp objects." ambiguities in the value of TimeStamp objects."
SYNTAX TimeTicks SYNTAX TimeTicks
TimeFilter ::= TEXTUAL-CONVENTION TimeFilter ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"To be used for the index to a table. Allows an application "To be used for the index to a table. Allows an application
to download only those rows changed since a particular time. to download only those rows changed since a particular time.
A row is considered changed if the value of any object in the Note that this is not a history mechanism. Only current values
row changes, if the row is created, or if any object in the of underlying objects are returned, not saved instance values
row is created or deleted. Note that deleted rows cannot be associated with particular values of sysUpTime.
detected or downloaded.
An entry is considered changed if the value of any object in the
entry changes, if the row is created, or if any object in the
entry is created or deleted. Note that deleted entries cannot
be detected or downloaded.
A time-filtered conceptual table is created by inserting a
single object of SYNTAX TimeFilter as the first INDEX component
in a copy of an existing basic conceptual table (i.e., any
SEQUENCE without a TimeFilter INDEX component). Thus, for
each conceptual entry 'I' in the basic table, there exists N
conceptual entries in the time-filtered version, (indexed N.I)
where 'N' is equal to the value of sysUpTime.
When an application retrieves conceptual instances from a
time-filtered table, and an INDEX value is provided for the
TimeFilter INDEX component 'N', the agent will only consider
returning basic conceptual entries (e.g., 'fooColumn.N.I') if
any column within the basic conceptual entry has changed since
sysUpTime equals 'N'. If not, the basic conceptual entry will
be ignored for the particular retrieval operation.
When sysUpTime is equal to zero, this table shall be empty. When sysUpTime is equal to zero, this table shall be empty.
One entry exists for each past value of sysUpTime, except that One conceptual entry exists for each past value of sysUpTime,
the whole table is purged should sysUpTime wrap. except that the whole table is purged should sysUpTime wrap.
As this basic row is updated new conceptual rows are created As an entry in a time-filtered table is updated (i.e., one of
(which still share the now updated object values with all the columns in the basic conceptual table is changed), new
other instances). The number of instances which are created conceptual entries are also created in the time-filtered version
is determined by the value of sysUpTime at which the basic row (which still share the now updated object values with all other
was last updated. One instance will exist for each value of instances). The number of unique time-filtered instances which
sysUpTime at the last update time for the row. A new are created is determined by the value of sysUpTime at which the
timeMark instance is created for each new sysUpTime value. basic entry was last updated. One unique instance will exist
Each new conceptual row will be associated with the timeMark for each value of sysUpTime at the last update time for the row.
instance which was created at the value of sysUpTime with However, a new TimeFilter index instance is created for each new
which the conceptual row is to be associated. sysUpTime value. The TimeFilter index values not associated
with entry updates are called duplicate time-filtered instances.
By definition all conceptual rows were updated at or after After some deployment experience, it has been determined that
time zero and so at least one conceptual row (associated with a time-filtered table is more efficient to use if the agent
timeMark.0) must exist for each underlying (basic) row. stops a 'MIB walk' operation by skipping over rows with a
TimeFilter index value higher than the value in the received
GetNext/GetBulk request. That is, instead of incrementing a
TimeFilter index value, the agent will continue to the next
object or table. As a consequence, GetNext or GetBulk
operations will provide only one pass through a time-filtered
table.
See the appendix for further discussion of this variable. It is suggested for an agent to implement a time-filtered table
in this manner to improve performance and avoid a 'MIB walk'
getting stuck in time-filtered tables. It is, however, still
acceptable for an agent to implement a time-filtered table in
the traditional manner (i.e., every conceptual time-filtered
instance is returned in GetNext and GetBulk PDU responses) and
management applications must be able to deal with such
traditional implementations.
Consider the following fooTable: See the appendix for further discussion of this textual
convention.
The following example is provided to demonstrate TimeFilter
behavior:
Consider the following basic conceptual table basicFooTable
(Note that the basic version of a time-filtered table may not
actually be defined.)
basicFooTable:
basicFooTable ...
INDEX { fooIndex }
BasicFooEntry {
fooIndex Integer32,
fooCounts Counter32
}
For this example, the basicFooTable contains two static
conceptual entries (fooIndex equals '1' and '2'), created at
time zero. It also contains one dynamic conceptual entry
(fooIndex equals '3'), which is created at time '3' and deleted
at time '7'.
The time-filtered version of the basicFooTable could be defined
as follows:
FooTable:
fooTable ... fooTable ...
INDEX { fooTimeMark, fooIndex } INDEX { fooTimeMark, fooIndex }
FooEntry { FooEntry {
fooTimeMark TimeFilter fooTimeMark TimeFilter,
fooIndex INTEGER, fooIndex Integer32,
fooCounts Counter fooCounts Counter32
} }
Should there be two basic rows in this table (fooIndex == 1, Note that entries exist in the time-filtered conceptual table
fooIndex == 2) and row 1 was updated most recently at time 6, only if they actually exist in the underlying (basic) table.
while row 2 was updated most recently at time 8, and both rows
had been updated on several earlier occasions such that the
current values were 5 and 9 respectively then the following
fooCounts instances would exist.
fooCounts.0.1 5 For this example, the fooTable will have three underlying
fooCounts.0.2 9 basic entries (fooIndex == 1, 2, and 3), with the following
fooCounts.1.1 5 activity (for sysUpTime equal 0 to 9):
fooCounts.1.2 9
fooCounts.2.1 5 - fooEntry.N.1 is created at time '0', and most recently
fooCounts.2.2 9 updated at time '6' to the value '5'.
- fooEntry.N.2 is created at time '0', and most recently
updated at time '8' to the value '9'.
- fooEntry.N.3 is created at time '3', updated at time '5'
to the value '17', and deleted at time '7'.
The following tables show the values that would be returned for
'MIB walk' operations with various TimeFilter values, done at
different times. An application issues a retrieval request at
time 'T', with a TimeFilter value 'N' (typically set to a lower
value, such as the value of sysUpTime at the last polling cycle).
The following values would be returned in a MIB walk of
fooCounts.N if T equals '0' and N equals '0':
fooCounts.N.I Value
==========================
fooCounts.0.1 0
fooCounts.0.2 0
Note there is nothing returned for fooCounts.0.3 since that
entry does not exist at sysUpTime equals '0'.
The following values would be returned in a full (traditional) MIB
walk of fooCounts.N if T equals '3' and N equals '0':
fooCounts.N.I Value
=======================
fooCounts.0.1 0
fooCounts.0.2 0
fooCounts.0.3 0
fooCounts.1.3 0
fooCounts.2.3 0
fooCounts.3.3 0
Note that there are no instances for T equals 1 or 2, for the
first two values of N, since these entries did not change
since they were created at time '0'.
Note that the current value for 'fooCounts.N.3' is returned
here, even for values of N less than '3' (when the entry was
created). The agent only considers the current existence of an
entry in the TimeFilter algorithm, not the time when the entry
was created.
Note that the instances 'fooCounts.0.3', 'fooCounts.1.3'
and 'fooCounts.2.3' are duplicates and can be suppressed by the
agent in a MIB walk.
The following values would be returned in a full (traditional)
MIB walk of fooCounts.N if T equals '6' and N equals '3':
fooCounts.N.I Value
=======================
fooCounts.3.1 5 fooCounts.3.1 5
fooCounts.3.2 9 fooCounts.3.3 17
fooCounts.4.1 5 fooCounts.4.1 5
fooCounts.4.2 9 fooCounts.4.3 17
fooCounts.5.1 5 fooCounts.5.1 5
fooCounts.5.2 9 fooCounts.5.3 17
fooCounts.6.1 5
Note that no instances for entry 'fooCounts.N.2' are returned
since it has not changed since time '3'.
Note that all instances except 'fooCounts.5.3' and
'fooCounts.6.1' are duplicates and can be suppressed by the
agent in a MIB walk.
The following values would be returned in a full (traditional)
MIB walk of fooCounts.N if T equals '9' and N equals '6':
fooCounts.N.I Value
=======================
fooCounts.6.1 5 fooCounts.6.1 5
fooCounts.6.2 9 fooCounts.6.2 9
fooCounts.7.2 9 -- note that row 1 doesn't exist for fooCounts.7.2 9
fooCounts.8.2 9 -- times 7 and 8" fooCounts.8.2 9
Note that no instances for entry 'fooCounts.N.3' are returned
since it was deleted at time '7'.
Note that instances 'fooCounts.6.2' and 'fooCounts.7.2'
are duplicates and can be suppressed by the agent in a MIB
walk."
SYNTAX TimeTicks SYNTAX TimeTicks
DataSource ::= TEXTUAL-CONVENTION DataSource ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Identifies the source of the data that the associated "Identifies the source of the data that the associated
function is configured to analyze. This source can be any function is configured to analyze. This source can be any
interface on this device. interface on this device.
In order to identify a particular interface, this In order to identify a particular interface, this
 End of changes. 19 change blocks. 
56 lines changed or deleted 189 lines changed or added

This html diff was produced by rfcdiff 1.27, available from http://www.levkowetz.com/ietf/tools/rfcdiff/