SNMP NeMoSys
#1

SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 1

[attachment=8620]

1. INTRODUCTION

For many automated processes in large scale and long-distance distributed systems,
the remote monitoring and control system is crucial to achieving guaranteed normal
operations. It allows for monitoring the status of processes, detecting abnormal
conditions, activating emergency machines, and reporting alarms. In the traditional
approach, people are often put at risk monitoring industrial processes in close
proximity through a specific network protocol. Recently, due to the rapid
development of Internet technology, monitoring systems no longer needs to be within
a given area, and several remote approaches have been proposed that allow people to
monitor the processes of systems from great distances.
A network of computer systems and its associated peripherals like printers, switches,
routers, etc are integral hardware assets of an organization‘s IT infrastructure.
Maintaining these hardware assets is vital for the success of a company. These
hardware assets may be distributed in different topographical or geographical
locations that make it very difficult to monitor and maintain them. It is required to
manage these assets from a single location by the System Administration Department
using available tools.
Simple Network Management Protocol (SNMP) is the network protocol developed to
manage devices on an IP network. SNMP is defined in RFC (Request For Comments)
by IETF (Internet Engineering Task Force). SNMP is everywhere: server,
workstation, router, firewall, switch, hub, printer, ip, phone, appliance...
SNMP is used by network administrators:
i) to manage network performance
ii) to find and solve network problems
iii) to plan network growth
An SNMP-managed network consists of the following components: SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 2

Managed device
Agent — software which runs on managed devices
Network management system (NMS) — software which runs on the manager
a database of management information
The SNMP manager provides the interface between the human network manager
and the management system. The SNMP agent provides the interface between the
manager and the physical device(s) being managed.


Network protocol
Manager

Human
Network
Manager


Management System Managed System
Fig 1.1 network management architecture.

The SNMP manager and agent use an SNMP Management Information Base (MIB)
and a relatively small set of commands to exchange information. The SNMP MIB is
organized in a tree structure with individual variables, such as point status or
description, being represented as leaves on the branches. A long numeric tag or object
identifier (OID) is used to distinguish each variable uniquely in the MIB and in
SNMP messages.
Each SNMP element manages specific objects with each object having specific
characteristics. Each object / characteristic has a unique object identifier (OID)

Agent


Manager
Management
Database
Managed
object
Management
Database SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 3

consisting of numbers separated by decimal points (i.e., 1.3.6.1.4.1.2682.1). These
object identifiers naturally form a tree as shown below. The MIB associates each OID
with a readable label and various other parameters related to the object. The MIB then
serves as a data dictionary or code book that is used to assemble and interpret SNMP
messages.

Fig 1.2 structure of management information base
SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 4

SNMP uses five basic messages (GET, GET-NEXT, GET-RESPONSE, SET, and
TRAP) to communicate between the SNMP manager and the SNMP agent. The GET
and GET-NEXT messages allow the manager to request information for a specific
variable. The agent, upon receiving a GET or GET-NEXT message, will issue a GET-
RESPONSE message to the SNMP manager with either the information requested or
an error indication as to why the request cannot be processed. A SET message allows
the SNMP manager to request a change be made to the value of a specific variable in
the case of an alarm remote that will operate a relay. The SNMP agent will then
respond with a GET-RESPONSE message indicating the change has been made or an
error indication as to why the change cannot be made. The SNMP TRAP message
allows the agent to spontaneously inform the SNMP manager of an "important" event.
Most of the messages (GET, GET-NEXT and SET) are only issued by the SNMP
manager. Because the TRAP message is the only message capable of being initiated
by an SNMP agent. This notifies the SNMP manager as soon as an alarm condition
occurs, instead of waiting for the SNMP manager to ask.

1.1 PROBLEM DEFINITION

The main objective of the project work is to design and develop a network
monitoring tool using SNMP. The SNMP based network management system is a
monitoring and management tool which continuously scans each and every hardware
device (servers, workstations, printers, switches and routers) in a network. The user
interface of this tool provides function to read the status and change or set the settings
of the components in a network. The settings of any device in the network can be
changed using this tool remotely.
SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 5

2. SYSTEM ANALYSIS

System analysis is the first phase of System Development Life Cycle. It involves
studying the ways an organization currently retrieves and process data to produce
information with the goal of determining how to make it work better. System analysis
includes two stages, preliminary and a detailed stage.
2.1 FEASIBILITY STUDY
The main aim of the Feasibility Study activity is to determine whether it could be
financially and technically feasible to develop the product. So depending upon the
aspect on which feasibility is being done it can be mainly categorized into three
classes:
Technical Feasibility
Economic Feasibility
Operational Feasibility
i) Operational Feasibility
This section focuses on the user, how the system satisfies the user needs. The system
should be easy to operate by the user and it should also be flexible to the
requirements. Proposed systems are beneficial only if they can be turned into
information system that will meet the organization operating requirements.
People are inheritably resistant to change and computers have been known to facilitate
change. An estimate should be made to know how strong the reaction of a user staff is
likely to have towards the development computerized system. Since the system is use
in the organization, this system is operationally feasible.
SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 6

ii) Technical Feasibility
A study of function performance and constraints that may affect the ability to achieve
an acceptable system to any designated order is made. It also provides technical
guarantee of assurance reliability, easy access and security. Thus, since both hardware
and software requirements are satisfied it is technically feasible.
iii) Economic Feasibility
Economic analysis is the most frequently used method for evaluating the effectiveness
of a new system. More commonly known as cost/benefit analysis, the procedure is to
determine the benefits and savings that are expected from a candidate system and
compare them with costs. If benefits outweigh costs, then the decision is made to
design and implement the system. An entrepreneur must accurately weigh the cost
versus benefits before taking an action.
2.2 PRELIMINARY ANALYSIS

