Software Requirement Specification

 

Requested by:                 Mr. Ken Swarner

                                      Systems Administrator

                                      Computer Science Department of Siena College

 

 

 

 

 

 

 

 

TCP/IP Packet Identifier

 

 

 

EdgeTech Development

“Always on the cutting edge”

edgetechdevelopment@hotmail.com

 

 

 

 

Prepared by:                             Matthew DeCrescente – Team Leader

                                      Eric Fish

                                      Jill Foster

                                      John Mooney

                                      Das Nobel

 

 

 

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.............................................................................. 13

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

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

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

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

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

            Section 10:    Testing Requirements................................................................................... 15

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

            Section 12:    Cross Reference Index................................................................................ 16

            Section 13:    Sources of Information................................................................................. 16

            Section 14:    Glossary of Terms....................................................................................... 17

            Section 15:    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 TCP/IP packets work and what information is contained in these packets. Our Client, Ken Swarner, has requested the development of a web-based system that will display the information contained in individual TCP/IP packets and interpret the individual bits into a format that students, as well as himself, can easily understand.

 

The purpose of the TCP/IP Packet Descriptor is to enable Mr. Ken Swarner to import Ethernet packets captured from an external program and display them in colorful and intuitive graphical user interface.  The interface shows a break down of the different components in a packet.  This will help Mr. Swarner troubleshoot problems that occur across the Computer Science network.  Mr. Swarner, along with other instructors and students, will also use it as an educational / instructional tool to investigate 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 will be developed with our client, Mr. Ken Swarner and Dr. Lederman.  EdgeTech Development will develop the system on the Siena College Software Engineering workstations.  In addition, team members will develop certain modules at their own workstations.  Those modules will be uploaded to the server via WinSCP.  The Descriptor will then display and describe the packet in full color coordination.  The Descriptor will require little maintenance.  The system will be developed and commented in such a way that any future work on the system can be easily picked up by future teams to enhance the system.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Section 3:     External Interfaces and Data Flows

 

Prototypes:

 

Choose A Protocol Screen:

 

 

·        This will be the first screen that will be shown when the user loads the program.  It is a hierarchal tree of important protocols of the TCP/IP levels, but not all.  The solid, colored protocol buttons are the protocols that the program will be able to descript.  The grayed out show other protocols not implemented, and are not able to be clicked  

·        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.

·        The Ethernet Frame will be displayed when a user first logs onto the web site.  It will not contain any information until a PDU is selected, but the fields will still be active links, displaying information about each field.

 

 

 

 

Choose A Session Screen:

 

 

·        At this screen, a default captured session will be loaded that corresponds with the protocol the user selected from the previous screen.  From here, the user could either double click on a packet or can open a different captured session from the list below.

·        Also, if the user wishes, they can go back and choose a different protocol by clicking the “Choose A Protocol” button at the top-left of the screen.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

File Selector Window:

 

 

 

·        This window that appears on the “Choose Session” screen will display the list of files that can be used in the program.  The directory path will be visible and also hard coded, allowing users to only access that folder, and not other folders on the system.  Only people with access to that folder will be able to add new captured sessions, but must place them in the specified path. 

·        The user must double click on the file, which will then open on the right hand of the screen.

 

 

 

 

 

 

 

 

 

 

Packet Selector Window:

 

 

·        This window is where the user of the program can choose from a variety of packets to be broken down into its own separate components.  The user must double click a specified packet, and it will automatically bring you to the display screen. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Display Screen - IP:

 

 

·        This is the screen that automatically displays once a packet is selected.  This specific IP Frame is a FTP Protocol Data Unit (PDU) because that’s what chose at the begining.  From here, the user can click any field and an information box will display on the right, showing the contents and information about that specific field.  Specific information about the particular packet, as well as details about what the field’s purpose.  It may be displayed in 8-bit ASCII, or as an octal, decimal, and/or hexadecimal number. 

·        The user can also see the TCP or FTP frames by click on the buttons above the frame. 

·        The user can also choose a different protocol by click the corresponding button.  They can also select a new session or packet, but keep the same protocol, by selecting the corresponding button.

·        Also, the Ethernet Packet now has information filled in.

 

 

 

 

 

 

 

 

Display Screen – TCP:

 

 

·        This is an example of the TCP Frame.  It is the same format as the IP Frame, but with different information that corresponds to the TCP aspect of the packet.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Display Screen - FTP:

 

 

·        This is an example of the FTP Frame.  It shows the contents of the Request/Response field, which is the word “PASS”. 


Data Flows:

 

Context Diagram:

 

 

  • This is the context diagram.  This is the most basic diagram that describes how the user will interact with the system. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Level 0:

 

  • This is the level 0 diagram.  This diagram is an expansion of the “TCP/IP Packet Descriptor” process from the context diagram. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Level 1:

 

  • This Level 1 diagram shows the “Choose A Protocol” process. 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

  • This shows the process for the “Choose Session” method.        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Section 4:        Function Requirements

 

Previously completed by Blue Technologies and Mirage Inc.

 

·        TCP/IP Packet Descriptor interface is web-based and describes a packet.

·        Portions of packet will be displayed and labeled in diagram form.

·        Information in the TCP frame fields of the packet can be displayed in binary, octal or hexadecimal form.

·        Displays each field of a packet and give information about each field.

·        Handles different amounts of packets, each at varying lengths.

 

To be completed by EdgeTech Development

·        Clean up the interface by eliminating recently selected protocol list and replacing it with protocol information.

·        Coordinate all colors in relevant fields and each field’s appropriate detailed information.

·        Allow users to select captured Ethereal sessions. Ethereal sessions will be located in a static directory chosen by client.

