Search This Blog

Sunday, March 16, 2008

SYSTEM ANALYSIS

3.1 Introduction
A simulation is an imitation of some real thing, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviors of a selected physical or abstract system.
A computer simulation is an attempt to model a real-life situation on a computer so that it can be studied to see how the system works. By changing variables, predictions may be made about the behavior of the system.

3.2 Network simulator
A network simulator is a piece of software that simulates a network, without an actual network being present. Network simulators serve a variety of needs. Compared to the cost and time involved in setting up an entire test bed containing multiple networked computers, routers and infrastructure, network simulators are relatively fast and inexpensive. They allow engineers to test scenarios that might be particularly difficult or expensive to simulate using real hardware- for instance, simulating the effects of a sudden burst in traffic on a network service. Networking simulators are particularly useful in allowing designers to test new networking protocols or changes to existing protocols in a controlled and reproducible environment.
Network Simulators, as the name suggests are used by researchers to design various kinds of networks, simulate and then analyze the effect of various parameters on the network performance. A typical network simulator like NS2, encompasses a wide range of networking technologies and help the users to build complex networks from basic building blocks like variety of nodes and links. With the help of simulators one can design hierarchical networks using various types of nodes like computers, hubs, bridges, routers, optical cross connects, multicast routers, mobile units, etc. Various types of Wide Area Network (WAN) technologies like packet, circuit, burst switching etc and Local Area Network (LAN) technologies like Ethernet, token rings etc can all be simulated with a typical simulator and the user can test, analyze various standard results apart from devising some novel protocol or strategy for routing etc.
There are a wide variety of network simulators, ranging from the very simple to the very complex. Minimally, a network simulator must enable a user to represent a graph of a network, specifying the nodes on the network and the links between those nodes. More complicated systems may allow the user to specify everything about the protocols used to handle network traffic. Graphical applications allow users to easily visualize the workings of their simulated environment. Text-based applications may provide a less intuitive interface, but may permit more advanced forms of customization. Others, such as GTNets, are programming-oriented, providing a programming framework that the user then customizes to create an application that simulates the networking environment that he or she wishes to test.

3.3 Introduction to TCP Protocol
Introduction to TCP (Transmission Control Protocol)
TCP was specially designed to provide a reliable end-to-end byte stream over an unreliable inter network. An inter-network differs from a single network because different parts may have widely different topologies, bandwidths, delays, packet sizes, and other parameters. TCP was designed to dynamically adapt to properties of the inter network and to be robust in the face of many kinds of failures.
Each machine supporting TCP has a TCP transport entity, either a library procedure, a user process, or part of the kernel. In all cases, it manages TCP streams and interfaces to the IP layer. A TCP entity accepts user data streams from local processes breaks them up into pieces not exceeding 64KB and sends each piece as a separate IP datagram. When datagrams containing TCP data arrive at a machine, they are given to the TCP entity, which reconstructs the original byte streams.
The IP layer gives no guarantee that datagrams will be delivered properly, so it is up to TCP to time out and retransmit them as needed. Datagrams that do arrive may well do so in the wrong order; it is also up to TCP to reassemble them into messages in the proper sequence. In short, TCP must furnish the reliability that most users want and that IP does not provide.

TCP 7000
FTP 21 file transfer
Tenet 23 remote login

3.4 The SNiP Network Simulator
SNiP Network simulator attempts to provide real world network simulation. Real world network simulation is associated with the protocols used in real world. It includes TCP/IP, UDP, FTP, etc. SNiP provides a user friendly interface to draw and simulate the topology, playback to view the data transfers, stack trace to view the data transfer of each and every packet transferred. Along with this it also provides graph drawing tool, which can be used to plot the graph giving details about in-throughput, out-throughput, collisions occurred at all the network devices.
The real time network simulation tool provides the user exact time required for data transfer for a specified bandwidth and datum under various conditions.
The SNiP Network simulator can be used by professionals for studying real world networks, problems encountered, and for educational purposes.

3.5 System Requirement Specification
Once the analysis is complete, the requirements must be written or specified. The final output is the Software Requirements Specification document (SRS).The SRS captures the complete software requirements for the project Network Simulator. This SRS will describe the different functionalities of GUI Network Simulator. This SRS outlines the product requirements on functional basis. The SRS will define how our team envision the final product and the characteristics or functionalities it must have
o The system should have a work panel or work window to design the network topology.
o The system should have a toolbox with different tools to draw network devices.
o The system should contain a compiler for compilation and running of network drawn.
o The system should have facilities like editing the network topology, setting up properties for network devices and playback.
o The system should provide some tools such as graph plotting tool, stack trace, command prompt which helps to study the behavior of the simulation.
o The system should provide printing tool to print the network topology.
o The system should implement some algorithm such as Prims algorithm to find out the shortest path spanning tree with in the topology.

Work Panel: To design the network topology
The work panel is a tool to draw the network. The network devices are drawn on work panel by selecting appropriate network device on the toolbox provided at the top of the editor and drawing on the work panel.

Tool box: To draw network devices
The SNiP Network Simulator provides a toolbox which contains standard tools for standard operation such as “open” to open a file or “save” to save the file and Network toolbox containing network devices such as node, router, switch etc to draw the network topology.

