CREW Final Report
April 2001
Student Researchers: Elaine Winecoff and Diana O'Riley
Faculty Sponsors: Drs. Merry and Gary McDonald
Project Title: PACKETQUEST - A Visualization Tool for Teaching Networking


Behavior Goals and Purpose

The purpose of this project was to develop a visualization tool that will aid students' understanding of network behavior. Networking concepts are primarily taught through lectures. This provides students with a strong theoretical foundation, but omits the important practical element of enabling students to "see" a network in an operational state. For example, students can be well-versed in TCP/IP theory, datagram forwarding, ACKs, ARP requests and replies, and still fail to understand what these concepts mean in a real network environment. PacketQuest sought to remedy this situation, providing a hands-on learning experience for students and a visual teaching tool for professors. In addition to allowing students to study different network behavior, the more advanced students have the ability to study the underlying programs used in building the GUI interface allowing them to gain a better understanding of the detail involved in analyzing captured data.

The objective of this project was to develop a visualization tool that would help students to understand network behavior. In developing PacketQuest, the researchers are focused on analysis of packet content and network traffic. There are sophisticated network monitoring systems available, but the better ones are very expensive and are designed for network management use. Our goal was to produce visualization tools that could be used with inexpensive packet-capturing software, resulting in a system that is affordable and is designed for use in undergraduate networking labs.

Process

The methods used for this research were to design the application's interface, build the prototype in Visual Basic, create the test file, test the application, and finally convert the application into Java. Another method used to carry out this research was to evaluating this project on an ongoing basis. The research team met weekly to report current progress and to ensure that the project is proceeding as planned.

During the Summer 2000 we designed the interface and established a timeline for the project. During the Fall 2000 semester, we used Visual Basic to create a prototype. The prototype of PacketQuest was completed in the middle of October. We then prepared for testing the effectiveness of our application in the Computer Networks course on campus. This involved creating a lab assignment in which students used PacketQuest to answer a series of questions regarding a packet trace data file. Students were also asked to fill out a feedback form evaluating what they felt they learned from the lab assignment. Based on comments from students and faculty involved in the pilot test, modifications were made to PacketQuest.

During the Spring 2001 semester, the student researchers converted the prototype of PacketQuest into a Java application. Then the student researchers did a full analysis of the results. Finally, the student researchers collected and prepared appropriate reports for the dissemination of the results of this project.

Conclusions and Results


The primary result of this research was the development of the PacketQuest application. PacketQuest consists of a GUI interface with many menu options and graphing capabilities. Our project is a Windows-based application that uses as input a data file consisting of packet traces captured by network monitoring software. Original data files were in binary. We converted them to hexadecimal for input to PacketQuest. The main screen allows a student to select one of the packet trace files, generated from the network monitoring software, and then graphs the number of acknowledgements, ARP requests, and ARP replies in the file. Another option is to view the breakdown of the different header fields of the packets, with addresses translated into decimal or dotted decimal format. A final option is to view a graph of the efficiency (data to overhead) of the file.

Different files can be used with this application to compare the differences between TCP and UDP protocols. In addition to these options a help feature is included to not only assist students in the use of PacketQuest, but also to clarify the concepts studied and applied in the application. While our project does display some graphical information related to network traffic, the emphasis is on examining the content of packets to help students understand how the different network protocols work on an actual operational network.

This application was used in the Computer Networks course taught at Northwest last fall. The data collected from the student testing was encouraging. Sixty-seven percent of students felt that after using PacketQuest, they have a better understanding of networking concepts such as ARP and ACK. When students were asked which parts of PacketQuest were most beneficial, 38% responded that the efficiency graph was the most helpful, while 33% found the parsing feature the most helpful.