Requirements Specification

 

TCP/IP Packet Descriptor

 

November 1, 2004

 

 

                                    Requested by:    Mr. Ken Swarner

                                                       System Administrator

                                                       Siena College

                                                       Computer Science Department

 

                                                                    

 

Paradigm Solutions

 

 

Prepared by:     Jim DeSario, Team Leader

                          Ryan Fischer, Webmaster

                          Mike Sebast, System Administrator

                          Justin Waterman, Librarian

                          Jon Baker, Public Relations

                          Mark Mossman, Consultant

 

 

 

Presentation Information:     5 November 2004

                                                                                    8:15 AM

                                                                                    Roger Bacon 328

 

 

 

 


TCP/IP Packet Descriptor

Requirements Specification

 

Table of Contents

 

 

 

            Section 1:      Product Overview and Summary.................................................................... 2

            Section 2:      Development, Operating and Maintenance Environments................................ 2

            Section 3:      External Interfaces and Data Flows................................................................ 3

            Section 4:      Functional Requirements.............................................................................. 12

            Section 5:      Performance Requirements.......................................................................... 13

            Section 6:      Exception Handling...................................................................................... 13

            Section 7:      Early Subsets and Implementation Priorities.................................................. 13

            Section 8:      Foreseeable Modifications and Enhancements.............................................. 14

            Section 9:      Acceptance Criteria..................................................................................... 14

            Section 10:    Testing Requirements................................................................................... 16

            Section 11:    Design Hints and Guidelines......................................................................... 16

            Section 12:    Sources of Information................................................................................. 17

            Section 13:    Glossary of Terms....................................................................................... 17

            Section 14:    Gantt Charts................................................................................................ 18

 

 

 

 

Section 1:          Product Overview and Summary

 

The Internet has become a widely used source for all kinds of information.  Information is constantly being accessed and copied across multiple networks. Students enrolled in the Computer Science program at Siena College need to know how the packets work and what information is contained in these packets. Our Client, Ken Swarner, has requested the enhancing of a web-based system, that has already been developed, that will display the information contained in individual TCP/IP packets, which can be uploaded by the user, and interpret the individual bits into a format that students can easily understand.

The purpose of the TCP/IP Packet Descriptor is for Mr. Ken Swarner to be able to use the program to produce a colorful and intuitive graphical user interface that can be used as an educational / instructional tool to investigate (by depicting) the contents of an Ethernet packet containing a variety of protocol data units (PDUs) within the TCP/IP protocol suite, on a web based system.

 

Section 2:          Development, Operating and Maintenance Environments

 

The TCP/IP Packet Descriptor’s improvements will be with our client, Mr. Kenneth Swarner. The system will be enhanced on the Siena College Software Engineering workstations.  The Descriptor will require the user to upload a session of packets that the program should display.  The User will then choose which file to be opened.  The Descriptor will then display and describe the packet in full color detail.  The Descriptor will require little maintenance. 

 

 

 

 

 

 

 

Section 3:        External Interfaces and Data Flows

 

Prototypes:

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


This

 

 

 

 

 

 

 

 

 

This is the hierarchical protocol tree, which is the first screen that appears.  Each button on the screen will produce a description in the bottom box. This example shows what would be displayed if the IPv6 button were selected. To move on to the next step a protocol must be selected from which a drop down menu will appear within which the user may select an Ethereal packet session.


 

 

This is an example of what a selection of “http” would look like. The files come from default Ethereal session directory which will be pre-set.

 

Next to the tree are the TCP/IP 5-layer model and the OSI 7-layer model.  The two models are placed side-by-side with the tree to compare the two models and where each PDU resides within both models.

 

After a file is selected the user will be asked to choose from a list of packets.

 


 

 

Although the above picture is just to convey the format of the screen, the packet selection box will only show the packets of the chosen protocol.

 

If the user would like to choose a different protocol, they may click on the choose protocol button which brings them back to the beginning screen.

 

