SMI stands for Structure of Management Information. It defines the rules for describing managed objects. In the SNMP framework, managed objects reside in a virtual database called the management information base (MIB). Collection of related objects are defined in MIB modules. The modules are written using a subset of abstract syntax notation, describing the data structures in a machine-dependent language.
SNMP uses a basic encoding rule to transmit the data structure across the network without ambiguity. There are several data types that are allowed in SMI are integers, octet string, NULL & object, identifier, user-defined data types based on application.
Primitives (Integer, string) are written in uppercase, while user-defined start with the uppercase letter contains at least one character other than uppercase. An object recognizer is a sequence of non-negative integers, where each integer corresponds to a particular node in the tree. This data type provides a means for identifying a managed object and is related to each object in the hierarchy. A label is used for a text description with an integer for a particular node called a sub-identifier. The root node is an unlabeled object identifier. Each node is a dot that separates an object identifier.
The data type is shown in the table below −
|OCTET STRING||A string of zero or more bytes has a value between 0 to 255.|
|DISPLAY STRING||A string of zero or more bytes being a character from the ASCII set.|
|NULL||A variable with no value.|
|OBJECT IDENTIFIER||An authority defined data type for an object.|
|IP Address||A 32-bit internet address as an octet string of length 4.|
|Counter||A non –ve integer that ranges from 0 to 232−1.|
|Time Ticks||As a non –ve integer that counts the time in hundredths of a second since some epoch.|
|Opaque||An encoded data string.|
The internet subtree can have six subtrees are as follows −
The directory (1) subtree is reserved for future use of how the OSI Directory may be used on the internet.
The mgmt (2) subtree can identify standard objects registered by Internet Assigned Number Authority (IANA).
The experimental (3) subtree for objects being used by working groups of IETF.
The private (4) subtree for objects defined for a single party like a vendor. It has further a subtree enterprise so that companies can register their network objects.
The security (5) subtree for object security.
The SNMPV2 (6) subtree is reserved for housekeeping purposes for SNMPV2. This subtree includes object information for transport domains, transport proxies and module identities.
Object definitions are packaged into information modules.
There are three types of information modules that are defined using the SMI.
MIB Modules − It can serve to group definitions of interrelated objects.
Compliance statement for MIB Modules − It can define a set of requirements that managed nodes must meet concerning one or more MIB models.
Capability statements for agent implementation − It can specify the degree to which managed nodes can implement objects defined in a MIB module. These statements are provided by vendors about a particular product & how well they implement MIB modules.