During primary analysis, the analyst takes a quick look at what is wanted and whether
its cost and benefits justify the perceived want. The main objectives of preliminary
analysis is to identify the customer's needs, evaluate system concept for feasibility,
perform economic and technical analysis, perform cost benefit analysis and create
system definition that forms the foundation for all subsequent engineering works.
2.3 DETAILED ANALYSIS
Detailed analysis include in-depth look at what is wanted and contained more refine
cost and benefits studied.

SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 7

2.3.1 FINDING THE ANALYSIS
Based on the analysis we discovered that there is no negative impact on the
performance of the system.
2.3.2 CONCLUSION OF THE ANALYSIS
Based on the findings we felt that the use of SNMP data collection on a network can
be permitted.
2.4 PROPOSED SYSTEM
The SNMP based network monitoring system
retrieves information from an SNMP-capable device, either using single
request or multiple requests
manipulate configuration information on an SNMP-capable device
retrieve a fixed collection of information from an SNMP-capable device
SNMP uses five basic messages (GET, GET-NEXT, GET-RESPONSE, SET, and
TRAP) to communicate between the SNMP manager and the SNMP agent. The GET
and GET-NEXT messages allow the manager to request information for a specific
variable.
2.5 REQUIREMENT SPECIFICATION
The proposed work requires input screens for administration module, asset
entry module, scan and set value module and report generation module.
The input for the administration module requires data for login
information as well as for user creation and privilege setting.
The asset entry module requires, as input, the details of the assets
connected to the network. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 8

The input data for the scan module are the IP and OID (Object ID) of
the device required to be scanned.
The set value requires the IP of the device as well as the new value of
the OID to be set
The report _generation module will need as input, the particulars based
on which the reports are to be generated.

2.5.1 HARDWARE REQUIREMENT SPECIFICATION

Microprocessor : Pentium IV with 1 GHz processor
Mother board : Intel Original
RAM : 1 GB
Cache Memory : 512 MB
Hard Disk Drive : 80 GB

2.5.2 SOFTWARE REQUIREMENT SPECIFICATION

Operating system: windows xp
Frame work: .NET
Front End: Visual studio 2005/2008
Back End: MSSQL 2000/2005


SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 9


2.6 AUTHENTICATION AND AUTHORIZATION

A computer network is maintained for information sharing. It is the basic requirement
for a network. Since information is transmitted through the network, it is susceptible
to interception and /or intrusion. A person who tries to intrude into a network must be
blocked. The basic steps to take care of intruders are to verify their authority and
authenticity of the user of the network. For that we use many methods. The most
important methods are User authorization and User authentication.

2.6.1 USER AUTHENTICATION
An operating system bases much of its protection on knowing who a user of the
system is. In real life situations, people commonly ask for identification from people
they do not know: Library employees may require some identification before giving
out books, and immigration officials ask for passports as proof of identity.
Authentication mechanisms use any of the following three qualities to confirm a
user‘s identity.
Something the user knows. Passwords, PIN numbers, a secret handshake,
and mother‘s maiden name are examples of what a user may know.
Something the user has. Identity badges, physical keys, a driver‘s license, or
a uniform are common examples of things people have that make them
recognizable.
Something the user is. These authenticators, called biometrics, are based on
physical characteristics of the user, such as a fingerprint, the pattern of a
person‘s voice, or a face.

SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 10

2.6.2 USER AUTHORIZATION

Authorization is verifying that the person (or machine) is really allowed to do what it
is requesting to do. Authorization is usually checked after user authentication.
Authorization is achieved by assigning access controls, such as read, write or delete,
for user IDs or group names to the objects being accessed there by restricting user‘s
access to computer systems. Usually authorization is implemented through a
combination of username and password.

2.6.3 AUTHORIZATION IMPLEMENTED IN THIS PROJECT

Unauthorized access to the system has been strictly restricted. There are mainly two
categories of users‘ viz ordinary user and administrator.
The administrator will have the privileges to create new user, view, edit and delete
records. The ordinary user will not have the rights for user management.
The user with administrator rights can create new user and also set the privileges of
the user as ordinary user or administrator.
When an unauthorized person tries to gain access to the system, the login fails and he
is not allowed access to the application main menu at all.
Also, SNMP provides important security features:
Message integrity to ensure that a packet has not been tampered with in transit.
Authentication to verify that the message is from a valid source.
Encryption of packets to prevent snooping by an unauthorized source. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 11

3. SYSTEM DESIGN

System design is the most creative and the challenging phase in the system life cycle.
System design is the solution ―how to approach‖ the creation of a new system. It
transforms a logic representation of what is required to do into the physical
specification. The specification is converted into physical reality during development.
It is the process or art of defining the architecture, components, modules, interfaces,
and data for a system to satisfy specified requirements. System design is the process
of planning a new business system or one to replace or complement an existing
system. Analysis specifies what the system should do. Design states that how to
accomplish the objective.
One could see it as the application of systems theory to product development. It is the
process through which requirements are translated into a representation of the
software.
The physical design includes the hardware, computer equipment and software
programs that cause the equipment to perform the specified functions and produce the
required information output.
After the proposed system is analyzed and designed, the actual implementation of the
system occurs. After implementation, working system is available and it requires
timely maintenance. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 12

.
Fig 3.1 various stages involved in building an improved system

Every system is a set of some functional units that work together to achieve some
objective. Our system has many functional units. Each functional unit has its own
task. However, each of these works independently to achieve the overall objective.
Data is an important component of any system. The system is mainly concerned with
the management of data it is an information system.
If this system were to be automated as conceived by the management, then role of the
system analyst would be to study the system, its workings, and its existing problems.
Also the analyst needs to provide a solution to the existing problem. Analysts working
on the preliminary investigation should accomplish the following objectives:
 Clarify and understand the project request
 Determine the size of the project
 Assess cost and benefits of alternative approaches SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 13

