You are on page 1of 7

Software Requirements Specification for Stateful Network Traffic Simulator

Page 1

Software Requirements Specification


For

Stateful Network Traffic Simulator


Version 1.0

Prepared by

Name Samra Mubeen Sufyan Ali

E-mail bsef09m050@pucit.edu.pk bitf09m043@pucit.edu.pk

Instructor: Date:

Nadeem Shahbaz 01/08/2012

Software Requirements Specification for Stateful Network Traffic Simulator

Page 2

Contents
1. INTRODUCTION............................................................................................................................2 0.1 DOCUMENT PURPOSE ............................................................................................................................................................3 0.2 DEFINITIONS , ACRONYMS AND ABBREVIATIONS .......................................................................................................................3 0.3 OVERVIEW............................................................................................................................................................................3 0.4 REFERENCES .........................................................................................................................................................................3 2. OVERALL DESCRIPTION...............................................................................................................................................4 2.1 PRODUCT PERSPECTIVE.......................................................................................................................................................4 2.2 PRODUCT FUNCTIONS............................................................................................................................................................4 2.3 USER CHARACTERISTICS .....................................................................................................................................................4 2.4 CONSTRAINTS , ASSUMPTIONS AND DEPENDENCES .................................................................................................................4 3. SPECIFIC REQUIREMENTS.............................................................................................................5 3.1 EXTERNAL INTERFACE REQUIREMENTS ....................................................................................................................................5 3.1.1 User Interfaces.................................................................................................................................................5 3.1.2 Hardware Interfaces.........................................................................................................................................5 3.1.3 Software Interfaces............................................................................................................................................6 3.1.4 Communications Interfaces...............................................................................................................................6 3.2 FUNCTIONAL REQUIREMENTS .................................................................................................................................................6 3.3 PERFORMANCE REQUIREMENTS ...............................................................................................................................................7 3.4 DESIGN CONSTRAINTS..........................................................................................................................................................7 3.5 SOFTWARE SYSTEM ATTRIBUTES ...........................................................................................................................................7

Revisions
Version 1.0 Description of change SRS 1.0 Author(s) Samra Mubeen, Sufyan Ali Date 01/08/2012

1. Introduction
We are going to develop a tool that will simulate stateful network traffic to test a firewall.

Software Requirements Specification for Stateful Network Traffic Simulator

Page 3

Before discussing further about this tool, we have to understand the concept of stateful network traffic. In stateful network traffic there exists packet pattern matching and decoding of the underlying protocols and their states throughout the evolution. Stateful classifiers track the dynamic negotiations and hence have the ability to predict and decode traffic spawned on ephemeral ports. This tool/device will generate data of unique nodes in LAN and show required and actual results after testing the firewall. The user will execute a command on terminal and this tool will produce results according to user customized inputs. The main benefit is that the firewalls tester/user need not to buy expensive machines/devices for testing firewall in a LAN by generating data from these machines rather this tool will generate this data. On the contrary, a tester will generate data explicitly from different devices in the LAN and then test the firewall. So by using this tool very less cost will required to test a firewall.

0.1 Document Purpose


This document describes the software requirements and specification (SRS) for a tool named as Stateful Network Traffic Simulator. This document is intended for the customer and developer (designers, testers). The reader is assumed to have a basic knowledge of Local Area Network (LAN) and how network traffic flows in LAN.

0.2 Definitions, Acronyms and Abbreviations


Definitions: User/Tester: The person who uses tool to test firewall. Input File: The file which contains all customized inputs of user. Linux: Operating system. Abbreviations SNTS: Stateful Network Traffic Simulator. LAN: Local Area Network.

0.3 Overview
Software requirement specifications (SRS) document is a description of the expected software features, constraints, interfaces and other attributes. Aim of this document is to document the agreed requirements with the project supervisor; to provide the basis for design; to provide the basis for system test.

0.4 References

Internet and some sample SRS of different projects.


http://en.wikipedia.org/wiki/Software_requirements_specification

Software Requirements Specification for Stateful Network Traffic Simulator

Page 4

2. Overall Description
2.1 Product Perspective
Stateful Network Traffic Simulator is a tool which simulates a network's traffic. It will simulate stateful traffic to test a firewall. This tool/device will take different customized inputs from user, then generate data of unique nodes in LAN and show required and actual results after testing the firewall. Testers of a firewall can test it without buying machines/devices explicitly rather simulator will generate data of all devices and send it to firewall. User will give different customized inputs and this device will generate data accordingly. When user will execute a command to terminal, it will start working according to different customized inputs given to it.

2.2

