Simple network management protocol

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

1. Introduction

The wide spread of networks, and, in particular, of networks connected to each other, as the Internet, has imposed new needs that require new paradigms and new technologies. In this scenario, mobile agents have been proposed as a model to cope with the requirements of wide distributed applications. To make the mobile agents widely accepted there are still several open research issues to be faced: appropriate programming languages and coordination models, security, efficiency and standardization. [3]

Rapid development and new innovation in the computer and network technology had led the revolutionary advancement in the information world. Indeed, mobile agents, by providing a new paradigm of computer interactions, give new options for developers to design application-based on computer connectivity. [4]

The rest of the paper is organized as follows:

Section 2 presents an overview of the Simple Network Management Protocol (SNMP). Section 3 is about Computer Virus. In section 4 we will discuss about Mobile Agents. In section 5 is about the comparison between Agent, Computer virus and Simple Network Management Protocol (SNMP). Section 6 presents the conclusion.

2. Simple Network Management Protocol (SNMP)

Simple Network Management protocol is a standard for gathering statistical data about network traffic and the behavior of network components. It is an application layer protocol that sits above TCP/IP stack. It is a set of protocols for managing complex networks. It enables network administrators to manage network performance, find and solve network problems and plan for network growth. It is basically a request/response type of protocol, communicating management information between two types of SNMP entities: [5]

  • Applications which is also called Manager and
  • Agents.

Application (Manager):

It issue queries to get information about the status, configuration and performance of external network devices.


They are compliant devices; they store data about themselves in MIBs and return this data to the SNMP requesters.

The figure 1 depicts the functionality of SNMP.

The agent receives messages and sends a response back. Agent does not have to wait for order to act, if a serious problem arises or a significant event occurs, it sends a TRAP (a message that reports a problem or a significant event) to the manager. The Manager software is in management station (send message to Agent and receive Trap and Responses). It uses User Data Protocol (UDP, a simple protocol enabling an application to send individual message to other applications. Delivery is not guaranteed, and messages need not be delivered in the same order as they were sent) to carries its messages. Finally there is one application that enables end user to control the manager software and view network information. [6]

2.1 Strengths and Weakness of SNMP

The table 1 shows the Strengths and Weaknesses of SNMP.

Table 1



Its design and implementation is simple.

It may not be suitable for the management of truly large networks because of the performance limitations of polling.

Due to its simple design it can be expanded and also the protocol can be updated to meet future needs.

It is not well suited for retrieving large volumes of data, such as an entire routing table.

All major vendors of internetwork hardware, such as bridges and routers, design their products to support SNMP, making it very easy to implement.

Its traps are unacknowledged and most probably not delivered.

It provides only trivial authentication.

It does not support explicit actions.

Its MIB model is limited (does not support management queries based on object types or values).

It does not support manager-to-manager communications.

The information it deals with neither detailed nor well-organized enough to deal with the expanding modern networking requirements.

It uses UDP as a transport protocol. The complex policy updates require a sequence of updates and a reliable transport protocol, such as TCP, allows the policy update to be conducted over a shared state between the managed device and the management station.

3. Computer Virus

A computer virus is a malicious computer program that infects host systems and replicates itself to other host systems. We can simulate a virus attack on a small, isolated network test-bed by using a mobile agent.

An accepted definition of a computer virus is:

A virus is a piece of code with has two characteristics:

  • At least a partially automated capability to reproduce.
  • A method of transfer which is dependent on its ability to attach itself to other computer entities (programs, disk sectors, data files, etc.) that moves between these systems. [7]

Thus, the abilities to automatically reproduce and move to other hosts are indigenous properties of all viruses. This ability to transfer and reproduce manifests as the rapid spread of a virus through a computer network. A virus tends to be inefficient and wasteful of host computer and network resources.

3.1 Virus vs. Agent

The properties of reproduction and transferability are not unique to viruses. Agents, namely mobile autonomous agents, also have these capabilities. An agent can be defined as an entity that can receive percepts through sensors from its environment, and perform actions on its environment through affecters. An autonomous agent is a species of agent that senses its environment and acts in pursuit of its own agenda and so as to affect what it senses in the future. A mobile agent is yet another species of agent that is capable of transporting itself from one machine to another. The Java Aglet implementation of mobile agents adds the ability to clone itself as well as transfer itself to another machine. Therefore, the combination of these two agents yields a mobile autonomous agent and is capable of behaving much like a virus because it possesses the capability to autonomously reproduce and transfer itself to other machines.

A virus can be disguised as a mobile agent and distributed in the network causing damage to the host machines that execute the agent.

Can think of agents as a kind of virus?

The answer is “No”.

The major and fundamental Differences are (?)

  • Agents use deliberate transport infrastructure.
  • Viruses hijack some bug or feature of existing distributed system (email/ftp). [8]

4. Mobile Agent

The term agent comes from Greek ‘agein', which means to drive or to lead. Today the term agent denotes something that produces or is capable of producing an effect.

Agent computing, and in particular intelligent mobile agent computing, is at present awarded increasing prominence in the literature. This is partly due to the pervasive nature of available Internet technologies such as search engines and booking agents.

Mobile Agents are programs that can be dispatched from one computer and delivered to a remote computer for execution. [9]

A software agent is a computer program capable of autonomous actions in pursuit of a specific goal. Its autonomy distinguishes it from general software programs. Autonomy in agents implies that the software agent has the ability to perform its tasks without supervision, or at least with minimum supervision, in which case it will be a semi-autonomous software agent. [10]

This figure 2 shows about the working of a Mobile Agent.

4.1 Agent Life Cycle

Agent has its own life cycle which is defined in figure 3.

The agent perceives the state of its environment, integrates the perception in its knowledge base that is used to derive the next action which is then executed. This generic cycle is a useful abstraction as it provides a black-box view on the agent and encapsulates specific aspects.