3.1 SOFTWARE DESIGN
Design is the first step in the development phase for any engineered product or
system. It may be defined as the process of applying various techniques and principles
for the purpose of defining a device process or a system in sufficient detail to permit
its physical realization. The purpose of the design is to plan a solution of the program
specified by the required document. This phase is the first step in moving from the
problem domain to the solution domain. In other words, starting with what is needed;
take us towards how to satisfy needs.
3.1.1 ARCHITECTURAL DESIGN
This is the one, which defines the relationships between major structural elements of
the program. The design representation-the modular framework of a computer
program can be derived from analysis models and the interaction of the subsystems
defined within the analysis model.
The primary objective is to develop a modular program structure and represent the
relationships between modules. In addition, architectural design melds program
structure and data structure, defining the interface that enables data flow through out
the program.
3.1.2 USER INTERFACE DESIGN
The interface design describes how the software communicates within itself to
systems that inter operate with it and with users who use it. An interface implies a
flow of information. Therefore, the data and control flow diagrams provide the
information required for the interface design. User interface is the doorway into an
interactive software application. The design of human-computer interface demands an
understanding of human factors and interface technology. Human perception, the skill
level, the behavior profile of the user and the overall tasks that the user must conduct
are factors in the design of the interface. The most exciting trend in interface design is
windowing. A windowing environment combines character and graphics interfaces. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 14

The interface tells the system what actions to take entering, changing or retrieving
data. It allows user to accomplish processing actions or actively and effectively in am
manner that perceive as being a natural and reasonable way to request and carry out
activities. The interface should be in such a manner to include the use of methods that
will not grow tiresome or unacceptable to frequent users who become familiar with
system but them which will facilitate equally effective use by novice users.
The user interface portion of software is responsible for all interactions with the user.
Development of good user interface usually takes a significant portion of the total
system development effort. User interface design must take into account the needs,
experience and capabilities of the system user. Potential users should be involved in
the design process. It is impossible to judge user interface from an abstract
description. Prototyping is essential for user interface development. The prototype
should be made available to users and the resulting feedback used to improve the user
interface design. GUI can be defined as a program interface that takes advantage of
the computer‘s graphic capabilities to make the program easier to use. Well-designed
graphical user interfaces can free the users from learning complex command
language. For this system, GUI plays a leading role as it involves interactions with the
user. This software hides from the users several parameters in order to keep the user
interface as simple as possible. It prompts the user to key in only those parameters
that are highly user dependent. Incorporating suitable menu structure provides user
friendliness. The user can easily operate the system at the ease of a mouse click
without having to remember complex commands. The user is provided with multiple
screens for system interaction.
User interface design or user interface engineering is the design of computers,
appliances, machines, mobile communication devices, software applications and
websites with the focus on the user‘s experience and interaction. Where traditional
graphic design seeks to make the object or application physically attractive, the goal
of user interface design is to make the user‘s interactions as simple and efficient as
possible, in terms of accomplishing user goals-what is often called user-centered SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 15

design. Where good graphic/industrial design is bold and eye catching, good user
interface design is to facilitate finishing the task at hand over drawing unnecessary
attention to itself. Graphic design may be utilized to apply a theme or style to the
interface without compromising its usability. The design process of an interface must
balance the meaning of its visual elements that conform the mental model of
operation, and the functionality from a technical engineering perspective, in order to
create a system that is both usable and easy to adapt to the changing user needs.
User Interface Design is involved in a wide range of projects from computer systems
to cars to commercial planes; all of these projects involve much of the same basic
human interaction yet also require some unique skills and knowledge. As a result User
Interface Designs tend to specialize in certain types of projects and have skills
centered on their expertise, whether that be software design, user research, web design
or industrial design. Many technologies invocations rely upon User Interface Design
to elevate their technical complexity to a usable product. Technology alone may not
win user acceptance and subsequent marketability. The user experience or how the
user experiences the end product is the key to acceptance. Add that is where User
Interface Design enters the design process. While product engineers focus on the
technology, usability specialists focus on the user interface. For greatest efficiency
and cost effectiveness, this working relationship should be maintained from the start
of a project to its rollout. When applied to computer software User Interface Design
also known as Human-Computer Interaction or HCL. While people often think of
Interface Design in terms of computers, it also refers to many products where user
interacts with controls or displays. Optimized User Interface Design requires a
systematic approach to the design process. But to ensure optimum performance,
usability testing is required. This empirical testing permits naïve users to provide data
about what does work as anticipated and what does not work. Only after the resulting
repairs are made can a product be deemed to have a user optimized interface. The
importance of good User Interface Design can be the difference between product
acceptance and rejection in the marketplace. If end-users feel it is not easy to learn,
not easy to use or too cumbersome, an otherwise excellent product could fail. Good SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 16

User Interface Design can make a product easy to understand and use which results in
greater in greater user acceptance.
3.1.3 PROCEDURAL DESIGN
In procedural design, the focus is on specifying the set of algorithms and their control
flow. Procedural design occurs after data, architectural and interface design has been
established. A good software structure design results in the development of a perfect
working software system. For the development of the software modules were
identified. For this, the software was divided into separate named and addressable
components that are integrated to satisfy the problem requirement.
The modular design reduces complexity; facilitate changes and results in easier
implementation by encouraging parallel development of different parts of a system.
The procedural design transforms the structural elements of the program architecture
into a procedural description of software components.
Procedures specify what tasks must be performed in using the system and who is
responsible for carrying them out. There should be methods for capturing transaction
data and entering it into the information system called entry procedures. There should
be run time procedures, which are steps and actions taken by system operators and
end users who are interfacing with the system to achieve the desired result. Error
handling procedures should be there to take care of the system when unexpected
result occurs. Also, there should be actions to protect the system against damage.



SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 17

3.2 INPUT DESIGN
Input design user oriented user originated inputs are converted to a computer based
format. It includes determining the record media, methods of input, speed of capture
and entry into the system. The goal of designing input data is to make data entry easy.
Logical and free from errors are possible. Thus the objective of the designer is to
achieve highest possible level of accuracy and ensure that the input is acceptable and
understood by user and the staff. A formatted form of the data entry is also provided
which requested the user to enter the data in appropriate location.
The input forms used for this software are as follows.
i) User Creation Form
This form is used to enter the details of new users such as user ID, user name, user
login, user password and user privilege. The details collected using this form is
stored in the User table.
ii) Asset creation form
This form is used to enter the details of the assets such as asset ID, asset name,
asset location and five sets of OID value and OID name. These particulars get
stored in the asset table.
3.3. DATABASE DESIGN
This activity deals with the design of the physical database. A database is a collection
of interrelated data stored with minimum redundancy to serve many users quickly and
efficiently. The general objective is to make information access easy, efficient,
inexpensive and flexible for the user. Generally speaking, the steps in a database
design process involves SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 18

i) Collecting information, which includes designing fields, assigning and
resolving fields, defining usage and so forth.
ii) Formulating the requirement including performance
iii) Forming the records and files
iv) Forming an overall structure of database including specification
After designing screens, the program logic is designed, how the system can be
effectively done to get the accurate results. Various tools such as DFD, flowchart and
structured chart, ER diagram are used.

3.3.1 TABLES USED

Table: USER







SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 19


Table: ASSET



3.4 OUTPUT DESIGN
The computer output is the most important and direct source of information to the
user. Efficient, intelligible output design should improve the system‘s relationship
with the user and helps in decisions making.
In output design the emphasis is on displaying the output on a CRT screen in a
predefined format. The primary consideration in design of the information
requirement and objectives of the end users. The major information of the output is to
convey the information and so its layout and design need a careful consideration.
SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 20

3.4.1 USECASE DIAGRAM

A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a
graphical overview of the functionality provided by a system in terms of actors, their
goals (represented as use cases), and any dependencies between those use cases.
The main purpose of a use case diagram is to show what system functions are
performed for which actor.
Use cases
A use case describes a sequence of actions that provide something of
measurable value to an actor and is drawn as a horizontal ellipse.
Actors
An actor is a person, organization, or external system that plays a role in one
or more interactions with the system.
System boundary boxes (optional)
A rectangle is drawn around the use cases, called the system boundary box, to
indicate the scope of system. Anything within the box represents functionality
that is in scope and anything outside the box is not.




SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 21




3.5 DATA FLOW DIAGRAM

The DFD is a single graphical formalism that can be used to represent a system in
terms of the input data to the system, various processing carried out on these data, and
the output data generated by the system. The DFD is also known as Bubble Chart. In
fact DFD may be proportioned into levels that represent increasing information flow
and functional details. Therefore the DFD provides a functional modeling as well as
information modeling. In DFD the processes are shown by named circles and data
flow are represented by named arrows entering or leaving the bubbles. Rectangles
represent a source or sink and are net originator or consumer of data. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 22

Data Flow Diagrams are the most commonly used way of documenting the processing
of the required system. As the name suggests, they are pictorial representation of flow
of data into, around and out of the system. They can be understood by user and less
prone to misinterpretation than textual description.
DFD may be used to represent the system or software at any level of abstraction.
A level 0 DFD also known as fundamental system model or a context model
represents the entire software elements as a single bubble with input and output data
indicated by incoming and outgoing arrows respectively.
The basic elements of DFD are:











A circle represents a process
A rectangle represents external element.
A square defines a source or destination of the system data.
An arrow identifies data flow. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 23




The DFD of the proposed project is as under. It depicts the information flow and
transformation that are applied as data moves from input to output through a system
i.e. DFD shows the movement of data through process in a system.

DFD Level 0














A double line indicates data store.
Administrator
SNMP enabled
Client
Request
Response
Response
SNMP
NeMoSys
Request SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 24

DFD Level 1




SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 25


4. SYSTEM IMPLEMENTATION

The purpose of implementation phase is to translate the software design into source
code. During this phase, each component of the design is implemented as a program
module, and each of these program modules is unit tested, debugged and documented.
Implementation includes placing the system into operation and providing the users
and operation personnel with the necessary documentation to use and maintain the
new system. Successful implementation may not guarantee improvement in the
organization using the new system as well as improper installation will prevent any
improvement.
There are four methods for handling a system conversion.
Parallel approach: The old system is operated with the new system.
Direct cut over method: The old system is replaced with the new one. The
operation fully relies on the new one.
Pilot approach: Working version of the system implemented in one part of the
organization based on the feedback, changes are made and the system is
installed in the rest of the organization by one of the other methods.
Phase-in method: Gradually implements the system across all users.
The project is implemented in C#.NET. It is a language developed and supported by
Microsoft. Microsoft Visual Studio is used to generate the GUI.
4.1 MICROSOFT VISUAL STUDIO
Microsoft Visual Studio is a Microsoft‗s flagship software development product for
computer pr4ogrammers. It senders on an integrated distribution environment which
lets programmers create stand alone, websites, web applications, and web services SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 26

