Rudimentary NMS Software Components Essay

Rudimentary NMS Software Components Essay

The importance of network management systems (NMS) and development of a rudimentary NMS are considered. Essential parts of a basic NMS and steps for building this system are indicated. Basic programming concepts related to construction of a rudimentary NMS are explained. NMS security issues and their sources are briefly discussed.

Introduction
Nowadays the companies are dependent on networking services and their quality, which results in high demand for various network management systems. Statistics shows that spending on network maintenance and infrastructure in many companies outweigh the sums allocated to all other IT costs (Sturt, 2004). The functions of network management systems (NMS) include support of administration, operation and provisioning of network services (Sturt, 2004). Common requirements also include diagnosing issues, IT audits, monitoring network assets and locating network components. The purpose of this essay is to analyze the process of constructing a rudimentary NMS, consider the key steps in this process and to discuss basic programming concepts related to building NMS.
Steps for building a rudimentary NMS
A rudimentary NMS with minimal functions should necessarily contain such elements as SNMP manager, SNMP agents, MIB objects and a database. The core object in this structure is SNMP manager, which allows to target various SNMP agents on any network object which is SNMP-reachable (Morris, 2003), if the access rights are set properly. It should be noted that this NMS is designed to be deployed in the environment where the operating system provides at least basic SNMP services which can be configured to execute SNMP SET command to the agents of new NMS.
To implement a rudimentary NMS, the developers should realize such functions as getting and setting SNMP notifications, maintaining agent calls to the SNMP manager (building an access server) and the process of network trapping/listening (Ditsa, 2003).
Basic code concepts for NMS
Commonly, the API of a basic SNMP manager should allow to perform such operations as “get”, “get next”, “set”, “trap” and “walk” (Morris, 2003). It is useful to determine function calls, global variables and symbolic constants in the header file, and to separate code into a source code file. The operation “get” receives the object which is a specified instance from the MIB system table. “Getnext” returns not a string with specific instance, but the host name. “Set” operation pushes the data to the remote agent’s MIB (Morris, 2003).
In order to receive the MIBs supported by a specific SNMP agent, the “walk” operation should be used. This procedure starts at specific mode of the MIB system tree and traverses the leaf objects related to a particular branch. The whole traverse process is based on “getnext” messages and the exchange of messages between NMS manager and NMS agent (Morris, 2003). “Trap” command puts the NMS manager in the mode of listening, while the agents organizes a given number of traps (e.g. 3 traps). The trap is realized through starting and stopping SNMP service. For a more complex NMS, the FCAPS framework should be followed, including fault server, provisioning or configuration server, accounting, performance and security server (Sturt, 2004).
Conclusion
The scheme considered for building a rudimentary NMS should be carefully analyzed with regard to security. Security breaches are possible when the “set” operations are performed. In the considered example vulnerabilities are related to the constant number of retries and default timeout time, thus giving the possibility for hacking (Farrel, 2008).
In addition to hacking, nowadays there exist many network attacks such as denial of service, interception and modification of messages, message relay, “man-in-the-middle” and other security threats (Farrel, 2008). The NMS should have embedded means of maintaining security at all its levels, even if this NMS is rudimentary and can only perform the basic functions.