Background: Know: Object identifier (OIDs)
Anticipates: Encoding rules, tables
Simple types - which include ordinal types and real types - define ordered sets of values.
Simple Types of IETF NMEdit
SMI: SMI is a language that is used to ensure that the syntax and semantics of the network management data are clear and no doulbtful point. It is a language that defines the specific data in network management entity. It defines the data type, the object model, as well as write and modify information management rules.More information about Structure of Management Information (SMI) The IETF uses SNMP in Network Managements Systems for administrative purposes. The data that SNMP manage is defined in hierarchical order with their 
in a structure known as 
which uses ASN.1
as a standard to represent, encode and decode data. ASN.1 is used to
describe Protocol Data Units (PDUs) that is conveyed over SNMP, the message is encoded using various algorithms named Encoding Rules.
This slide represents the type of syntax used in ASN.1 with the associated Tag that is used for the purpose on Encrypting data. For example: OID is a Type of object known as an Object Identifier which is used to identify management information that is desired to access through their position in the hierarchy and the string or the number associated with it.
The analogy between concepts in ASN.1 information object classes, SQL & IDL is described in Wikipedia by this link this link .
ASN.1: ASN.1 is a ISO/ITU-T standard, describing a kind of data format which can be used for data representation, encoding, transmitting and decoding. ASN.1 provides some basic predefine data type and they are illustrated below:
UNIVERSAL 0 Reserved for CODING RULE
UNIVERSAL 1 BOOLEAN TYPE
UNIVERSAL 2 INTEGER''' arbitrarily large (Encoding Rules handle magnitude)
UNIVERSAL 4 OCTER STRING string of bytes, e.g. for text or binary data. (Display String: newer type for text)
UNIVERSAL 5 NULL e.g. used for error value field when no error occurs
UNIVERSAL 6 OBJECT IDENTIFIER
UNIVERSAL 7 OBJECT DESCRIPTOR TYPE
UNIVERSAL 8 OUTERHILITE AND BFILE
UNIVERSAL 9 TYPE REAL
UNIVERSAL 10 ENUMERATED TYPE
UNIVERSAL 11 EMBEDDED PDV TYPE
UNIVERSAL 12 UTF8 STRING TYPE
UNIVERSAL 13 OBJECT IDENTIFIER TYPE
UNIVERSAL 14-15 Reserved for later types and international standard
UNIVERSAL 16 SEQUENCE/ SEQUENCE OF Often used to define tables
UNIVERSAL 17 ASSEMBLAGE/ TYPE OF ASSEMBLAGE
UNIVERSAL 18-22, 25-30 STRING TYPE
UNIVERSAL 23-24 TIME TYPE
UNIVERSAL 31-... Reserved for later types and international standard
Simple Types: Atomic types, they can also be defined as "Primitive" types in RFC 1155 . For IETF network management, simple types contains: 02 INTEGER, 04 OCTET STRING, 06 OBJECT IDENTIFIER, 05 NULL, 16 SEQUENCE/ SEQUENCE OF,
INTEGER: Although the definition of a variable is integer, there are also a variety of forms.Some integer variable can be without limits, some integer variables are defined as a specific numerical (for example, IP forwarding flag has only two types: allowed when forwarding or not allowed to transmit), some integer variables defines a specific range (for example, UDP and TCP port number from 0 to 65535.).
OCTET STRING: 0 or some 8 bit bytes, each byte value is between 0 ～ 255. For this type of data and the next data type of BER coding, a string of bytes number should be more than the length of the string itself.These strings are not the string.ending as: NULL.
OBJECT IDENTIFIER: Consist of a sequence of integer components, used to identify an object, such as algorithm, attribute types, or define registration mechanism of other object identifiers.
NULL: It represents that relevant variables are without value. For example, in get or get-next operation, variable value is NULL, because these values should be picked up from the agent process.more information about Null
SEQUENCE: This data type is similar with the "structure" in C programming language. A SEQUENCE includes 0 or more elements, each element is another ASN.1 data types. For example, UdpEntry of MIB is the type of variables.It represents the current "activation" UDP number in the agent process side ("activation" means used by applications programs). This variable contains two elements:
udpLocalAddress of IpAddress type, representing IP address.
udpLocalPort of INTEGER type, from 0 to 65535, representing the port number.
SEQUENCE OF: This is a vector defination, all of its elements have the same type. If every element has a simple data types, such as integer, we obtain a simple vector (a one-dimensional vector). But we will see that when SNMP is using this data type, its vector of every element is a SEQUENCE (structure).Thus it can be seen as a two-dimensional array or list.
- Corresponding TELE9752 lecture slides
- SNMP packets in Tim's packet zoo
- Corresponding Wikia Page： Program Analogy
- Corresponding Wikia Page： Abstract Syntax Notification.1 (ASN.1)
- Corresponding Wikia Page： ASN.1 Naming Conventions
- Corresponding Wikia Page: ASN.1 foundations
- Structure and Identification of Management Information for TCP/IP-based Internets
- A Simple Network Management Protocol (SNMP)
- Clemm: Network Management Fundamentals, Cisco Press, 2006
- Comer: Automated Network Management Systems: Current and Future Capabilities, Pearson, 2007