# Analysis and Implementation of Embedded SNMP Agent

Hubin Deng, Guiyuan Liu, Lei Zhang

► To cite this version:

Hubin Deng, Guiyuan Liu, Lei Zhang. Analysis and Implementation of Embedded SNMP Agent. 4th Conference on Computer and Computing Technologies in Agriculture (CCTA), Oct 2010, Nanchang, China. pp.96-102, 10.1007/978-3-642-18369-0_11. hal-01564851

HAL Id: hal-01564851

https://inria.hal.science/hal-01564851

Submitted on 19 Jul 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Analysis and Implementation of Embedded SNMP Agent

Hubin Deng, Guiyuan Liu, Lei Zhang

College of Information Engineering, East China Jiaotong University, Nanchang, P. R. China

Email: dsn33973@163.com

## Abstract

With the extensive application of network devices and the rapid development of embedded technology, network management of embedded devices becomes increasingly complicated. SNMP management is the most widely used network management system (NMS). Most of the network components used in enterprise network have built-in network agents that can respond to an SNMP network management system. By analyzing the SNMP (Simple Network Management Protocol) and base on NET-SNMP development kit, discuss the construction of MIB modules and code conversion and complete embedded SNMP Agent extension. Through network management tools to verify the SNMP agent on the network management functions of the embedded device.

## Keywords

Embedded technology, Network management, SNMP Agent, MIB modules, NET-SNMP development kit.

## 1. Introduction

Along with the popularization of the network application and the network equipment, it is also gradually increasing to the network management demand. Because Simple Network Management Protocol (SNMP) has obtained the widespread application in the industrial world by its simplicity. The TCP/IP major part router and the switchboard all support SNMP in the protocol standard certain main management information database (MIB). In addition, in other private network equipment management domain, the SNMP network management has also obtained the widespread application. In the SNMP management model, the management station is carried on the management and the monitoring center to AGENT. Agent is managed to the equipment to carry on the monitoring and front end the operation network management. Therefore, in the network equipment, to increase SNMP the network management to act AGENT adapts the network supervising and managing

development essential work. This article takes SNMP and the existing system resources as a foundation, analyzes the embedded SNMP proxy software with emphasis of the function module, with the aid of opens source tool development package NET-SNMP, has constructed the MIB storehouse module, and has developed the embedded equipment SNMP agent software.

## 2. Simple Network Management Model

Simple Network Management Protocol (SNMP) is a UDP-based network protocol. It is used mostly in network management systems to monitor network-attached devices for conditions that warrant administrative attention. SNMP management is also referred to as Internet management. It's called SNMP management because it has matured to the level that it manages more than the Internet, for example, intranet and telecommunication networks. Any network that uses the TCP/IP protocol suite is an ideal candidate for SNMP management. SNMP network management system can manage even non-TCP/IP network elements through proxy agents.

The SNMP management consist four elements: Network Management System (NMS), Agent, Management Information Base (MIB), and Simple Network Management Protocol (SNMP). It uses the concept of Client/Server application. A network management system (NMS) executes applications that monitor and control managed devices. On each manageable equipment, a SNMP Agent is running. This agent manages information relating to the equipment which is stored in a local database called the MIB. And the SNMP Protocol is used to connect the NMS and the Agents. SNMP is a protocol built on the top of UDP/IP:

The architecture specifies the management messages between the management system and the management agents. 5 types of SNMP messages or SNMP requests can be exchanged (SNMPv1) between a SNMP agent and a SNMP manager:
1.Obtaining the current value of a MIB object managed by an agent: request get-request (GET).

2.Obtaining the current value of the next MIB object managed by an agent: request get-next-request (GETNEXT).

3.Updating of the current value of a MIB object managed by an agent: request set-request (SET).

4.Sending back the value of a MIB object managed by an agent: request get-response. It's the answer to a GET, GETNEXT or SET request. One can see that SNMP is a command/response protocol without state.

5Signal/alarm emitted by an agent to a manager: message trap (TRAP).

<figure><img src="image_2.png" /><figcaption>Figure 1. Five types of SNMP Operation</figcaption></figure>

3. MIB module design and code conversion

SNMP itself does not define which information a managed system should offer. Instead, SNMP uses an extensible design, where the available information is defined by management information baes(MIB). MIB describe the structure of the management data of a device subsystem; they use a hierarchical namespace containing object identifiers (OID). Each OID identifies a variable that can be read or set via SNMP. MIB use the notation defined by ASN.1.

<figure><img src="image_3.png" /><figcaption>Figure 2. Definiton(skeletal) of SMI for SNMP v2</figcaption></figure>

In telecommunications and computer networking, Abstract Syntax Notation One (ASN.1) is a standard and flexible notation that describes data structures for representing, encoding, transmitting, and decoding data. It provides a set of formal rules for describing the structure of objects that are independent of machine-specific encoding techniques and is a precise, formal notation that removes ambiguities.

ASN.1 is defined as a set of rules used to specify data types and structures for storage of information.Basic Encoding Rules (BER) is defined for the transfer syntax by the ASN.1 syntax.The syntax to create a SMIB module is referred to the description section in SMI(Structure of Management Information).