The “team logos and links to web pages” history box allows the user to link to past groups work on this program through their web sites.

 

Once the user selects the desired packet, they will click on the view packet button which brings them to the display packet screen.


 

 

 

The IP Frame is an example of the IP PDU display, without subsequent information being displayed. 

 

The Ethernet Frame will not contain any information until the PDU is selected.  The contents will display the information about the packet selected.

 

After a field is clicked within the Frame, detailed information will be displayed about it in the information box on the left of the screen.

 

The “Choose Packet” button allows the user at any time to go back to the previous screen and select a different packet according to the protocol.

 

The “Choose Protocol” button allows the user at any time to start the program from the begninning.

 

The “Information Display” area is reserved for any extra information that is determined at a later time to be necessary. For now this area will remain blank.

 

 

 

The following prototypes are examples of what will be displayed if the HTTP, IP, and FTP was selected from the choose protocol screen.  Also included will be IP, TCP, HTTP, SSH, SMTP, TELNET, ICMP, and ARP protocols.

 

Example IP Frame

 

 

 

 

 

Example FTP Frame

 

 

 

 

 

Example HTTP Frame

 

 

 

 Data Flow Diagrams




 

 

 

Section 4:              Function Requirements

 

The TCP/IP Packet Descriptor interface will be a web-based system that will describe a packet that can be dynamically uploaded. The different portions of the packet will be displayed and labeled in a diagram. The information in each portion of the packet will be displayed in binary, octal, and hexadecimal form. The program will display each field of a packet and give information about each field. The program will be able to handle different amounts of packets, each at varying lengths.

 

 

Section 5:          Performance Requirements

 

The TCP/IP Packet Descriptor will be able run on Windows, Macintosh, and Red Hat Linux platforms.

 The TCP/IP Packet Descriptor will be accessible through Microsoft Internet Explorer 6.0, Mozilla Firefox, Netscape Navigator 7.1 and Safari, which is the Macintosh Internet Browser. 

 The TCP/IP Packet Descriptor will be designed to be viewable at 1024 by 768 screen resolution. It will be viewed easily on a computer monitor, and a classroom projector.

 

 

Section 6:          Exception Handling

           

The TCP/IP Packet Descriptor’s options will all be provided by the system itself, therefore the user will not be able to choose invalid options.  This will be verified by our team through extensive testing.

           

Section 7:          Early Subsets and Implementation Priorities

 

The most important priorities of the system are:

   

o       Being a web-based program

o       Accessible by all of the most common browsers

o       Accessible by all of the most common operating systems

o       Being able to load multiple data session

o       Being able to select any packet off of the data session

o       Fit the entire GUI on no more than 3 screens and without the use of pop-ups

o       Easily adaptable for future development

o       Viewable at 1024 by 768 screen resolution

o       Easily adaptable for future development

 

Section 8:              Foreseeable Modifications and Enhancements

 

Future Development may be implementing a method for choosing between different IP versions. If different types of packets are created, they should be inputted into the system. If newer versions of web browsers are created, the program should be able to run in them.

 

Section 9:          Acceptance Criteria

 

The system will have three major screens:

 

The first screen, the Protocol Selection screen, is the first screen the user is faced with at the start of the program.  Additionally, this screen can be accessed from the Information Display Screen by using the “Choose Protocol” button or from the Packet Selection Screen using the “Choose Protocol” button.  The major features of this screen are:

 

 

The second screen is the Packet Selection screen.  This screen can be accessed from either a “Choose Packet” button from the Information Display Screen or the selection of a protocol and file from the Protocol Selection Screen.  The major features of this screen are:

 

The third screen is the Information Display Screen, whose main function is to display the contents of a packet in a meaningful, easy to understand way.  This screen is reached when a packet is selected in the Packet Selection Screen.  The major features of this screen are: 