that run on any platforms supported by Microsoft‘s .NET Frame work (for all
versions after 6) Supported platforms included Microsoft windows, servers and work
stations, pocket PC, smart phones and world wide web browsers.
4.2 VISUAL STUDIO 2005
The most important language feature added in this version was the introduction of
generics, which are similar in many respects to C++ templates. This potentially
increases the number of bugs caught at compile-time instead of run –time by
encouraging the use of strict type checking in areas where it was not possible before.
C++ also got a similar upgrade with the addition of C++/CLI which is slated to
replace the use of Managed C++ Other new features of Visual Studio 2005 include the
Deployment Designer which allows application designs to be validated before
deployments, an improved environment for web publishing when combined with
ASP, NET 2.0 and load testing to see application performance under various sorts of
user loads. Visual Studio 2005 also added extensive 64-bit support. While the
development environment itself only available as a 2 bit application, Visual C++ 2005
supports co piling for x64 AMD64 and EM64T) as well as IA-64 (Itanium) The
Platform SDK included 64- bit and 64-bit versions of the libraries.
4.3 .NET
.NET is the Microsoft Web services strategy to connect information, people, systems,
and devices through software. Integrated across the Microsoft platform, .NET
technology provides the ability to quickly build, deploy, manage, and use connected,
security-enhanced solutions with Web services. .NET- connected solutions enable
businesses to integrate their systems more rapidly and in a more agile manner and
help them realize the promise of information anytime, anywhere, on any device.
The Microsoft platform includes everything a business needs to develop and deploy a
Web service-connected IT architecture: servers to host Web services, development SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 27

tools to create them, applications to use them, and a world wide network of more than,
35,000 Microsoft Certified Partner organizations to provide any help needed.
.Net supports 44 languages. The commercial languages that Microsoft supports are:-
Visual C# .NET
Visual J# .NET (Java)
Visual C++ .NET
Visual Basic .NET
J Script for the CLR
(Managed C++ the Microsoft .NET extension to the C++ language. Managed
C++ includes a number of new CLR-specific keywords that permit C++
programs to take advantage of CLR features, including garbage collection).
The others are third-party languages with compilers that target the CLR. Some of
these are research languages, while others are commercial languages that target,
.NET. A few of them are:-
APL

COBOL

Component Pascal

Fortran

Perl

Smalltalk

Standard ML

TMT Pascal



SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 28


4.3.1 FEATURES OF .NET FRAMEWORK


Interoperability: Because interaction between new and older applications is
commonly required, the .NET Framework provides means to access
functionality that is program that execute outside the .NET environment.
Common Runtime Engine: The Common Language Runtime (CLR) is the
virtual machine component of the .NET framework. All .NET programs
execute under the supervision of the CLR, guaranteeing certain properties and
behaviors in the areas of memory management, security and exception
handling.
Language Independence: The .NET framework introduces a Common Type
System or CTS. The CTS specification defines all possible databases and
programming constructs supported by CLR and how they may or may or may
not interact with each other. Because of this feature, the .NET framework
supports the exchange of instances of types between programs written in any
of the .NET languages.
Base Class Library: The Base Class Library (BCL), part of the Framework
Class Library (FCL), is a library of functionality available to all languages
using the .NET framework. The BCL provides classes encapsulate a number
of common functions, including file reading and writing, graphic rendering,
database interactions and XML document manipulation.
Simplified Deployment: The .NET framework includes design features and
tools that help manage the installation of computer software to ensure that it
does not interfere with previously installed software, and that it confirms to
security requirements.
Security: The design is meant to address some of the vulnerabilities, such as
buffer overflows, that have been exploited by malicious software.
Additionally, .NET provides a common security model for all applications. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 29

Portability: The design of .NET framework allows it to theoretically be
platform agnostic, and thus cross-platform compatible. That is a program
written to use the framework should run without change on any type of system
for which the framework is implemented.
Memory Management: The .NET framework CLR frees the developer
from the burden of managing memory (allocating and freeing up when done);
instead it does the memory management itself

The .NET framework includes a set of standard class libraries. The class library is
organized in hierarchy of namespaces. These class libraries implement a large number
of common functions such as file reading and writing, graphic rendering, database
interactions and XML document manipulation among others. The .NET framework
class library is divided into 2 parts: the Base Class Library (BCL) and the Frame
Class Library (FCL). The BCL includes a small subset of the entire class library and it
is the core set of classes that serve as the basic API of the common language runtime.
The classes in mscorlib.dll and some of the classes in the System.dll and
System.core.dll are considered to be a part of the BCL. The framework class library
(FCL) is the superset of the BCL classes and refers to the entire class library that ships
with .NET framework. It includes an expanded set of libraries, including WinForms,
ADO.NET, ASP.NET, language integrated query, window presentation foundation,
window communication foundation among others. The FCL is much larger in scope
than standard libraries for languages like C++ and comparable in scope to the
standard libraries of Java.C# called as C sharp is a full fledged object oriented
programming from Microsoft build into the .NET framework. C# is a self-safe, object
oriented language that is simple yet powerful, allowing programmers to build a
breadth of applications. C# is a multi-paradigm programming language encompassing
imperative, functional, generic, object-oriented (class-based) and component-oriented
programming disciplines. A multi-paradigm programming language is a programming
language that supports more than one programming paradigm. The idea of a multi SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 30

paradigm language is to provide a frame work in which programmers can work in a
variety of styles, freely intermixing constructs from different paradigms.

4.4 C#

C# represents the next step in the outgoing evolution of the programming languages.
C# is a programming language that is designed specifically to target .NET framework.
Microsoft .NET framework is a runtime environment and class library that
dramatically simplifies the development of modern, component-based applications.
Microsoft has shown an unprecedented degree of openness in C# language. C# is not
just a language for writing internet or network-aware applications. It provides a means
for us to code up almost any type of software or component that we can might need to
write for the windows platform. Visual C# is a new object-oriented language in the C
family of languages, and it is easily understood by existing C and C++ languages. In
addition, its clean syntax and simple programming model (much simpler than C++)
make it an easy language to learn, even if we are not currently using C or C++.

Our project is implemented in C#. C# represents the next step in the ongoing
evolution of programming languages. Its creation was deeply rooted in the process of
refinement and adaptation that has characterized computer language development for
the past several years. Like all successful languages that came before C# builds upon
the past while advancing the art of programming. Created by Microsoft to support
development for its .NET Frame work, C# leverages time –tested features with cutting
edge innovations. It provides a highly usable, efficient way to write program s for the
modern enterprise computing environment, which includes Windows, the Internet,
components, and so on. In the process, C# has redefined the programming landscape.
Visual C# .NET has many new and improved language features-such as inheritance,
interfaces and overloading- that make it a powerful object oriented programming
language. As a VISUAL C# developer, we can now create multithreaded, applications SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 31

using explicit multithreading. Other new language features in VISUAL C# .NET
include structured exception handling, custom attributes, and common language
specification (CLS) compliance.
The CLS is a set of rules that standardizes such things as data types and how objects
are exposed and interoperate. VISUAL C# .NET adds several featured that take
advantage of CLS. Any CLS-complaint language can use the classes, objects and
components created in VISUAL C# .NET programs. And a VISUAL C# user can
access classes, components and object from other CLS complaint programming
languages without worrying about language specific differences such as data types.
CLS feature used by VISUAL C# .NET programs include assemblies, namespaces,
and attributes. VISUAL C# .NET supports many new or improved object oriented
language features such as inheritance, overloading, the overrides keyword, interfaces,
abstraction, encapsulation, polymorphism, shared members, and constructors. Also
included are structured exception handling, delegates, and several new data types.
Inheritance: VISUAL C# .NET supports inheritance by allowing users to
define classes that serve as the basis for derived classes. Derived classes
inherit and can extend the properties and methods of the base class. They can
also override inherited methods with new implementations. All classes created
with VISUAL C# .NET are inheritable by default. Because the forms users
design are really classes, they can use inheritance to define new forms based
on existing ones.

Exception Handling: VISUAL C# .NET supports structured exception
handling, using an enhanced version of the Try…Catch… Finally syntax
supported by other languages such as C++. Structured exception handling
combines a modern control structure (similar to Select Case or While) with
exceptions, protected blocks of code, and filters. Structured Exception
handling makes it easy to create and maintain programs with robust,
comprehensive error handlers SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 32


Overloading: Overloading is the ability to define properties, methods or
procedures that have the same name but use different data types. Overloading
procedure allows users to provide as many implementations as necessary to
handle different kinds of data.

Constructors and Destructors: Constructors are procedures that control
initialization of new instances of a class. Conversely, destructors are methods
that free system resources when a class leaves scope or is set to nothing.
VISUAL C# .NET supports constructors and destructors using the Sub New
and Sub Finalize procedures.

Abstraction: Abstraction refers to the act of representing essential features
without including the background details or explanations. It is the ability to
create an abstract representation of a concept in code. Data abstraction is the
enforcement of a clear separation between the abstract properties of a data
type and the concrete details of its implementation.
The abstract properties are those that are visible to client code that makes use
of the data type--the interface to the data type--while the concrete
implementation is kept entirely private, and indeed can change, for example to
incorporate efficiency improvements over time. The idea is that such changes
are not supposed to have any impact on client code, since they involve no
difference in the abstract behavior.

Encapsulation: When users encapsulate an object, they make its code internal
and not accessible to the outside except through a well-defined interface.
Encapsulation is the most fundamental concept of object oriented
programming. It is the way of combining data and the functions that operate
on that data under a single unit. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 33

The wrapping up a data and functions (that operate on the data) into a single
unit (called class) is known as encapsulation. The only way to access the data
is provided by the functions (that are combined along with the data). The data
cannot be accessed directly.

Polymorphism: Polymorphism is key to the power of object-oriented
programming. It is so important tat languages that don‘t support
polymorphism cannot advertise themselves as Object Oriented languages.
Polymorphism is the ability for a message or data to be processed in more than
one form. This is ability to create procedures that can operate on objects of
different types.
Polymorphism is the concept that supports the capability of an object of a
class to behave differently in response to a message or action. For instance,
‗human‘ is a subclass of ‗mammal‘. Similarly ‗dog‘, ‗cat‘, are also subclasses
of ‗mammal‘. Mammal can see through day-light. So if a message ‗see
through daylight‘ is passed to all mammals. They will behave alike.
Now if a message ‗see through night‘ is passed to all mammals, then humans
and dogs will not be able to view at night whereas cats will be able to view
during night also. Here cats (mammals) can behave differently than other
mammals on response to a message or action. This is polymorphism.

Data Types: VISUAL C# .NET introduces three new data types. The Char
data type is an unsigned 16-bit quantity used to store Unicode characters. It is
equivalent to the .NET Framework System. Char data type. The Short data
type a signed 16-bit integer, was named Integer in earlier versions of VISUAL
C#. The Decimal data type is a 96-bit signed integer scaled by a variable
power of 10. In earlier versions of VISUAL C#, it was available only within a
Variant.
SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 34

Interfaces: Interfaces describe the properties and methods of classes, do not
provide implementations. The interface statement allow users to declare
interfaces, while the Implements statement lets users write code that puts the
items described in the interface into practice.

Delegates: Objects that can call the methods of objects on user‘s behalf – are
sometimes described as type-safe, object-oriented function pointers.
Programmers can use delegates to let procedures specify an event handler
method that runs when an event occurs. They can also use delegates with
multithreaded applications.

Shared Members: Shared members are properties, procedures, and fields that
are shared by all instances of a class. Shared data members are useful when
multiple objects need to use information that is common to all. Shared class
methods can be used without first creating an object from a class.

References: References allow users to use objects defined in other assemblies.
In VISUAL C# .net, references point to assemblies instead of type libraries.

Namespaces: Namespaces prevent naming conflicts by organizing classes,
interfaces, and methods into hierarchies.

