TheaterQ: A Qdisc for Dynamic Network Emulation
Martin Ottens, Kai-Steffen Hielscher, Reinhard German
TL;DR
The paper tackles the challenge of emulating dynamically changing networks, where traditional static-parameter tools like NetEm fall short. It introduces TheaterQ, a Linux qdisc that replays Trace Files containing time-stamped link characteristics entirely in the kernel, enabling synchronized playback across multiple qdiscs. Key contributions include a five-state control model, per-packet trace replay with drift-free application, and features such as route identifiers and SyncGroups, plus support for rate limits, delays with jitter, losses, duplications, and queue limits. Evaluations show TheaterQ can reproduce dynamic trace characteristics with accuracy comparable to NetEm while offering improved fidelity for changing conditions, making it a flexible open-source tool for modern protocol development.
Abstract
TheaterQ is a Linux qdisc designed for dynamic network emulation, addressing the limitations of static parameters in traditional tools like NetEm. By utilizing Trace Files containing timelines with network characteristics, TheaterQ achieves high-accuracy emulation of dynamic networks without involving the userspace and allows for resolutions of characteristic updates of up to 1 microsecond. Features include synchronization across mutliple qdisc instances and handling of delays, bandwidth, packet loss, duplication, and reordering. Evaluations show TheaterQ's accuracy and its comparable performance to existing tools, offering a flexible solution for modern communication protocol development. TheaterQ is available as open-source software under the GPLv2 license.