·        List of all available packets will be present within a session.

·        By selecting a packet, the information will be parsed into the previously chosen protocol.

·        Screens must be full screen upon load.

·        Software must be adaptable. 

·        Supply a button that links the user to a history EdgeTech and the TCP/IP Packet Descriptor, including Mirage Inc. and Blue Technologies websites, and the previous versions of the software.

·        Allow future programmers to implement a Cyclic Redundancy Check (CRC), a dynamic directory selector, and provide a demo.

 

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, Netscape Navigator 7.1 / Mozilla and Opera. 

 

The TCP/IP Packet Descriptor will be designed to be viewable at 1024 by 768 screen resolution on a computer monitor and 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 importable priorities of the system are:

·        Being a web-based program

·        Accessible by all of the most common browsers

·        Accessible by all of the most common operating systems

·        Viewable at 1024 by 768 screen resolution

·        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 inputting into the system. If newer versions of web browsers are created, the system should be able to run in them.

 

Section 9:        Acceptance Criteria

 

      The web site will contain 5 zones:

1.      Protocol Selection

2.      Protocol Display

3.      Session  Selection

4.      Packet Selection

5.      Field Display

 

The Protocol Selection zone of the TCP/IP Packet Descriptor will be the homepage.  Blue Technologies inc., and Mirage Inc., provided a list of protocols.  EdgeTech will expand on this list with additional protocols chosen by the client.

·        The protocol hierarchy display will be available at any time while the web site is being accessed. When the hierarchy is accessed, a picture will appear with the hierarchy and active links. Once a selection is made, the hierarchy picture will disappear.

·        Within the protocol hierarchy display, a picture of the TCP/IP and Open Systems Interconnection (OSI) layers will be displayed alongside the protocol hierarchy, with an emphasis on which protocols reside within each layer.

·        Selecting a protocol will cause a picture of that protocol, and any lower level protocols, to be displayed in the Protocol Display Zone of the TCP/IP Packet Descriptor.

 

 

The Protocol Display zone of the TCP/IP Packet Descriptor will display the selected protocol, and a breakdown of the protocol’s appropriate fields, in a colorful, informative and intuitive matter.

 

·        At least two of the PDUs will be displayed at all times in this display zone; IP and selected protocol.

·        When a user first accesses the homepage, the Ethernet frame and IP PDU will be displayed, without any specific data. The fields will be displayed but no data within each field will be displayed.

·        Each PDU picture will be broken up into its component fields. Bit and octet positions will be shown.

·        Each picture of each protocol will show the Request for Comments (RFC) number. The number will be a link to a homepage containing comprehensive information about that protocol.

·        In each picture, field names and protocol data will be displayed.

·        Selecting a field in one of the displayed units will cause information about that field to be displayed in the Field Display Zone of the homepage.

 

 

The Session Selection zone of the TCP/IP Packet Descriptor will display available sessions in a client determined directory.  At this time that directory will be static.  When a session is chosen, the contents of that session will be displayed in the Packet Selection zone. 

 

 

The Packet Selection zone of the TCP/IP Packet Descriptor will display a list of available packets located in the currently selected Session.  When a packet is chosen from this list, it will be displayed in the Protocol Display Zone.

 

 

The Field Display zone of the TCP/IP Packet Descriptor 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.

·        Along with the picture, information about the selected field will also be displayed.

·        There will also be a method for changing the Radix of the field data in this zone without changing the Radix for the whole selected PDU. 

 

 

From within any of the zones, methods will be provided to allow the user to navigate directly to any of the other zones.  This will be accomplished by either loading the next logical display or by providing buttons to load a specific display chosen by the user.

 

Section 10:   Testing Requirements

 

Since there is a limited number of user inputs into the system, all functional operations will be tested.  There will be a testing protocol, provided by the client, which will display every function and its capabilities.  Each team member of EdgeTech Development will be responsible for testing different aspects of the TCP/IP Packet Descriptor.  The data entered into each Protocol Data Unit will be verified by the client.

 

 

Section 11:   Design Hints and Guidelines

 

The TCP/IP Descriptor will assume that the user will have packets that will be provided to be examined and displayed, not provided by the descriptor itself.  These packets will be saved in files outputted from Ethereal into a designated directory that the client specifies.  The display will be 1024x768, and will be easily viewable using projection monitors for use in classrooms, the test projector will be used in Roger Bacon room 328.  At a later date, EdgeTech Development will further develop each screenshot until the client is satisfied with its layout.

 

Section 12:   Cross Reference Index:

 

This section will be available once we finalize a complete set of data flow diagrams in the design phase of the project.

 

Section 13:   Sources of Information

 

Most of the information for this section was obtained from the previous years Software Engineering teams, Blue Technologies Incorporated and Mirage Incorporated.  Also, additional information was gained from meetings with EdgeTech Development’s client Ken Swarner as well as Dr. Lederman.  Other sources of information include Dr. Lederman’s class lectures and the Software Engineering class textbook Software Engineering: A Practitioner’s Approach by Roger S. Pressman.  Vital sources are last years software teams Blue Technologies Incorporated (http://www.cs.siena.edu/%7Ecsis410/2003/bluetech/) as well as Mirage Incorporated  (http://www.cs.siena.edu/%7Ecsis410/2003/mirage/).


Section 14:   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, which uses text boxes and buttons to allow easy access of information by use of a mouse or other pointing device.

 

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)

 

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.

 

RFC- (Request for Comments) number.  A formal document from the Internet Engineering Task Force (IETF) that is the result of committee drafting and subsequent review by interested parties.

 

Software - Written programs or 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 15: Gantt Chart