Agents have a well-defined lifecycle. At the beginning, there will be initialization of the agent. The agent will then start to function and may stop and start again depending upon the environment and the tasks that is tried to accomplish. After the agent finished all the tasks that are required, it will end at the completing state. [11]

  • Create and Delete
  • Connect and Disconnect
  • Synchronization with reality
  • Start and Stop

The table 2 below shows what happens in each of these four states.

Table 2

Name of Step



Performs one-time setup activities.


Start its job or task.


Stops jobs, save intermediate results, joins all threads and stops.


Performs one-time termination activities.

All these steps involve in life cycle of an agent are shown figure 4.

4.2 Agent Oriented Programming

It is like a combination of the followings:

* Object

Grouping data and computation together in a single structural unit called an ‘Object'. Every agent looks like an object.

* Independent Thread of control

This means when this developed agent which is an object will be implemented in Boga server, looks like an independent thread. This makes an agent different from ordinary object.

* Initiation

This actually deals with the execution plan of that agent. When implemented that agent can be initiated from server for execution.

4.3 Strengths and Weakness of an Agent

Although the concept of mobile agent is over a decade old, the technology proves not to be perfect yet. Many researchers are now developing methods for improving the technology, with more standardization, better programming environments, as well as design patterns that may allow mobile agents to be used in products.

It is obvious that the more an application gets intelligent, the more it also gets unpredictable, dangerous and uncontrollable. The main drawback of mobile agents is the security risk involved in using mobile agents.

The following table 3 shows the major strengths and weaknesses in agent:

Table 3



Overcoming Network Latency


Reducing Network traffic


Asynchronous Execution and Autonomy

Lack of Applications

Operating in Heterogeneous Environments

Limited Exposure

Robust and Fault-tolerant Behavior


5. Comparison between Mobile Agent, Simple Network Management Protocol and Computer virus

Conventional network management is based on SNMP and often run in a centralized manner. Although the centralized management approach gives network administrators a flexibility of managing the whole network from a single place, it is prone to information bottleneck and excessive processing load at the manager and heavy usage of network bandwidth. [12]

Mobile agents are commonly useful for heterogeneous networks. Mobile agents for network management tend to monitor and control networked devices on site and consequently save the manager capacity and network bandwidth. [12]

The table 4 shows a comparison between Mobile Agent, Simple Network Management Protocol (SNMP) and Computer Virus.

Table 4

Sr. No.


Mobile Agent


Computer Virus


Fault Tolerance



Not Capable


Latency Rate


Low (4-5 order Magnitude)

Not Capable





May sometime


Transport Protocol






Very poor




Description Language



Any Language


Network Management Capabilities

Can be used for this purpose

It's used for this purpose

Not Capable


Data Processing

Equally good for large & small data

Poor for large quantities of data exchange

Not Capable


Failure & Concurrency



Not Capable


Packet size Network

Code & execution state can be moved around the network. (Only code in case of weak mobility)

Only address can be sent for the request and the data on reply of this request

The full code (Only full text of a program)


Network Support



It can work on both


Network Monitoring

Mobile Agents give flexibility to analyze the managed nodes locally

It is very difficult due to reason like network delays and information bottleneck at centralized management station

Not Capable

6. Conclusion.

The use of mobile agents is due to its major advantages while the other 2 lacks. These are: reduce the network load, overcome network latency, asynchronously and autonomously execution, heterogeneity and robust and fault-tolerant. There are many applications of mobile agent technology. Some of the domains are: e-commerce, telecommunication networks services, parallel computing and parallel processing.

The worth of any network depends on the number of users and the number of locations participating in the network, the system still provides some resources to agents. Mobile-agent systems have eased the application design process, which provides flexibility to software engineers.

Mobile agent paradigm seems to be, for many researchers, the right solution to deal with the pressures of these new demands. Indeed, mobile agents, by providing a new paradigm of computer interactions, give new options for developers to design application-based on computer connectivity.


[1] Ichiro, S. Selection of Mobile Agents. 24th IEEE, ICDCS 2004.

[2] Wooldridge, M. Introduction to Multi Agent Systems. John Wiley & Sons, ISBN: 0-471-49691-x, Chichester, UK,. Chapter 10, Section 10.4 , 2002.

[3] White, J. Mobile Agents: In Software Agents. Bradshaw, J. Ed., MIT Press, 1997.

[4] Lang, D.B., and Oshima, M. Programming and Deploying Javaâ„¢ Mobile Agents with Agletsâ„¢, Addison-Wesley. ISBN: 0201325829, 1998.

[5] Stallings, W. SNMP and SNMPv2: The Infrastructure for Network Management. IEEE Communications Magazine, vol. 36, n_3, p. 37-43, March 1998.

[6] Stallings, W. SNMP, SNMPv2 and RMON: Practical Network Management. Addison-Wesley, 1999.

[7] Hoffman, L. J. Rogue Programs: Viruses, Worms, and Trojan Horses. Van Nostrand

Reinhold, New York, NY, 1990.

[8] Spafford, E.H., Computer Viruses - A Form ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `of Artificial Life? Department of Computer Science, Purdue University, West Lafayatte, IN 47907-1398, September 19, 1991.

[9] Lang, D.B. Mobile Agents: Environments, Technologies, and Applications. In Proceedings of the Third International Conference on the practical Application of Intelligent Agents and Multi-Agent Technology, 11-14. The Practical Application Company, 1998.

[10] Ichiro, S. Reusable Mobile Agents for Cluster Computing. National Institute of Informatics. URL, 2003

[11] Sundsted, T. Agents on the move, Bolster your client apps by adding agent mobility. URL:, 1998.

[12] web site:

[13] web site: