The software test environment consisted of a test harness, written in the python programming language, and the iperf network performance benchmark. The test harness is included in Appendix A as ``runtest.py''. Iperf was a patched version from the openss7 project modified to support the lkSCTP API [ope]. The test harness ran iperf on the target wireless-G laptop for 60 seconds for each run, collecting bandwidth data on 1 second intervals. The data was saved to a file for each iperf invocation on both the send and receive sides. The test harness cycled through a list of message sizes (iperf's -l argument) and noise rates. If the requested noise generation for a run was not zero, the test harness started iperf on the target, and waits 20 seconds to start a noise generation run on the noise generator machine, which runs for 30 seconds.
The receiving iperf processes for the target machine were on an IP address configured on the Ethernet on the 802.11b machine, and the noise generation iperf receiving process was run on the Ethernet interface of the 802.11g machine. This caused test traffic to be sent from the G laptop to the G-AP, to the Ethernet switch, and then to the second laptop. Noise traffic went from the second laptop's wireless B card to the B-AP, then the Ethernet switch and then to the G-laptop. The message sizes iterated through were 1, 4, 16, 64, 256, 1k, 4k, 16k, 64k, and 256k. Noise sizes were 0, 50, 100, 200, 500, 1000, and 2000 Kilobits/sec. Each run was repeated for UDP, TCP, and SCTP. This resulted in a total 210 iperf runs, which took about 4 hours to run.
This resulted in around 800 individual data files. Examples of python programs to parse and visualize the resulting data are included in Appendix B and C.
Troy Benjegerdes 2005-02-15