WO2000020981A1 - Network management information processing - Google Patents

Network management information processing Download PDF

Info

Publication number
WO2000020981A1
WO2000020981A1 PCT/US1999/022651 US9922651W WO0020981A1 WO 2000020981 A1 WO2000020981 A1 WO 2000020981A1 US 9922651 W US9922651 W US 9922651W WO 0020981 A1 WO0020981 A1 WO 0020981A1
Authority
WO
WIPO (PCT)
Prior art keywords
rows
data unit
protocol data
read
information
Prior art date
Application number
PCT/US1999/022651
Other languages
French (fr)
Other versions
WO2000020981A8 (en
Inventor
David Gymer
Paul Burden
Original Assignee
General Datacomm, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Datacomm, Inc. filed Critical General Datacomm, Inc.
Priority to CA002345685A priority Critical patent/CA2345685A1/en
Publication of WO2000020981A1 publication Critical patent/WO2000020981A1/en
Publication of WO2000020981A8 publication Critical patent/WO2000020981A8/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]

Definitions

  • the present invention relates to the processing of information for network management. More particularly, but not exclusively, the present invention relates to the processing of information contained in tables for controlling a network.
  • a distributed network such as the Internet
  • SNMP Simple Network Management Protocol
  • MIB Management Information Base
  • the invention is particularly concerned with the manipulation of data in tables such as a Management Information Base (MIB) .
  • MIB Management Information Base
  • OIDs Object Identifiers
  • the invention is particularly concerned with access to tables (such as a MIB) using network management protocols such as the Simple Network Management Protocol (SNMP) , a discussion of which may be found in chapter 5, pages 131-186, of The Simple Book.
  • SNMP Simple Network Management Protocol
  • SNMP defines Protocol Data Units (PDUs) for exchanging messages and commands and provides a "Get” command and a "Get Next” command which allow information to be retrieved and a table to be traversed effectively.
  • PDUs Protocol Data Units
  • the "Get Next” operator is described on pages 140-142 of the Simple book. Whilst the "Get Next” operator is a powerful tool for traversing a table, it can be inefficient if blocks of data are to be accessed.
  • Version 2 of the Simple Network Management Protocol provides a "Get Bulk” operator which effectively performs repeated “Get Next” operations. This can lead to significant improvements in efficiency compared to multiple "Get Next” operations. This can result in a significant saving of Protocol Data Units (PDUs) which must be exchanged and also in the total number of bytes which must flow across the network.
  • PDUs Protocol Data Units
  • OIDs Object Identifiers
  • the invention provides a method of supplying data from a table in a device which is responsive to network management protocol, commands preferably Simple Network Management Protocol commands .
  • the method preferably comprises eight steps: receiving a Protocol Data Unit designated as a table block access request; identifying the Protocol Data Unit as a table block access request; obtaining an Object Identifier of a table to be read from the Protocol Data Unit; obtaining an index to a row to be read from the table from the Protocol Data Unit; determining the number of rows to be read based on information obtained from the Protocol Data Unit; looking up information in the table based on the Object Identifier and the index to the row to be read; composing a response Protocol Data Unit containing information read from the table for a plurality of rows based on the number of rows to be read; outputting the response packet.
  • the method may allow immediate access to a given block of rows, for example in the middle of the table, even when the Object Identifiers of those rows are not known.
  • Simple Network Management Protocol is reviewed and updated from time to time and modifications are proposed.
  • references to Simple Network Management Protocol includes derivatives and modifications of the protocol current at the time of filing (whether including enhanced, reduced or alternative functionality) ; indeed, a modified version of the basic protocol incorporating table access as defined herein is intended to be encompassed by the term.
  • Devices which are responsive to a subset or derivative of SNMP commands are intended to be encompassed by the invention.
  • Object Identifiers of the rows and objects within the table need not be communicated in the response packet; preferably Object Identifiers are only communicated in the response packet if specifically requested.
  • Object Identifiers for the rows are requested, a single Object Identifier, preferably abbreviated, is communicated for each row.
  • Object Identifiers are hierarchical, the Object Identifier of an item within a table comprising the Object Identifier of the table with suffixes dependent on the row and column within the table.
  • abbreviated is meant sufficient identification information from the suffixes, optionally pre-pended with a further portion of the complete Object Identifier or a dummy prefix, but not including the entire Object Identifier.
  • information representative of the number of rows actually included in the response packet is included in the response packet, at least when the number of rows supplied differs from the number of rows requested. This may facilitate determination by the requestor of the amount of information supplied and composition of a subsequent request for remaining information.
  • the method includes selecting one or more columns from which data is to be included based on column identifier information within the received Protocol Data Unit. This may allow data to be selectively extracted from multiple columns and multiple rows within a single operation. Most preferably, the column identifier information is in the form of index information. This avoids the need to communicate the Object Identifier to each column, and allows specified columns to be accessed even when the Object Identifiers are not known.
  • the invention provides a method, in a network management device which issues and accepts network management protocol, preferably Simple Network Management Protocol, Protocol Data Units, of obtaining data from a table in a remote device, preferably arranged to perform a method as defined above.
  • the method preferably comprises six steps: determining an Object Identifier of a table in the remote device to be accessed; determining an index to the start of a block of rows from which data within the table is required; determining the number of rows to be accessed; composing a Protocol Data Unit designated as a table block access request and including information representative of on or more of said determining steps ; outputting the Protocol Data Unit to the remote device; and obtaining said data from a response Protocol Data Unit received from the remote device.
  • network management protocol preferably Simple Network Management Protocol, Protocol Data Units
  • the method further comprises determining whether the received Protocol Data Unit contains all the information requested and, if not, composing a further request for information.
  • the method may further comprise supplying the information to a management application.
  • the invention provides a network device comprising: means for responding to Protocol Data Units received containing network management protocol, preferably Simple Network Management Protocol, commands; means for identifying a received Protocol Data Unit designated as a table block access request; means for indexing a portion of a stored table based on an Object Identifier and an index to a row to be read from the table from the Protocol Data Unit; means for determining the number of rows to be read based on information obtained from the Protocol Data Unit; means for looking up information in the table based on the Object Identifier and the index to the row to be read; and means for composing a response Protocol Data Unit containing information read from the table for a plurality of rows based on the number of rows to be read.
  • network management protocol preferably Simple Network Management Protocol
  • the invention provides a Protocol Data Unit comprising: an identifier signifying that the Protocol Data Unit is a table block access request; an Object Identifier of a table to be accessed; an index to a row within the table to be accessed; and information identifying the number of rows to be accessed.
  • the Protocol Data Unit preferably further comprises information identifying the number of columns in the table to be accessed and an identifier for each column.
  • Fig. 1 is a graph illustrating a comparison between the amount of data to be transferred when access a large table according to conventional methods and according to an embodiment of the invention
  • Fig. 2 is a graph illustrating a comparison between the amount of Protocol Data Units to be transferred when access a large table according to conventional methods and according to an embodiment of the invention
  • Fig. 3 is a graph illustrating a comparison between the amount of time taken for table retrieval when access a large table according to conventional methods and according to an embodiment of the invention.
  • This command is intended to allow a management application to retrieve arbitrary rows from a table without having to issue repeated GetNext commands to get to the correct rows .
  • GetNext commands For optimum efficiency and flexibility, it is found to be highly desirable that the command can access arbitrary columns, and not just complete rows.
  • the OBJECT IDENTIFIER representing the table to be retrieved.
  • the interfaces table in rfcl213 would have a table name of 1.3.6.1.2.1.2.2 start-index
  • start-index Identifies the first row index to be retrieved from the table. This represents essentially the row number in that table (starting 0) . So, to start retrieving from the first row, start-index would be set to 0. To retrieve from the 25th row, start-index would be set to 24, etc. max-rows
  • a column id is encoded for each of the columns requested. So, for example, if five columns had been requested, then five consecutive INTEGERS would be encoded representing the respective column ids .
  • the id represents the conceptual column number for that table (starting 1) . So, for example, consider the ifTable of rfcl213, the column-id for ifOperStatus would be 8 , since this is the eighth conceptual column in the table.
  • the request PDU will contain an empty varbind list (since all the information above is sufficient to identify what we are requesting) .
  • the (modified) SNMP agent of the network device must process an incoming GetTableRows request and package the response message to send back to the requestor.
  • the agent should attempt to include all the requested rows into the response PDU, but due to the restrictions of message size, this may not be possible. In these cases, it should send back as many rows as it can, updating the associated fields to identify precisely the rows it has returned (this is so that the requestor can send another GetTableRows request message amended to retrieve the remaining rows) .
  • a GetTableRows response PDU should be sent to the management application with the following fields set:- request-id
  • the OBJECT IDENTIFIER representing the table to be retrieved.
  • the interfaces table in rfcl213 would have a table name of 1.3.6.1.2.1.2.2. This must match the request PDU. start-index
  • start-index Identifies the first row index to be retrieved from the table. This represents essentially the row number in that table (starting 0) . So, to start retrieving from the first row, start-index would be set to 0. To retrieve from the 25 th row, start-index would be set to 24, etc. This must match the request PDU. max-rows
  • a column id is encoded for each of the columns requested. So, for example, then five consecutive
  • INTEGERS would be encoded representing the respective column ids .
  • the id represents the conceptual column number for that table (starting 1) . So, for example, consider the ifTable of rfcl213, the column-id for ifOperStatus would be 8, since this is the eighth conceptual column in the table. Each of these column-ids must match the request PDU. varbind list
  • a list of varbinds must be encoded which represent the data contained in the rows returned.
  • the order of the varbind list is on a per-row basis. So, for example, if five columns had been requested, the first five varbinds would constitute the values for the first row returned, where varbindl represents the data for columnl, varbind2 contains the data for column2 and so on. In most cases, the name of the varbind is not encoded (see the later section on varbind encoding) .
  • the SNMPP GetTableRows message is encoded with a message type of OxAF, which corresponds to:- ASN_CONTEXT 1 ASN_CONSTRUCTOR 1 OXf
  • variable binding list returned in a GetTableRows response message will contain each of the values within the table encoded as usual varbind objects.
  • the varbind list must always contain enough variables encoded in the varbind list will be multiples of column-total .
  • variable binding for each element in a row will be encoded in order of column-ids requested.
  • object-name of a varbind will only be encoded if the following two criteria are met:-
  • the varbind being encoded represents the first column-id of a row.
  • the object name is encoded, it will represent the instance oid identifying that row (starting with 0.0, because the first two subids must each be encoded in a single octet according to SNMP) .
  • the column-ids will be encoded as two INTEGERS, namely 7 and 8. Supposing the response message was returning 3 rows (for ifIndex 1,2 and 3) .
  • the varbind list will be encoded as follows:-
  • the ordering of information is not critical and can be changed, as can all labels used both for entities with the PDU and the PDU designation (the label GetTableRows being used here as a suitable label to designate a table block access request) .
  • the information contained in the PDU may be replaced by other combinations of information which achieve the same function (for example, the last row may be supplied in place of the first row, and the indexing performed in reverse) . Not all functions need be included.

