Network Monitoring System using SNMP

Note: Please Scroll Down to See the Download Link.

ABSTRACT

The simple network management protocol was designed to be easily implemented, basic network-management tool that could be used to meet short-term network management needs. Because of the slow progress in OSI systems management, SNMP has filled the gap and become the dominant network-management scheme is use today.

The SNMP set of standards provides a framework for the definition of management information and a protocol for the exchange of that information. The SNMP model assumes the existence of managers and agents. A manager is a software module in a management system responsible for managing part or all of the configuration on behalf of network-management applications and users. An agent is a software module in a managed device responsible for maintaining local management information to a manger via SNMP. A management information exchange can be initiated by the manager or by the agent (trap).

SNMP accommodates the management of devices that do not implement the SNMP software by means of proxies. A proxy is an SNMP agent that maintains information on behalf of one or more non-SNMP devices.

Within the SNMP framework, management information is represented using Abstract Syntax Notation (ASN.1). A management information base consists of a collection of objects organized into groups. Objects hold values that represent managed  resources: a group is a unit of conformance.

The SNMP management station is really helpful in monitoring the network. We have provided a graphical user interface, which displays the system information. It can also be used to view the tcp connections, udp connections made by the agent.

INTRODUCTION

The arrival of PC's, workstations, LANs and servers changed the shape of networks forever. Where once there were dumb terminals and a handful of intelligent hosts, communities of intelligent systems clustered together and then reached out to communicate with one another.

The market responded with a cornucopia of new devices-local and remote bridges, multiprotocol routers, distributed hubs, and switching hubs. The higher bandwidth requirements of LAN-to-LAN networking brought in high-performance telecommunications equipment, such as TI DSU/CSU units or frame relay interfaces.

Customers began to buy systems and equipment from many different vendors. When customers demanded that the vendors supply the means to configure, monitor and test network equipment; each vendor produced a console product that talked to its equipment using a hand-crafted secret language.

Every time a new product was introduced to the environment, a new user interface elbowed its way into the crowded Network Operations Center. Each user interface came complete with its own terminology, mysterious command phrases, and navigational logic. Every tool measured and counted according to different rules.

It seemed unlikely that the situation could do anything but get steadily more chaotic and more confusing.

But today we have a widely implemented protocol for network management-the Simple Network Management Protocol or SNMP. There has been a rapid and effective co-operation in developing a common language and a common set of measurements for network equipment of all types. Devices ranging in sophistication from repeaters to supercomputers contain the standard software that they need in order to participate in network management.

Network devices contain information about themselves. For example, every device has been configured with some selection of parameters. A device has a current status that indicates whether it is in healthy running condition. Devices often keep internal statistics that count incoming and outgoing traffic and various observed errors.

Some devices contain a wealth of very interesting knowledge about their neighbors. A network monitor is designed eavesdrop on a LAN or wide-area link and find out which stations are active, gather traffic statistics, check for conditions that signal a possible problem, or even a capture a copy of a selected stream of traffic.

All of this information is at the heart of Simple Network Management. The key elements are:

q  What information is interesting? Working groups of technology experts have hammered out a consensus of what information is interesting. As a side effect, this has lead to the standardization of the form and meaning of information stored across products from many different vendors.

q  How do we name it? Naming is important because you can't ask for an item of information unless it has a name. The Management framework includes a well-defined way to assign names.

q  How do we get it or change it? Although SNMP has become popular nickname for the entire Simple Network Management framework, SNMP actually refers to one part of the framework. The Simple Network Management Protocol is the component that gets information from devices and changes the values of configuration parameters.

Problem Specification

The SNMP set of standards provide a framework for the definition of management information and a protocol for the exchange of that information. The SNMP model assumes the existence of managers and agents.

It is required to build a management station which interacts with the agents in the network. The management station should display the traffic at various agents. It is also show the active connections open that agent system.

Analysis

Analysis and design is the most important and critical phase of software development.

This system is designed using an object oriented software development methodology. Object oriented modeling and design is a new way of thinking about problems using models organized around real world concepts. Object is the fundamental construct that binds both data structure and behavior in a single entity.

The object model represents the static structural data aspects of the system. This model describes the structure of the objects their identity, their relationship with other objects, their attributes and their operations. Object model is represented graphically using object diagrams containing object classes.

Object diagram provides a formal graphical notation for modeling objects, classes and their relationships to one another. Object diagrams are useful for both abstract modeling and for designing actual programs. Object diagrams are concise, easy to understand and work well in  practice

Implementation

The SNMP API

Adventnet Inc has provided an API for developing management applications. This package has been used in this system.

The AdventNet SNMP package uses the SNMP API class to manage sessions created by the user application, manage the MIB modules that have been loaded, and store some key parameters for SNMP communication, e.g. SNMP ports to be used. An SNMP application (manager or agent) often needs to manage multiple sessions on account of interacting with multiple SNMP peers. The SNMPAPI class has a list of sessions attached to it and monitors each of the sessions for timeouts and retransmits via a separate thread. It enables a few methods across all sessions, e.g checking if responses have come in on any of the sessions, etc. Multiple threads can work with a single SNMPAPI instance.

The SNMP session class is used to manage a session with an SNMP peer. You can talk to more than one host via a single session, but it makes sense to use separate sessions for hosts you talk to often in an application. Each session runs as a separate thread (primarily to do receive tasks) and provides functions to open sessions(on a particular local port if needed) synchronously or asynchronously send and receive SNMP requests, check for responses and timeouts, and close sessions.

Interaction between the SNMP manager and the agent is via SNMP protocol data units, PDUs. The SNMPPDU class will be used to provide the variables and methods to create and use the SNMPPDU. The methods include adding null valued variable bindings and printing all variable bindings.

Click here to download Network Monitoring System using SNMP source code