Table of Contents
Fetching ...

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.

TheaterQ: A Qdisc for Dynamic Network Emulation

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.

Paper Structure

This paper contains 16 sections, 4 figures.

Figures (4)

  • Figure 1: Architecture of the TheaterQlkm.
  • Figure 2: Simplified state machine for a TheaterQ instance.
  • Figure 3: Example setup using an emulation system with two network interfaces between test systems.
  • Figure 4: Comparison of the values from the Trace Files and actual Layer 2-throughput using UDP traffic and ICMP ping RTT measurements in the emulation environment. Only bandwidth limitations and delay characteristics were applied on the forward path, e.g., only one TheaterQ instance was used.