Product Functions

Using Stateful Network Traffic Simulator the tester can test a firewall. The functions of system are 1. Generate network traffic data. 2. Maintain different number of flows. 3. Display report of the test on firewall. 4. Display graph of test. 5. Send emails to specific addresses.

2.3 User Characteristics


EBRYX(tester) User must have knowledge about the command to get results of the tool. User must know about the different concepts of computer networks i.e. TCP/UDP traffic and traffic flow within a LAN.

2.4 Constraints, Assumptions and Dependences


Validate Input from user Validate Ip Network Validate that Ip network given by user/tester should be correct. If Ip Network is incorrect, pomp error message that This Ip network is invalid. Validate speed of traffic simulated Check that speed of traffic should be valid so that it is possible to flow trffic in the required speed. If speed is invalid, prompt error message that Please, give a valid speed Validate Percentage mixture of TCP/UDP There should be a reasonable percentage of TCP/UDP if its invalid then display error message.

Software Requirements Specification for Stateful Network Traffic Simulator

Page 5

Validate terminal command given by tester The command given by tester to start simulator should be valid. If it is incorrect, prompt error message that Enter valid command Validate Input File Input file should be according to standard format given to tester. If it is not in correct format, prompt error message Give inputs in correct format Get detailed report of simulated traffic.

3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces

The script will run in command line without requirement of any GUI. It will use configuration files along with command line switches to control its required functionality. The user has to provide his customized inputs in a configuration file, then he will execute a command on terminal and simulator will start working and display result at the end. Interaction between user and system will be via terminal.

SNTS will show its output in the form of HTML page. 3.1.2 Hardware Interfaces The hardware should have following specifications Linux machine is required for this project. Ability to read and execute commands from terminal Ability to take inputs from user Continuous power supply Ability to connect to network Hardware should be fast enough to handle the fast data generation since this script will use high resources. Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz Network connectivity Network Interface Card(NIC) Switch Gateway An internal modem (28.8 kbps or higher) or an available serial port to attach an external one. A cable /DSL modem + USB cable or cable / DSL modem + Ethernet cable.

Software Requirements Specification for Stateful Network Traffic Simulator

Page 6

A wireless card + wireless router connected to the cable / DSL modem. 3.1.3 Software Interfaces Operating System (Linux) Python interpreter 2.7 or higher. LAN Drivers 3.1.4 Communications Interfaces SNTS will use different libraries and packages in python for the communication between current and target machines and for other purposes like sending emails. It will require HTTP for the transmission of data.

3.2 Functional Requirements


3.2.1 Generate data Tool will read user customized inputs from input file like o Speed of traffic simulated in Mbps. o Percentage mixture of TCP/UDP traffic in simulation. o Number of nodes in LAN. o IP network used o Payload characteristics either it is malicious or non-malicious. o Number of flows to maintain. o Duration of simulation o Customized payload of flows categorized as malicious and non-malicious. Then it creates flows and sends data to target machine to test firewall. The tool will generate data continuously for a specified period of time given by user. 3.2.2 Maintain Flows User will tell that how many flows should be maintained at any time during traffic simulation. If at any time the number of current flows decreases, tool will start new flows from the nodes available. It will choose randomly from the nodes available to start a new flow. 3.2.3 Display Report It will provide information about required and actual speed of simulated traffic with graph. Number of total flows. Number of successful flows categorized as o Total o TCP Based o UDP Based Number of incomplete flows categorized as o Total o TCP Based

Software Requirements Specification for Stateful Network Traffic Simulator

Page 7

o UDP Base Duration of test. Required and actual flows maintained with graph.

3.2.4 Send Emails It will read email addresses from input file. Send the results of test in the form html to the specified email address.

3.3 Performance Requirements


This tool will perform better if machines have good specifications because the data transfer rate will be more and data will travel faster. It should perform in diverse conditions It will perform faster if there are less number of flows sending or receiving data. The machines should have high data transfer rates.

3.4 Design Constraints


It will need two machines for this simulation of stateful packet generation. One machine will send requests and other machine will reply based on requests. Both machines should be connected via Ethernet or LAN.

3.5 Software System Attributes


3.5.1 Reliability This tool is reliable because it will available all the time from the time it is installed on a machine. The only time when the tool will not work well is when there is some network problem while transferring data from current machine to target machine. 3.5.2 Availability We could rank the availability of SNTS as 100 percent as the tool will be available to user all the time to test a firewall. 3.5.3 Maintainability It is very easy to maintain and enhance functionality of this tool by adding different classes because it is based on object oriented design.

You might also like