Development of a Scalable and Distributed System for Precise Performance Analysis of Communication Networks
This thesis proposes a packet generation and measurement tool for communication networks, called the Lightweight Universal Network Analyzer (LUNA). LUNA is designed to allow per packet analysis, and has been optimized for use with PREEMPT RT Linux to enhance realtime performance. A timing analysis shows the advantages this provides for precise packet generation. LUNA also works on standard Linux kernels, albeit with reduced precision. Mimicing realistic network loads for analysis may require the creation of packets with various interval and size patterns. LUNA supports this by offering a flexible packet parameter generation API, allowing the implementation of random distributions or other parameter sources as needed. LUNA features a multi-component design, which includes the core traffic generator, analysis tools, and a remote control system. Separating traffic generation and recording from analysis improves flexibility, and even allows re-evaluating results retrospectively. The remote control system supports distributed network analysis using a single comprehensive control file containing transmission definitions. Performance analysis shows that it is possible to reach single digit microsecond timing precision in packet generation with LUNA, but it also shows that the degree to which software precision translates into on-the-wire transmissions strongly varies depending on the networking hardware used, even within one type of network. These results highlight the importance of choosing measurement equipment carefully, even when only off-the-shelf hardware is available. Finally, two example applications of LUNA are presented. One is a throughput analysis of a software defined networking (SDN) testbed for traffic with certain characteristics, the other a round trip time analysis of a real world LTE (4G) mobile network.