Properties: Setting up properties
The properties are the network characteristics of particular network device. The properties are set by right-clicking on the network devices and selecting “Properties” option. Different types of network devices have different properties.
Example: Node has the properties like IP address, transmission mode, commands required for establishment of connections.
Router contains properties like buffer size, router name, router ID and routing table.

Compiler: compiles the simulation
The SNiP Simulator contains a compiler which compiles the topology before the simulation. The compiler detects the errors and warnings and displays if any. If no errors found, then it converts properties of all network devices to commands.

Command Prompt
The command prompt is used to control the topology and properties of network devices. The connection establishment details can be entered directly to the command prompt. The command prompt replaces all GUI interfaces with commands. The sequence of connection establishment is dumped by the system to the command prompt.

Stack Trace: Packet details
Stack trace gives the information about all the packets transmitted in the network form one network device to other.

Graph Plotting: Selecting log details for graph plotting
Graph of transmitted and dropped packets can be plotted using graph plot tool. The graph plot tool takes the log file of the simulation.

Algorithmic simulation: Simulation of standard algorithms
The algorithmic simulation is used to simulate the algorithm. Algorithmic simulation uses only nodes and network links. Distances are assigned to the links directly from the link properties.




3.6 Configuration
3.6.1 Hardware Configuration
No special hardware configuration is required. Hardware configuration which is sufficient to run Windows XP is sufficient.

3.6.2 Software Configuration
A software package is created from software package building provided by visual studio. The software package should be installed. Before installing the software the existing system should be upgraded to Windows XP Service Pack 2.0 and .NET framework should be installed. After the installation of framework the package is ready to run. The package creates a desktop icon and start menu icon.

FEASIBILITY STUDY

2.1 Introduction
In the feasibility study we check whether the SNiP simulator project can be developed within the available software and hardware technologies. We also check whether the system to be developed is cost effective and whether it satisfies all the proposed requirements.
During feasibility study various constraints such as time constraints, budgetary constraints, resource constraints etc are studied.
The network simulator accounts for great amount of feasibility since the actual behavior of the system is simulated in a stand alone system which allows us to test the characteristics of the network by giving various inputs and analyzing the respective outputs in a short time and less amount of people involved
The project is developed in Visual C# under .NET framework using Visual Studio 2005. The Visual Studio 2005 facilitates the development of Graphical User Interface (GUI) comprising various forms for different purposes using languages like Visual C#, Visual J#, Visual C++, VB .NET. The software developed in Visual Studio is compatible to run in any newer version of Windows.

2.2 Existing System
Whenever a new system is developed it is either a new product or is a further development of some existing product. There can be some drawback in the existing product. Most of the simulators do not have good user interfaces. Often being command oriented, they demand trained users. Some simulators require a Kernel up gradation which requires reinstallation of the operating systems. It acts as an over head and thus making it less user friendly.


2.3 Proposed System
The SNiP Network Simulator has a good Graphical User Interface. It can be installed and run on windows without any kernel upgradation. SNiP Network simulator attempts to provide real world network simulation. Real world network simulation is associated with the protocols used in real world. It includes TCP/IP, UDP, FTP, etc. SNiP provides a user friendly interface to draw and simulate the topology, playback to view the data transfers, stack trace to view the data transfer of each and every packet transferred. Along with this it also provides graph drawing tool, which can be used to plot the graph giving details about in-throughput, out-throughput, collisions occurred at all the network devices. The real time network simulation tool provides the user exact time required for data transfer for a specified bandwidth and datum under various conditions. The SNiP Network simulator can be used by professionals for studying real world networks, problems encountered, and for educational purposes.

2.4 System Feasibility
This study checks whether the proposed system satisfies all the requirements that are specified in the proposal. The SNiP Network simulator can simulate a variety of networks accurately.

2.4.1 Operational Feasibility
What are the users’ needs and how does a developer system meets them? A user interactive system is provided and the user can build the topology, specify the working environment and put constraints according to the needs.

2.4.2 Technical Feasibility
Technical feasibility is concerned with determining whether it is possible to code the project using the language selected. Visual C# is used and the developer software is Visual Studio 2005.
Visual studio is a toolkit to develop windows based applications. It supports a variety of languages for the software development.
The .NET framework is a completely new model for building systems on the windows family of operating systems.

Features of .NET and Visual Studio
• Full interoperability with existing win32 code: .NET allows invoking raw C based functions from managed code.
• Complete and total language interaction: Unlike classic COM, .NET supports cross language inheritance, cross-language exception handling and cross language debugging. A common runtime engine shared by all .NET aware languages.
• Multithreading: .NET provides multithreading. This allows the software to run modules in parallel.
• Direct access to Windows APIs: .NET provides a direct access to windows APIs. The APIs including the DLL (Dynamic Link Library) functions.
• Visual studio provides GUI design tools for designing the software. It simplifies the overhead of coding to an extent, and helps to reduce the software development time and provides a better user friendly system.

2.4.3 Economical Feasibility
Economical feasibility is used for evaluating the effectiveness of a system. The project does not involve any special hardware other than standard specifications.