|Previous ||Table of Contents ||Next |
The SMI simple data types include four primitive ASN.1 types as follows:
- Integers. Unique values that are positive or negative whole numbers, including zero.
- Octet strings. Unique values that are an ordered sequence of zero or more octets.
- Object IDs. Unique values from the set of all object identifiers allocated according to the rules specified in ASN.1.
- Bit strings. New in SNMPv2, these comprise zero or more named bits that specify a value.
The application-wide data types refer to special data types defined by t he SMI and are as follows:
- Network addresses. Represent an address from a particular protocol family.
- Counters. Non-negative integers that increment by positive one until they reach a maximum value, at which time they are reset to zero. The total number of bytes received on an interface is an example of a counter. In SNMPv1, counter size was not specified. In SNMPv2, 32-bit and 64-bit counters are defined.
- Gauges. Non-negative integers can increase or decrease, but latch at a maximum value. The length of an output packet queue (in packets) is an example of a gauge.
- Time ticks. Hundredths of a second since an event. The time since an interface entered its current state is an example of a tick.
- Opaque. Represents an arbitrary encoding. This data type is used to pass arbitrary information strings that do not conform to the strict data typing used by the SMI.
- Integer. Represents signed integer-valued information. This data type redefines the ASN.1 integer simple data type, which has arbitrary precision in ASN.1 but bounded precision in the SMI.
- Unsigned integer. Represents unsigned integer-valued information. It is useful when values are always non-negative. This data type redefines the ASN.1 integer simple data type, which has arbitrary precision in ASN.1 but bounded precision in the SMI.
The simply constructed types include two ASN.1 types that define multiple objects in tables and lists and are as follows:
- Row. References a row in a table. Each element of the row can be a simple type or an application-wide type.
- Table. References a table of zero or more rows. Each row has the same number of columns.
Additional Resources for Abstract Syntax Notation
ISO document 8825 (Specification of Basic Encoding Rules for ASN.1) defines ISOs BERs. The BERs enable dissimilar machines to exchange management information by specifying both the position of each bit within the transmitted octets and the structure of the bits. Bit structure is conveyed by describing the data type, length, and value.
The SMI for SNMPv2 includes two documents: RFCs 1443 and 1444. RFC 1443 (Textual Conventions) defines the data types used within the MIB modules. RFC 1444 (Conformance Statements) provides an implementation baseline. The SNMPv2 SMI also defines two new branches of the Internet MIB tree: security (220.127.116.11.5) and SNMPv2 (18.104.22.168.6).
SNMP itself is a simple request/response protocol. Network Management Systems can send multiple requests without receiving a response when using the UDP protocol, which is also connectionless.
The information previously discussed on Network Management Systems detailed how they used SNMP to accomplish their goals. This section will discuss in more detail actual SNMP commands, their purpose and functionality.
SNMP Operation Definitions
The six SNMP operations defined within SNMP are as follows:
- GET. This command allows the Network Management System to retrieve an individual non-tabled manageable object instance from the agent via SNMP. This operation is further defined in Figure 9-6.
- GETNEXT. This command allows the Network Management System to retrieve the next object instance from a table or list within an agent. In SNMPv1, when an NMS wants to retrieve all elements of a table from an agent, it initiates a GET operation, followed by a series of GETNEXT operations.
- GETBULK. This command is new for SNMPv2. The GETBULK operation was added to make it easier to acquire large amounts of related information without initiating repeated GETNEXT operations. GETBULK was designed to virtually eliminate the need for GETNEXT operations.
- SET. This command allows the Network Management System to set values in read-writable object instances within an agent.
- TRAP. This command is used by the agent to asynchronously inform the Network Management System of some event. The SNMPv2 trap message is designed to replace the SNMPv1 trap message.
- INFORM. This command is new for SNMPv2. The inform operation was added to allow one Network Management System to send trap information to another (that is, multiple Network Management Systems are monitoring and managing the same network).
Network Management System Operation
The flow chart presented in Figure 9-6 will enable you to better understand the sequence of events that happens when an NMS requests information through the use of SNMP. This flow of events is presented in a generic format from a high level perspective. As with any complex network operation, there are a great many events that also occur which allow the operation to take place. The sequence of events that occurs during an NMS request is as follows:
- 1. The network manager or engineer decides he needs information from a managed device. He will then select the information required within the Network Management System (NMS).
- 2. The Network Management System (NMS) reads the MIB database to select the correct Object Identifier (OID) that represents the information requested
- 3. The Network Management System (NMS) then selects the correct Protocol Data Unit (PDU) Format (that is, type of PDU) for the type of data being requested.
- 4. The Network Management System (NMS) then combines the selected MIB OID and local SNMP data (that is, version, community string) into the Protocol Data Unit (PDU).
- 5. The completed PDU is then compiled using Abstract Syntax Notation One (ASN.1) and the Basic Encoding Rules (BER). When completed, it is sent down the UDP/IP Protocol stack to the network layer and sent out onto the network for transmission to the managed device.
You must know the IP address for the polled device for this process to succeed.
|Previous ||Table of Contents ||Next |