In this paper, MG-SOFT is used to define a MIB document in ASN.1. MG-SOFT's MIB tools are quite mature and widely used for SNMP development and testing.Its MIB Browser can not only read and write MIB, but also receive the Trap sent by SNMP agents; MIB Compiler can be used to check the legality of MIB, which is useful for the compose of MIB.This MIB document is then transformed into the C language source file by MIB2C.MIB2C is a useful software tool in NET-SNMP. Follow these steps to convert:

First of all copy the MIB module definition files to
the mibs directory:

cp./modulename /usr/local/share/snmp/mibs;

Then, run MIB2C command: /Usr/local/bin/mib2c
modulename to translate;

Finally,MIB2C generated in the current directory
two C source files: modulename.h and modulename.c.
These two documents are made under the MIB library
module conversion, and also need to be added to the
NET-SNMP SNMP Agent Software to extensions of
the source code.

4. SNMP Entity and AGENT Extension

The SNMP Agent consists of a dispatcher,
a message processing subsystem, and a
secutiy subsystem.

The SNMP Agent consists of a dispatcher, a
message processing subsystem, and a securtiy
subsystem.

The SNMP message processing subsystem of an SNMP engine interacts with the dispatcher to handle version-specific SNMP message.It contains one or more message processing models.The version is identified by the version field in the header.

The security and access control subsystem provides
authentication and privacy protection at the message
level. The access control subsystem provides access authorization security.

There is only one dispatcher in an SNMP engine, but it can handle multiple versions of SNMP message. It performs three sets of functions. First, it sends message to and receives message from the network. Second, it determines the version of the message and the interacts with the corresponding message processing model. Third, it provides an abstract interface to SNMP applications to deliver an incoming PDU to the local application and to send a PDU from the local application to a remote entity.

<figure><img src="image_4.png" /><figcaption>Figure 3. SNMP Agent Entity</figcaption></figure>

To complete the SNMP Agent to an embedded device, follow the steps as follows:

In the `net-snmp-5.4.2.1` directory configure:

```
/ Configure - host = arm-linux target = arm --With-cc = /armv4l-unknown-linux-gcc - -with-ar = arm-linux-ar --disable-shared - with-endianness = little -With-mib-modules = "moudlename"
```

In the `net-snmp-5.4.2.1` directory, compile: make.

In `net-snmp-5.4.2.1/agent` directory, you can see the generated `snmpd` process, as shown below:

Copy the `snmpd` program to the development board `/usr/bin` directory and start with the following command: `/usr/bin/snmpd -V -c /etc/snmpd.conf`

<figure><img src="image_5.png" /><figcaption>Figure 4. Run the snmpd program</figcaption></figure>

## 5. Conclusion

The SNMP protocol was developed to facilitate the network management. In this paper the free software package, `NET-SNMP` is used to extend the `NET-SNMP` agent to an embedded system under the `ARM-LINUX` OS in order that the embedded can be controlled remotely by SNMP NMS.NET-SNMP makes it possible to integrate an embedded system into a network and to manage it with SNMP managers like `MG-SOFT`. The Management station's IP is `192.168.2.4`, and the embedded equipment's IP is `192.168.2.120`. The testing result of verifying the embedded SNMP agent shows as in Figure 5.

<figure><img src="image_6.png" /><figcaption>Figure 5. Verify the SNMP agent</figcaption></figure>
## 6. Acknowledement

This work was sponsored by the technology proliferation plan item of Nanchang city (Caiqi[2008], NO.68), science and research foundation of East China Jiaotong University(09XX05).

## 7. References

[1] RFC1155 Structure and identification of management information for TCP/IP-based internets, M.T.Rose, K. McCloghrie, May-01-1990 (for the complete set of data types)

[2] RFC1157 Simple Network Management Protocol (SNMP), J.D. Case, M. Fedor, M.L. Schoffstall, C.Davin, May-01-1990. (Obsoletes RFC1098)

[3] RFC1213 Management Information Base for Network Management of TCP/IP-based internets: MIB-II. K. McCloghrie, M.T. Rose. Mar-01-1991. (Obsoletes RFC1158) (Updated by RFC2011 RFC2012, RFC2013) (Also STD0017)

[4] RFC1905 Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2).SNMPv2 Working Group, J. Case, K. McCloghrie, M.Rose & S. Waldbusser. January 1996.)

[5] Mani Subramanian, NETWORK MANAGEMENT Principles and Practice, Higher Education Process Pearson Education, Beijing, 2001

[6] DOUGLAS E COMER, AUTOMATED NETWORK MANAGEMENT SYSTEMS, Machinery Industry Press, Beijing, 2008

[7] WANG Shuang, LI Tong. Application of SNMP on VxWorks Embedded Operation System[J]. Micro Computer Information.2004.V01(21) No.5:86-87.

[8] Richardson P C, Xiang Weidong, Mohamad S. Performance Analysis of a Real-time Control Network Test Bed in a Linux-based System with Sporadic Message Arrivals[J]. IEEE Transactions on Industrial Informatics, 2006, 2(4):231-241.

[9] FU Guoqiang, YANG Wanpeng. Research on scheme of intelligent network management[J]. Journal of Xi's University of Engineering Science and Technology.2005.V01.19 No.1:89-92.

[10] Stallings W. SNMP and SNMPv2. The infrastructure for network management[J]. Communications Magazine, IERE, 2008, 36(3): 110-115.