Abstract

A method for supplying data from a table in a device responsive to network management protocol commands includes receiving a Protocol Data Unit (PDU) designated as a table block access request (TBAR), identifying the PDU as a TBAR, obtaining an Object Identifier (OI) of a table to be read from the PDU, obtaining an index to a row to be read from the table from the PDU, determining the number of rows to be read based on information obtained from the PDU, looking up information in the table based on the OI and the index, composing a response PDU containing information read from the table for multiple rows based on the number of rows to be read, and outputting a response packet (RP). Optionally, OIs are only included in the RP if requested, and abbreviated OIs are included in the RP. Network devices implementing the method are also provided.

Description

NETWORK MANAGEMENT INFORMATION PROCESSING
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the processing of information for network management. More particularly, but not exclusively, the present invention relates to the processing of information contained in tables for controlling a network.
2. State of the Art
In a distributed network such as the Internet, it is necessary to store various parameters, including routing information, at distributed points across the network and to extract that information for overall management of the network. Since different devices in a network may be made by different manufacturers and be of different types, it is desirable for communication of this information to be substantially device independent .
The Simple Network Management Protocol (SNMP) together with associated Management Information Base (MIB) structures have been designed to achieve device-independent management of a network and are widely used across the Internet. Basic details of SNMP may be found in any of a number of texts on the subject, an example of which is The Simple Book (An Introduction to Management of TCP/IP-based internets) by Marshall T. Rose published by Prentice-Hall 1991, the entire disclosure of which is incorporated herein by reference.
SUMMARY OF THE INVENTION
The invention is particularly concerned with the manipulation of data in tables such as a Management Information Base (MIB) . Details of the structure of a MIB may be found in chapter 4, pages 91-130 of The Simple Book, referenced above. Entries within a MIB are associated with Object Identifiers (OIDs) which may be lengthy strings. The invention is particularly concerned with access to tables (such as a MIB) using network management protocols such as the Simple Network Management Protocol (SNMP) , a discussion of which may be found in chapter 5, pages 131-186, of The Simple Book.
In order to extract information from a table such as a MIB, SNMP defines Protocol Data Units (PDUs) for exchanging messages and commands and provides a "Get" command and a "Get Next" command which allow information to be retrieved and a table to be traversed effectively. The "Get Next" operator is described on pages 140-142 of the Simple book. Whilst the "Get Next" operator is a powerful tool for traversing a table, it can be inefficient if blocks of data are to be accessed.
Version 2 of the Simple Network Management Protocol provides a "Get Bulk" operator which effectively performs repeated "Get Next" operations. This can lead to significant improvements in efficiency compared to multiple "Get Next" operations. This can result in a significant saving of Protocol Data Units (PDUs) which must be exchanged and also in the total number of bytes which must flow across the network.
However, pursuant to the invention, it has been appreciated that more efficient access to large tables may yet be possible, preferably in a manner not incompatible with existing SNMP architecture. Studies pursuant to the present invention have revealed that a significant amount of the data transferred may comprise Object Identifiers (OIDs) . Pursuant to the invention, it has been appreciated that complete OIDs do not necessarily need to be transmitted in every case. It has also been found, pursuant to the invention, that certain operations such as the extraction of a relatively small portion of a relatively large table may be inefficient even when using the "Get Bulk" operation. It is an aim of the invention to provide methods of extracting data from tables which are compatible with existing network management protocol (such as SNMP) interactions, but which may provide improved efficiency.
According to a first aspect, the invention provides a method of supplying data from a table in a device which is responsive to network management protocol, commands preferably Simple Network Management Protocol commands . The method preferably comprises eight steps: receiving a Protocol Data Unit designated as a table block access request; identifying the Protocol Data Unit as a table block access request; obtaining an Object Identifier of a table to be read from the Protocol Data Unit; obtaining an index to a row to be read from the table from the Protocol Data Unit; determining the number of rows to be read based on information obtained from the Protocol Data Unit; looking up information in the table based on the Object Identifier and the index to the row to be read; composing a response Protocol Data Unit containing information read from the table for a plurality of rows based on the number of rows to be read; outputting the response packet.
By providing an Object Identifier for the table and an index to a row (preferably the start row) , lengthy Object Identifiers need not be communicated for every row or every table entry. Furthermore, the method may allow immediate access to a given block of rows, for example in the middle of the table, even when the Object Identifiers of those rows are not known.
It will be appreciated that the Simple Network Management Protocol is reviewed and updated from time to time and modifications are proposed. In this specification, which term includes the claims, references to Simple Network Management Protocol includes derivatives and modifications of the protocol current at the time of filing (whether including enhanced, reduced or alternative functionality) ; indeed, a modified version of the basic protocol incorporating table access as defined herein is intended to be encompassed by the term. Devices which are responsive to a subset or derivative of SNMP commands are intended to be encompassed by the invention.
Another advantage is that the Object Identifiers of the rows and objects within the table need not be communicated in the response packet; preferably Object Identifiers are only communicated in the response packet if specifically requested. Preferably, if Object Identifiers for the rows are requested, a single Object Identifier, preferably abbreviated, is communicated for each row. It is well-known that Object Identifiers are hierarchical, the Object Identifier of an item within a table comprising the Object Identifier of the table with suffixes dependent on the row and column within the table. By "abbreviated" is meant sufficient identification information from the suffixes, optionally pre-pended with a further portion of the complete Object Identifier or a dummy prefix, but not including the entire Object Identifier.
Preferably, information representative of the number of rows actually included in the response packet is included in the response packet, at least when the number of rows supplied differs from the number of rows requested. This may facilitate determination by the requestor of the amount of information supplied and composition of a subsequent request for remaining information.
Preferably, the method includes selecting one or more columns from which data is to be included based on column identifier information within the received Protocol Data Unit. This may allow data to be selectively extracted from multiple columns and multiple rows within a single operation. Most preferably, the column identifier information is in the form of index information. This avoids the need to communicate the Object Identifier to each column, and allows specified columns to be accessed even when the Object Identifiers are not known.
In a second aspect, the invention provides a method, in a network management device which issues and accepts network management protocol, preferably Simple Network Management Protocol, Protocol Data Units, of obtaining data from a table in a remote device, preferably arranged to perform a method as defined above. The method preferably comprises six steps: determining an Object Identifier of a table in the remote device to be accessed; determining an index to the start of a block of rows from which data within the table is required; determining the number of rows to be accessed; composing a Protocol Data Unit designated as a table block access request and including information representative of on or more of said determining steps ; outputting the Protocol Data Unit to the remote device; and obtaining said data from a response Protocol Data Unit received from the remote device.
Preferably, the method further comprises determining whether the received Protocol Data Unit contains all the information requested and, if not, composing a further request for information.
The method may further comprise supplying the information to a management application.
In a third aspect, the invention provides a network device comprising: means for responding to Protocol Data Units received containing network management protocol, preferably Simple Network Management Protocol, commands; means for identifying a received Protocol Data Unit designated as a table block access request; means for indexing a portion of a stored table based on an Object Identifier and an index to a row to be read from the table from the Protocol Data Unit; means for determining the number of rows to be read based on information obtained from the Protocol Data Unit; means for looking up information in the table based on the Object Identifier and the index to the row to be read; and means for composing a response Protocol Data Unit containing information read from the table for a plurality of rows based on the number of rows to be read.
According to a fourth aspect, the invention provides a Protocol Data Unit comprising: an identifier signifying that the Protocol Data Unit is a table block access request; an Object Identifier of a table to be accessed; an index to a row within the table to be accessed; and information identifying the number of rows to be accessed.
The Protocol Data Unit preferably further comprises information identifying the number of columns in the table to be accessed and an identifier for each column.
It will be appreciated that the invention can be applied regardless of the information contained within the table to the access and provide a technical improvement in terms of more efficient data transfer and simplified access to large tables.
An embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a graph illustrating a comparison between the amount of data to be transferred when access a large table according to conventional methods and according to an embodiment of the invention; Fig. 2 is a graph illustrating a comparison between the amount of Protocol Data Units to be transferred when access a large table according to conventional methods and according to an embodiment of the invention;
Fig. 3 is a graph illustrating a comparison between the amount of time taken for table retrieval when access a large table according to conventional methods and according to an embodiment of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
An embodiment for use in an SNMP-compatible network device having a plurality of MIB tables stored therein will now be described. Details of conventional MIB tables and SNMP commands, together with details of Abstract Syntax Notation One (ASN.l) and Basic Encoding Rules (BER) encoding are assumed to be well-known and will not be described in detail; reference should be made to The Simple Book, together with references 40-53 in the bibliography thereon, or to any of the relevant standards, all of which are incorporated herein by reference.
By way of background summary information, basic formats of an SNMP message, a generic PDU, a request PDU, a Get PDU and a Get Next PDU will be set out, in ASN.l syntax.
Firstly, a basic message format :- -- top-level message
Message : :=
SEQUENCE { version -- version-1 for this RFC INTEGER { version-1 (0) },
community -- community name OCTET STRING, data — e.g., PDUs if trivial
ANY -- authentication is being used }
Next , the format of a Protocol Data Unit : -
-- protocol data units
PDUs : : =
CHOICE { get-request
GetRequest-PDU,
get-next-request
GetNextRequest-PDU,
get-response
GetResponse-PDU,
set-request
SetRequest-PDU,
trap
Trap-PDU }
-- the individual PDUs and commonly used -- data types will be defined later
END
The basic format of a request PDU will now be set out : -
-- request/response information
RequestID : : =
INTEGER
ErrorStatus : : =
INTEGER { noError (0 ) , tooBig(l) , noSuchName (2 ) , badValue (3 ) , readonly (4) genErr ( 5)
Errorlndex : : = INTEGER
-- variable bindings
VarBind : : =
SEQUENCE { name
ObjectName,
value
Obj ectSyntax }
VarBindList : : =
SEQUENCE OF VarBind
The format of a standard "Get " PDU is : -
GetRequest-PDU : : = [ 0 ]
IMPLICIT SEQUENCE { request-id
RequestlD,
error-status -- always 0 ErrorStatus,
error-index -- always 0 Errorlndex, variable-bindings VarBindList }
The format of a "Get Next " PDU is : -
GetNextRequest-PDU : : = [ 1 ]
IMPLICIT SEQUENCE { request-id
RequestID,
error- status -- always 0
ErrorStatus ,
error- index -- always 0
Errorlndex,
variable-bindings VarBindList }
Further details of the components of the entities defined above and other background information may be found by reference to RFC 1157 or other standard texts .
According to this embodiment , we propose a modified PDU which we designate a Get Table Row message . This is defined below using the ASN. l syntax : -
GetTableRow-PDU ::= SEQUENCE { request-id
INTEGER, error-status
INTEGER { noError ( 0 ) , tooBig(l) , noSuchName (2) badValue (3 ) , readonly ( 4 ) , genErr ( 5 )
} , error-index
INTEGER, sn pp-version
INTEGER { versionl (1) -- First implementation
}, table-name
OBJECT-INDENTIFIER, -- OID of the table being retrieved start-index
INTEGER, -- starting row index for retrieval max-rows -- maximum no . of rows to be retrieved
INTEGER, -- -1 indicates " get all rows " table-size
INTEGER, -- No . of rows in table instances-included
INTEGER { no ( 0 ) , -- Row instances not encoded yes(l) -- Row instances are encoded
}, column-total
INTEGER, -- No . of columns to be retrieved columnl
INTEGER, -- column id for first column column2
INTEGER, -- column id for second column columnN
INTEGER, -- column id for Nth column variable-bindings VarBindList
}
VarBind : : =
SEQUENCE { row- instance1
OBJECT- IDENTIFIER, -- optional instance OID for row value obj ectSyntax -- value for this row/column entry }
This command is intended to allow a management application to retrieve arbitrary rows from a table without having to issue repeated GetNext commands to get to the correct rows . For optimum efficiency and flexibility, it is found to be highly desirable that the command can access arbitrary columns, and not just complete rows.
An explanation of the fields in a GetTableRows request PDU as would be sent from a management application follows :- request-id
The unique request id for this PDU snmpp-version
Indicates the revision level of the SNMPP PDU (should always be set to 1) . table-name
The OBJECT IDENTIFIER representing the table to be retrieved. For example, the interfaces table in rfcl213 would have a table name of 1.3.6.1.2.1.2.2 start-index
Identifies the first row index to be retrieved from the table. This represents essentially the row number in that table (starting 0) . So, to start retrieving from the first row, start-index would be set to 0. To retrieve from the 25th row, start-index would be set to 24, etc. max-rows
Represents the maximum number of rows to be retrieved
(if possible) . If all rows from the start-index to end of table are required, this should be set to -1. column-total
Represents the total number of columns to be retrieved from the table (the column ids are encoded immediately after this object in the PDU) . column-id
A column id is encoded for each of the columns requested. So, for example, if five columns had been requested, then five consecutive INTEGERS would be encoded representing the respective column ids . The id represents the conceptual column number for that table (starting 1) . So, for example, consider the ifTable of rfcl213, the column-id for ifOperStatus would be 8 , since this is the eighth conceptual column in the table.
The request PDU will contain an empty varbind list (since all the information above is sufficient to identify what we are requesting) .
Note: All the other objects exist in the request PDU, but will have their default values set.
To implement this embodiment, the (modified) SNMP agent of the network device must process an incoming GetTableRows request and package the response message to send back to the requestor. The agent should attempt to include all the requested rows into the response PDU, but due to the restrictions of message size, this may not be possible. In these cases, it should send back as many rows as it can, updating the associated fields to identify precisely the rows it has returned (this is so that the requestor can send another GetTableRows request message amended to retrieve the remaining rows) .
A GetTableRows response PDU should be sent to the management application with the following fields set:- request-id
The unique request id for this PDU. snmpp-version
Indicates the revision level of the SNMPP PDU (should always be set to 1) table-name
The OBJECT IDENTIFIER representing the table to be retrieved. For example, the interfaces table in rfcl213 would have a table name of 1.3.6.1.2.1.2.2. This must match the request PDU. start-index
Identifies the first row index to be retrieved from the table. This represents essentially the row number in that table (starting 0) . So, to start retrieving from the first row, start-index would be set to 0. To retrieve from the 25th row, start-index would be set to 24, etc. This must match the request PDU. max-rows
This will be set to the actual number of rows included in this response PDU. table-size
Stores the actual size of the table requested (i.e. how many rows exist in the table at that point in time) . instances-included set to no(0) if the row instances have not been encoded in the varbinds representing the first column requested, otherwise set to yes(l) if they have. column-total
Represents the total number of columns retrieved from the table (the column ids are encoded immediately after this object in the PDU) . This must match the request PDU. column-id
A column id is encoded for each of the columns requested. So, for example, then five consecutive
INTEGERS would be encoded representing the respective column ids . The id represents the conceptual column number for that table (starting 1) . So, for example, consider the ifTable of rfcl213, the column-id for ifOperStatus would be 8, since this is the eighth conceptual column in the table. Each of these column-ids must match the request PDU. varbind list
A list of varbinds must be encoded which represent the data contained in the rows returned. The order of the varbind list is on a per-row basis. So, for example, if five columns had been requested, the first five varbinds would constitute the values for the first row returned, where varbindl represents the data for columnl, varbind2 contains the data for column2 and so on. In most cases, the name of the varbind is not encoded (see the later section on varbind encoding) .
The SNMPP GetTableRows message is encoded with a message type of OxAF, which corresponds to:- ASN_CONTEXT 1 ASN_CONSTRUCTOR 1 OXf
A variable binding list returned in a GetTableRows response message will contain each of the values within the table encoded as usual varbind objects. The varbind list must always contain enough variables encoded in the varbind list will be multiples of column-total .
The variable binding for each element in a row will be encoded in order of column-ids requested. The object-name of a varbind will only be encoded if the following two criteria are met:-
1. The instances-included variable is set to yes(l)
2. The varbind being encoded represents the first column-id of a row.
If the object name is encoded, it will represent the instance oid identifying that row (starting with 0.0, because the first two subids must each be encoded in a single octet according to SNMP) .
This is best explained by example, so consider the ifTable and the TableRows request message has requested two columns, namely ifAdminStatus (1.3.6.1.2.1.2.2.1.7) and ifOperStatus (1.3.6.1.2.1.2.2.1.8).
The column-ids will be encoded as two INTEGERS, namely 7 and 8. Supposing the response message was returning 3 rows (for ifIndex 1,2 and 3) . The varbind list will be encoded as follows:-
Figure imgf000018_0001
The above varbinds would represent the following three rows in the ifTable:-
Figure imgf000018_0002
The following pseudo-code outlines the basic steps to be performed to implement the embodiment (some of which will co-exist with other steps which are part of a conventional SNMP agent) :-
- Receive PDU
[Other SNMP processing]
- Check whether PDU designated "GetTableRows"
- If not so designated, skip to Continued Processing
- If so designated: -
- Obtain OID of table to be read from table-name - Obtain index to first row to read from start-index
- Obtain number of rows to read from max-rows
- Obtain indices to columns to be read columnL.N
Check whether encoded row ids requested in instances-included
- Look up information in specified table using indices
- Compose response packet including:-
* Information read from table in varbinds
* Number of rows actually read in max-rows
* Row ids if specified in varbinds for first column
- Output response packet [Continued Processing]
It will be appreciated that the ordering of information is not critical and can be changed, as can all labels used both for entities with the PDU and the PDU designation (the label GetTableRows being used here as a suitable label to designate a table block access request) . The information contained in the PDU may be replaced by other combinations of information which achieve the same function (for example, the last row may be supplied in place of the first row, and the indexing performed in reverse) . Not all functions need be included.
Each feature described above may be provided independently, unless otherwise stated.

Claims

Claims :
1. A method of supplying data from a table in a device which is responsive to network management protocol commands, the method comprising receiving a Protocol Data Unit designated as a table block access request; identifying the Protocol Data Unit as a table block access request; obtaining an Object Identifier of a table to be read from the Protocol Data Unit; obtaining an index to a row to be read from the table from the Protocol Data Unit; determining the number of rows to be read based on information obtained from the Protocol Data Unit; looking up information in the table based on the Object Identifier and the index to the row to be read; composing a response Protocol Data Unit containing information read from the table for a plurality of rows based on the number of rows to be read; outputting the response packet.
2. A method according to Claim 1, wherein Object Identifiers are only included in the response packet if requested.
3. A method according to Claim 1 or Claim 2, wherein if Object Identifiers for the rows are to be included in the response packet, a single Object Identifier is included for each row.
4. A method according to Claim 2 or Claim 3 wherein abbreviated Object Identifiers are included in the response packet.
5. A method according to any preceding claim wherein information representative of the number of rows actually included in the response packet is included in the response packet, at least when the number of rows supplied differs from the number of rows requested.
6. A method according to any preceding claim including selecting one or more columns from which data is to be included based on column identifier information within the received Protocol Data Unit.
7. A method according to Claim 6, wherein the column identifier information is in the form of index information.
8. A method, in a network management device which issues and accepts network management protocol Protocol Data Units, of obtaining data from a table in a remote device, preferably arranged to perform a method according to any preceding claim, the method comprising: determining:- (a) an Object Identifier of a table in the remote device to be accessed;
(b) an index to the start of a block of rows from which data within the table is required;
(c) the number of rows to be accessed; composing a Protocol Data Unit designated as a table block access request and including information representative of said determining; outputting the Protocol Data Unit to the remote device; and obtaining said data from a response Protocol Data Unit received from the remote device.
9. A method according to Claim 8 further comprising determining whether the received Protocol Data Unit contains all the data requested and, if not, composing a further request for data.
10. A method according to Claim 8 or Claim 9 further comprising supplying the data to a management application.
11. A method according to any preceding claim, wherein the network management protocol is Simple Network Management Protocol, or a derivative or modification thereof.
12. A network device comprising: means for responding to Protocol Data Units received containing network management protocol commands; means for identifying a received Protocol Data Unit designated as a table block access request; means for indexing a portion of a stored table based on (a) an Object Identifier and (b) an index to a row to be read from the table, obtained from the Protocol Data Unit; means for determining the number of rows to be read based on information obtained from the Protocol Data Unit; means for looking up information in the table based on the Object Identifier and the index to the row to be read; means for composing a response Protocol Data Unit containing information read from the table for a plurality of rows based on the number of rows to be read.
13. A device according to Claim 12 , wherein the network management protocol is Simple Network Management Protocol, or a derivative or modification thereof.
14. A Protocol Data Unit comprising: an identifier signifying that the Protocol Data Unit is a table block access request; an Object Identifier of a table to be accessed; an index to a row within the table to be accessed; information identifying the number of rows to be accessed.
15. A Protocol Data Unit according to Claim 12 further comprising information identifying the number of columns in the table to be accessed and an identifier for each column.
PCT/US1999/022651 1998-10-02 1999-09-29 Network management information processing WO2000020981A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002345685A CA2345685A1 (en) 1998-10-02 1999-09-29 Network management information processing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9821524.7 1998-10-02
GB9821524A GB2344262A (en) 1998-10-02 1998-10-02 Retrieval of network management information

Publications (2)

Publication Number Publication Date
WO2000020981A1 true WO2000020981A1 (en) 2000-04-13
WO2000020981A8 WO2000020981A8 (en) 2000-07-20

Family

ID=10839907

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/022651 WO2000020981A1 (en) 1998-10-02 1999-09-29 Network management information processing

Country Status (3)

Country Link
CA (1) CA2345685A1 (en)
GB (1) GB2344262A (en)
WO (1) WO2000020981A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2364467A (en) * 2000-07-05 2002-01-23 Motorola Inc Implementation of transactions in a communications network comprising SNMP agents

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802309A (en) * 1996-06-12 1998-09-01 3Com Corporation Method for encoding SNMP summary objects
US5812668A (en) * 1996-06-17 1998-09-22 Verifone, Inc. System, method and article of manufacture for verifying the operation of a remote transaction clearance system utilizing a multichannel, extensible, flexible architecture

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0621705B1 (en) * 1993-03-22 1998-09-16 International Business Machines Corporation Method for reducing SNMP instrumentation message flows

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802309A (en) * 1996-06-12 1998-09-01 3Com Corporation Method for encoding SNMP summary objects
US5812668A (en) * 1996-06-17 1998-09-22 Verifone, Inc. System, method and article of manufacture for verifying the operation of a remote transaction clearance system utilizing a multichannel, extensible, flexible architecture

Also Published As

Publication number Publication date
WO2000020981A8 (en) 2000-07-20
GB9821524D0 (en) 1998-11-25
GB2344262A (en) 2000-05-31
CA2345685A1 (en) 2000-04-13

Similar Documents

Publication Publication Date Title
US8572127B2 (en) Structure based storage, query, update and transfer of tree-based documents
Thompson Web-based enterprise management architecture
CN101061688B (en) Network management apparatus and method based on simple network management protocol
EP1014748B1 (en) Management system for a multi-level communication network
EP2009842B1 (en) System and method for SNMP access
KR100716167B1 (en) Network management system and method
US5802309A (en) Method for encoding SNMP summary objects
JP2007181219A (en) Apparatus, and associated method, for retrieving mobile-node logic tree information
US8201144B2 (en) Method and system for distributing software components
Rose Snmp mux protocol and mib
CN101076028B (en) Method for interacting telecommunication system and message by SNMP protocol
US6694304B1 (en) System and method for retrieving network management table entries
US5778360A (en) Method and apparatus for encoding and decoding a data unit whose structure is defined by a description conforming to abstract syntax according to a prescribed encoding rule
CN1192835A (en) Arrangement and method relating to information managing system
US7272836B1 (en) Method and apparatus for bridging service for standard object identifier based protocols
WO2000020981A1 (en) Network management information processing
WO1999029069A1 (en) Network management communication
Cisco Interfaces Group MIB Objects
Cisco Introduction to Cisco MIBs
Cisco IF MIB Objects
US9100267B2 (en) Network management method, a system and a device
US7447767B2 (en) System for use in a communications network management system for automatic management of network plant
US20030123386A1 (en) Flexible and high-speed network packet classifying method
KR20000028413A (en) Interlocking system of tmn and corba
US20050073959A1 (en) Process and device for configurable management of the persistency of data in the equipment of a communication network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C1

Designated state(s): CA KR US

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WR Later publication of a revised version of an international search report
ENP Entry into the national phase

Ref document number: 2345685

Country of ref document: CA

Ref country code: CA

Ref document number: 2345685

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 09806783

Country of ref document: US

122 Ep: pct application non-entry in european phase