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
--> The system should have a work panel or work window to design the network topology.
--> The system should have a toolbox with different tools to draw network devices.
--> The system should contain a compiler for compilation and running of network drawn.
-->The system should have facilities like editing the network topology, setting up properties for network devices and playback.
--> The system should provide some tools such as graph plotting tool, stack trace, command prompt which helps to study the behavior of the simulation.
--> The system should provide printing tool to print the network topology.
--> 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.