Toolkit for the Analysis of 'network-aware' Applications

Patrick Walther

Semester Thesis Winter 1996/97
Supervisors: J. Bolliger, Prof. T. Gross
Institute for Computer Systems, ETH Zürich


Abstract

To test the adaptability of network-aware applications, a toolkit is required, to generate network traffic and watch the application's reactions. While several network simulation products exist, this toolkit should act as an emulator, producing real application-level data traffic on a network. In addition, off-line analysis of experiments should be possible.
There are three basic requirements for the emulation part of the toolkit to be met; first, it must be possible to designate several nodes of a network as source or sink. Nodes should act as applications, producing or consuming network traffic of a certain kind. The second point is the generation of realistic application-level traffic of different types. Finally, sent and received data are to be traced carefully by all nodes for evaluation reasons.
Experiments are prepared in specification files, by description of start- and end-nodes of various sessions of different types. Three different traffics on the application-level are supported by the toolkit. These are Telnet, FTP and Constant Bit Rate (CBR). The statistical properties of synthetic Telnet and FTP traffic are modeled by using tcplib, a free available library of TCP traffic characteristics. The behavior of CBR applications is to be specified by the user.
Time and size of sent or received data packets is logged in files by all applications. These files are used to calculate delay times or round trip times of packets, and bandwidths or loss rates of applications. After calculations are completed, user defined graphical output is produced for evaluation and analysis of an experiment.
Apart from the description of the developed software several experiments are presented and interpreted. They are illustrating capabilities and limits of the toolkit. One possible use of the toolkit in testing network-aware applications is to run in parallel an experiment and the application that is to be tested.


[ CS-Department | Up ]

ETH Zürich: Department of Computer Science
Comments to Jürg Bolliger <bolliger@inf.ethz.ch>
March 1, 1997