o       A “Choose Packet” button that will take the user to the Packet Selection Screen.  The data file and protocol that were previously chosen will be reflected in the screen.

o       A “Choose Protocol” button that will take the user to the Protocol Selection Screen.  At this point, no information about previous selections of protocols and data files will be remembered.

o       A Field Display Zone of the homepage will display field specific information for the various PDUs.  When a field is selected, that field will be highlighted, and a picture of that field, with the contained data and bit positions, will be displayed.  Additionally, information about the selected field will also be displayed in the information box.

o       A Radix Selection Zone, that will contain a method for selecting which radix that the information within the protocol will be displayed in. It can be displayed in binary, which is the default, octal, decimal, hexadecimal, and 8-bit ASCII.  This information will be displayed in the information box.

o       An information box that will display the contents of the Packet Field selected, or the Radix Field selected.

 

Section 10:       Testing Requirements

 

The system will be tested with multiple files and packets to see if all functional operations will are correct.  There will be a testing protocol, provided by the client, which will display the functions and their capabilities.  Each team member will be responsible for testing different aspects of the system.  The data entered into each protocol data unit will be verified by the client.

 

 

Section 11:       Design Hints and Guidelines

 

The PDU descriptor will assume that the user will select a packet session from a default directory where Ethereal files are stored.  The program will not allow for the user to capture their own packets. The display will be 1024x768, and will be easily viewable using projection monitors for use in classrooms. The projector in Roger Bacon room 328 will be used for testing.  At a later date there will be a sit down with the client to look at and choose colors for the display.

 

 

 

 

 

Section 12:       Sources of Information

 

Most of the information for this section was obtained from meetings with our client, Ken Swarner.  Other sources of information include Dr. Lederman’s class lectures, the Software Engineering class textbook Software Engineering: A Practitioner’s Approach by Roger S. Pressman, as well as previous Software Engineering teams’ projects, located at:  http://www.cs.siena.edu/~lederman/csis410/csis410.html

 

 

Section 13:       Glossary of Terms

 

Gantt Chart - A chart that depicts progress in relation to time, often used in planning and tracking a project. 

 

GUI - (Graphical user interface) An interface, in which the user interacts with the program. The TCP/IP Packet Descriptor uses text boxes and buttons to allow easy access of information by use of a mouse.

 

HTML – (Hypertext markup language) A markup language used to structure text and multimedia documents and to set up hypertext links between documents, used extensively on the World Wide Web.

 

Internet - An interconnected system of networks that connects computers around the world via the TCP/IP protocol.

 

Linear Sequential Model / Classic Waterfall Model – A systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing, and support.

 

Macromedia Dreamweaver MX 2004 - Website development environment.

(http://www.macromedia.com)

 

Network - A group of interconnected computers capable of exchanging information. A network can be as few as several personal computers on a LAN or as large as the Internet, a worldwide network of computers.

 

Open Systems Interconnection Reference Model - A model of network architecture and a suite of protocols (a protocol stack) to implement it, developed by the International Organization for Standardization (ISO) in 1978 as a framework for international standards in heterogeneous computer network architecture.

 

PDU- (Protocol Data Unit) Information that is delivered as a unit among peer entities of a network that may contain control information, address information, and/or data.

 

PHP – (PHP: Hypertext Preprocessor ) A server-side embedded scripting language. The PHP commands, which are embedded in the web page's HTML, are executed on the web server to generate dynamic HTML pages.

 

Software - Written programs, procedures or rules and associated documentation pertaining to the operation of a computer system and that are stored in read/write memory.

 

TCP/IP – (Transmission Control Protocol / Internet Protocol) The suite of communications protocols used to connect hosts on the Internet. TCP/IP uses several protocols, the two main ones being TCP and IP. TCP/IP is built into the UNIX operating system and is used by the Internet, making it the primary standard for transmitting data over networks.

 

 

Section 14:       Gantt Chart (Current Semester)