9715

Get a Live Demo

You need to see DPS gear in action. Get a live demo with our engineers.

Get the SNMP Fast Track GuideBook

Download our free SNMP White Paper. Featuring SNMP Expert Marshall DenHartog.

This guidebook has been created to give you the information you need to successfully implement SNMP-based alarm monitoring in your network.

DPS is here to help.

1-800-693-0351

Have a specific question? Ask our team of expert engineers and get a specific answer!

Learn the Easy Way

Sign up for the next DPS Factory Training!

DPS Factory Training

Whether you're new to our equipment or you've used it for years, DPS factory training is the best way to get more from your monitoring.

Reserve Your Seat Today

Wow! What language is that?

Previous Page: MIB White Paper: 3 SNMP RTUs (Remote Telemetry Units) to Fit Your Spec
PDFDownload White Paper

The MIB is written in ASN.1 notation. (The initials stand for Abstract Syntax Notation 1.) ASN.1 is a standard notation maintained by the ISO (International Organization for Standardization) and used in everything from the World Wide Web to aviation control systems.

A full description of ASN.1 is completely beyond the scope of this white paper - standard references to ASN.1 run up to 600 pages. For our purposes, there are only a few things to understand about ASN.1:

1. It's human-readable.

2 It's specifically designed for communication between dissimilar computer systems, so it's the same for every machine.

3. It's extensible, so it can be used for describing almost anything.

4. Once a term is defined in ASN.1, it can be used as a building block for making other terms. This is very important for understanding MIB structure - you'll see why later on.

How ASN.1 builds new terms out of existing terms

ASN.1 defines each term as a sequence of components, some of which may be sequences themselves. To give a simplified example, here's how you might describe a letter in ASN.1:

Letter ::= SEQUENCE {
opening OCTET STRING,
body OCTET STRING,
closing OCTET STRING,
address AddressType
}

Note that while most of the elements in this sequence are defined using a primitive element (the "octet string," which is the equivalent of a byte), the address is simply defined as a text string, "AddressType." You can do this because AddressType is defined in another sequence, like so:

AddressType ::= SEQUENCE {
name OCTET STRING,
number INTEGER,
street OCTET STRING,
city OCTET STRING,
state OCTET STRING,
zipCode INTEGER
}

For a computer parsing the sequence "Letter," AddressType will be read as an instruction to insert the octet string and integer structures listed in the sequence that defines AddressType

Next Page: MIB White Paper: This RTU (Remote Telemetry Unit) Grows with Your Network
PDFDownload White Paper