Assembles: Assemblies replace and extend the capabilities of type libraries by,
describing all the required files for a particular component or application. An
assembly can contain one or more namespaces.



SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 35

Attributes: Attributes enable users to provided additional information about
Program elements. For example, users can use an attribute to specify which
methods in a class should be exposed when the class is used as a XML Web
service.

Multithreading: VISUAL C# .NET allows users to write applications that can
perform multiple tasks independently. A task that has the potential of holding
up other tasks can execute on a separate thread, a process known as multi-
threading .By causing complicated tasks to run on threads that are separate
from a user interface, multithreading makes user applications more responsive
to user input.

Extensibility: Visual Studio .NET includes programmable object model that
provides access to the underlying components and events of the integrated
development environment (IDE). This model allows users to extend the
functionality of the IDE, automate repetitive tasks, and integrate the IDE with
other applications.











SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 36






Fig 4.4.1: Home page






SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 37







Fig 4.4.2: Different Form Selector



SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 38









Fig 4.4.3: Main page


SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 39

4.5 MICROSOFT SQL SERVER 2005

Microsoft SQL Server 2005 is a relational model database server produced by
Microsoft. It is a full-featured relational database management system (RDBMS) that
offers a variety of administrative tools to ease the burdens of database development,
maintenance and administration. Most frequently used tools: Enterprise Manager,
Query Analyzer, SQL Profiler, Service Manager, Data Transformation Services and
Books Online. Enterprise Manager is the main administrative console for SQL Server
installations. It provides with a graphical ―birds-eye‖ view of all of the SQL Server
installations on a network. User can perform high-level administrative functions that
affect one or more servers, schedule common maintenance tasks or create and modify
the structure of individual databases. Microsoft Management Console (MMC) is a
tool that presents a common interface for managing different server applications in a
Microsoft windows network. SQL Server Enterprise Manager is the primary
administrative tool for SQL Server Enterprise Manager is the primary administrative
tool for SQL Server and provides an MMC-compliant user interface that follows users
to
Define groups of SQL Server instances.
Register individual servers in a group.
Configure all SQL Server options for each registered server
Create and administer all SQL Server databases, objects, logins, users and
permissions in each registered server.
Define and execute all SQL Server administrative tasks on each registered
server.
Design and test SQL Server statements, batches and scripts interactively by
invoking SQL Query Analyzer.


SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 40

4.5.1 FEATURES OF SQL SERVER 2005

Internet Integration: The SQL Server 2005 database engine includes
integrated XML support. It also has the scalability, availability and security
features required to operate as the data storage component of the largest web
sites. The SQL Server 2005 programming model is integrated with is
integrated with the windows DNA architecture for developing web
applications and SQL Server 2005 supports features such as English Query
and the Microsoft search service to incorporate user-friendly queries and
powerful search capabilities in web applications

Scalability and Availability: The same database engine can be used across
platforms ranging from laptop computers running Microsoft windows ®98
through large, multiprocessor servers running Microsoft servers 2005 data
center edition

Enterprise-Level Database Features: The SQL Server 2005 relational
database engine supports the features required to support demanding data
processing environment. The database engine protects data integrity while
minimizing the overhead of managing thousands of users concurrently
modifying the database.

Ease of Installation, Development and use: SQL Server 2005 includes a set of
administrative and development tools upon the process of installing,
developing and using SQL Server across several sites. SQL Server 2005 also
support a standard-based programming model integrated with the windows
DNA, making the use of SQL Server databases and data warehouses a
seamless part of building powerful and scalable systems.
SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 41

Data Warehouses: SQL Server 2005 includes tools for extracting and
analyzing summary data for online analytical processing. SQL Server also
includes tools for visually designing databases and using English-based
questions.

4.5.2 BENEEFITS OF SQL SERVER 2005

SQL is a non-procedural language. So it allows to process set of records than
one at a time.
It provides automatic navigation to the data.
It is used for all users of database activity by all range of users.
It provides statements for a variety of tasks, which concerns all activities
regarding a database.
SQL is a query and is not without any structure. It is not more than English or
any other language. It has rules for grammar and syntax but they are basically
the normal rules and can be readily understood. The SQL stands for Structured
Query Language.

4.5.3 CLASSIFICATION OF SQL STATEMENTS

Queries: It always begins with the keyword SELECT and is used to retrieve
the data from the database in any combination or in any order. The query type
statements cannot modify or manipulate the database.
Data Manipulation Language (DML): The purpose of DML is to change the
data in database. Basically a data in the database can be changed or
manipulated in 3 ways.
They are:
INSERT: Inserting new rows in the database.
UPDATE: Updating an existing row in the database. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 42

DELETE: Deleting existing rows from the database.
Data Definition Language (DDL): The main purpose of DDL is to create,
modify and drop the database objects namely relation, index, view, trigger etc.

Data Control Language (DCL): This is used to provide privacy and security to
the database. The Data Control Language allows the user to give and take
privileges, which are needed for guaranteed controlled data sharing.


4.6 WORKING OF SNMP
The Simple Network Management Protocol (SNMP) focusing specifically on the
layered communication model used to exchange information. An SNMP message is
not sent by itself. It is wrapped in the User Datagram Protocol (UDP), which in turn is
wrapped in the Internet Protocol (IP). These are commonly referred to as layers and
are based on a four-layer model developed by the Department of Defense.
SNMP resides in what is called the Application layer, UDP resides in the Transport
layer and IP resides in the Internet layer. The fourth layer is the Network Interface
layer where the assembled packet is actually interfaced to some kind of transport
media (i.e., twisted pair copper or fiber). SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 43


