🤖 AI Summary
This work proposes a novel robustness-centered evaluation paradigm for network protocol assessment by introducing automated adversarial testing. Traditional approaches, which rely on manual testing or real-world traces, often fail to cover unanticipated network conditions and may overlook critical flaws. In contrast, the proposed method leverages machine learning to generate adversarial network environments and integrates adversarial optimization with noise-robustness techniques to systematically stress-test both single-path and multipath congestion control protocols. Applied to the Linux kernel, this approach successfully produced effective adversarial scenarios for 27 congestion control algorithms, uncovering previously unknown kernel vulnerabilities and protocol limitations. The results demonstrate a significant enhancement in the depth and breadth of robustness evaluation for network protocols.
📝 Abstract
Infrastructure protocols like Congestion Control (CC) seek to provide reliable performance across a wide range of Internet environments. Currently, protocol designers assess performance through hand-designed test cases or data sets captured from real environments. However, such approaches may inadvertently overlook critical facets of the algorithm's behavior when they encounter an unanticipated environment or workload.
We seek to understand the unanticipated with \sys, a system that automatically generates adversarial network environments that cause a target protocol implementation to perform poorly. AdvNet employs machine learning-based optimization to generate environments, and incorporates a robust noise-handling mechanism to mitigate the variability inherent in real-world protocol performance. Although our approach is more general, this paper focuses specifically on transport protocols and their CC implementations. We showcase AdvNet's capability to create adversarial scenarios for 27 kernel-space implementations of both single-path and multi-path CC protocols, for several use cases with different performance goals. AdvNet identifies problematic network conditions that expose previously unnoticed Linux kernel bugs and uncovers hidden limitations in CC implementations, and provides insights about robustness. These results suggest that automated adversarial testing can be a valuable tool in protocol development, and that robustness is a useful new dimension for benchmarking CC protocols.