Developing for SNMP

The Simple Network Management Protocol - SNMP - is an open standard for administering network nodes of all kinds from a central point. It describes an architecture consisting of a Management node communicating with multiple agent nodes using a common database called the Management Information Base, or MIB.

In a typical implementation, an SNMP Agent will implement certain standard MIBs and custom MIBs relevant to the particular application.

This course describes all the steps necessary to develop and deploy a new SNMP Agent

SNMP-301
3 days
Contact Feabhas (available for on-site delivery only)
pdf download

Course Outline

 

Network management

  • The basic requirements of a network management system
  • The need for a standard

Introduction to SNMP

  • The components of SNMP
  • Agents
  • Managers
  • SNMP versions: v1, v2c, v3
  • Where to find information about SNMP

SNMP Object Identifiers

  • The naming scheme for SNMP objects
  • Object instance identifiers
  • How to obtain an enterprise object identifier

Standard MIBS

  • MIB-II
  • The object groups within MIB-II
  • Adapting MIB-II to a particular system
  • Other standard MIBS: RMON and host resources MIBs

SMI (Structure of Management Information)

  • ASN.1
  • SMIv1 and SMIv2
  • Data types
  • Defining objects
  • Textual Conventions

Writing MIBs

  • Creating a skeleton MIB using SMI
  • Adding simple data objects
  • Object groups
  • Module compliance statements
  • MIB compilers

Tables

  • Conceptual tables within SNMP
  • Accessing elements in a table
  • How tables are coded in SMI
  • Creating and deleting rows

Traps

  • How traps work
  • Traps in SNMP v1 and SNMP v2c
  • Informs
  • Trap definitions in the MIB
  • Practicalities of implementing traps

The SNMP protocol

  • SNMP message types
  • How SNMP messages are encoded: BER
  • Transport mappings
  • Differences between SNMP v1, v2c and v3

Access control in SNMP

  • Community based access
  • SNMP v3 User-based Security Model
  • View-based Access Control Model
  • Encryption

Extensible Agents

  • SMUX protocol
  • AgentX protocol

 

Course Overview

 

Developing a new SNMP Agent is a complex task, requiring knowledge of the protocol and structures of SNMP. This course is very much hands-on.

Using an open source agent (net-snmp) on an embedded platform running Linux*, students will develop and test their own MIB, adding functionality step by step. Different MIB structures will be introduced and viewed using a MIB browser, including simple data objects, textual conventions and tables.

A network analyser is used to see the encapsulation of the protocol into network packets, including the sending of traps from Agent to Manager. We will consider the implications of security inherent in basic SNMP v1, and look at how SNMP v3 improves security.

Finally, we will look at extensible agents using the SMUX and AgentX protocols.
 

* Other operating systems and toolkits may be accommodated at extra cost.

Course Objectives:

  • To get real-world grounding in SNMP
  • To develop an SNMP Agent
  • To understand the issues of security and compatibility

Delegates Will Learn:

  • The SNMP naming structure using OIDs
  • How the standard MIB II works and how to integrate it into a new platform
  • How to design a new MIB from scratch in SMI
  • How to design effective traps
  • How to use SMUX and AgentX to create an extensible framework for application development.

Who Should Attend:

  • Engineers wishing to develop or maintain SNMP agents
  • Engineers who want to get a good grounding in SNMP.

Pre-requisites:

  • A good knowledge of 'C'.

Duration:

  • Three days.

Course Materials:

  • Student workbook.

Course Workshop:
The course presents SNMP concepts using a Linux development environment consisting of a standard PC running Ubuntu Linux.