Fig 4.6.1 Traversing the layers
The SNMP manager wants to know what the Agent's System Name is and prepares a
GET message for the appropriate OID. It then passes the message to the UDP layer.
The UDP layer adds a data block that identifies the manager port to which the
response packet should be sent and the port on which it expects the SNMP agent to be
listening for messages. The packet thus formed is then passed to the IP layer. Here a
data block containing the IP and Media Access addresses of the manager and the
agent is added before the entire assembled packet gets passed to the Network
Interface layer. The Network Interface layer verifies media access and availability and
places the packet on the media for transport.
After working its way across bridges and through routers based on the IP information,
the packet finally arrives at the agent. Here it passes through the same four layers in
exactly the opposite order as it did at the manager. First, it is pulled off the media by
the Network Interface layer. After confirming that the packet is intact and valid, the
Network Interface layer simply passes it to the IP layer. The IP layer verifies the
Media Access and IP address and passes it on to the UDP layer where the target port
is checked for connected applications. If an application is listening at the target port, SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 44

the packet is passed to the Application layer. If the listening application is the SNMP
agent, the GET request is processed. The agent response then follows the identical
path in reverse to reach the manager. An SNMP message passes through the protocol
layers at both the manager and the agent. Each layer addresses a specific
communication task.
4.7 MODULE DESCRIPTION
Here we are having 5 modules. Namely user creation module, asset entry module,
scan and set value module, GML and report generation module.
4.7.1 USER CREATION MODULE
The user login to the system. Here authorization is implemented by a combination of
username and password. The login information is validated using the data in USERS
table. There are two types of users, viz ordinary user and administrator.
The ordinary user will not have the rights for user management. The administrator
will have the privileges to create new user, view, edit and delete records.
The user with administrator rights can create new user and also set the privileges of
the user as ordinary user or administrator. These data are stored in the User table.

4.7.2 ASSET ENTRY MODULE
This module identifies the assets (system devices like printers, switches, routers, etc)
and categorizes them based on department, region, room, etc. The data of newly
added assets can be created and these data will be stored in the ASSET table.

4.7.3 SCAN AND SET VALUE MODULE
This module scans the network and finds the status of the devices. This is done by
using OID (Object ID). The scan can be done in two ways; ie SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 45

i) Scan a single device, given an IP No.
ii) Scan a range of IP‘s, region wise or room wise, using input OID‘s.
The results of scanning operation will be stored in the ASSET ENTRY table.

Set value can be used to change the OID values of a device. The value of an OID can
be set, given the IP No. of the device and the values of the OID‘s. The device whose
OID has been changed can be scanned to get the changed OID response value and the
asset entry table can be updated.

4.7.4 GML
There are many different programs that work with graphs but almost all of them use
their own file format.
As a consequence, exchanging graphs between different programs is almost
impossible. Simple tasks like exchange of data, externally reproducible results or a
common benchmark suite are much harder than necessary. GML is the new file
format that overcomes all this limitations.
GML supports attaching arbitrary information to graphs, nodes and edges, and is
therefore able to emulate almost every other format.


4.7.5 REPORT GENERATION MODULE

The reports will be generated using this module. The tables used in this module are
Users, Asset and Scan result. The reports that are proposed to be generated are






SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 46





i) Scan results of a single IP





ii) Scan results of a range of IP’s









iii) Scan results of IP’s in a particular location











SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 47




iv)User details






As the user starts the application, he/she is brought directly to the login screen. The
login screen is simply designed so that the user can very well understand that he/she is
required to enter the user login and password.
On authentication of the user, the NeMoSys main menu is displayed. It contains
buttons for user management, asset management, scan, GML, reports and close.
The user creation button takes the administrator to the user management screen for
creation of a new user. On completion of the entry, the administrator can click save
button for saving the record. If the administrator wants to find a record he is required
to enter the user id and then click find button. Then the details of the intended user
will be displayed on the corresponding text boxes. After finding the user details the
administrator can update the data by clicking edit button. The administrators also have
the privilege to delete an existing record. Else, the exit button can be used to cancel
the entries and go back to the main menu. SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 48

The asset button takes the user to the asset management screen that has fields for
accepting data of a new asset. When the save button is clicked, the data is saved in the
asset table. The exit button takes the user back to the main menu.
The Scan button navigates to the SNMP scan menu. This menu gives the choice of
scanning a single IP, scanning a range of IPs and setting the value of an asset.
The Reports menu helps the user to take reports pertaining to user and asset details as
well as scan particulars.
The SNMP scan menu is also designed to ensure maximum user friendliness. It has
fields to enter the OID values of the asset for which the scan has to be performed. The
scan can be performed for a single IP as well as for a range of IPs. The IP value of an
asset can also be set using this interface.
The user will find no difficulty in navigating through the various screens and menus
provided in this application.






SNMP NeMoSys

Dept. of Computer Science & Engineering, SIST 49

5. TESTING

The primary purpose for testing is to detect software failures so that defects may be
uncovered and corrected. Testing cannot establish that a product functions properly
under all conditions but can only establish that it does not function properly under
specific conditions. The scope of software t
Reply
#2

pls send a full source code to my email - fruit_ooi10[at]yahoo.com
Reply

Important Note..!

If you are not satisfied with above reply ,..Please

ASK HERE

So that we will collect data for you and will made reply to the request....OR try below "QUICK REPLY" box to add a reply to this page
Popular Searches: snmp ppt presentation cisco, 2005 chevy, snmp monitoring software free, privilege of having, mib acronym, snmp simulator using java project, snmp protocol,

[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Possibly Related Threads...
Thread Author Replies Views Last Post
  Simple Network Management Protocol SNMP project report tiger 3 3,265 11-10-2012, 10:53 AM
Last Post: seminar details
  Secure and Highly Available Architecture for SNMP Based Monitoring of Network Device computer science topics 0 1,618 08-06-2010, 03:37 PM
Last Post: computer science topics

Forum Jump: