Congestion control research has experienced a significant increase in interest in the past few years, with many purpose-built algorithms being designed with the needs of specific applications in mind. These algorithms undergo limited testing before being deployed on the Internet, where they interact with other congestion control algorithms and run across a variety of network conditions. This often results in unforeseen performance issues in the wild due to algorithmic inadequacies or implementation bugs, and these issues are often hard to identify since packet traces are not available. In this paper, we present CC-Fuzz, an automated congestion control testing framework that uses a genetic search algorithm in order to stress test congestion control algorithms by generating adversarial network traces and traffic patterns. Initial results using this approach are promising - CC-Fuzz automatically found a bug in BBR that causes it to stall permanently, and is able to automatically discover the well-known low-rate TCP attack, among other things.
翻译:过去几年来,消化控制研究的兴趣明显增加,许多目的设计的算法的设计都考虑到具体应用的需要。这些算法在被放在互联网上之前经过有限的测试,这些算法与其他拥堵控制算法相互作用,并跨越各种网络条件。由于算法不完善或执行错误,这往往导致野外的意外性能问题,而且这些问题往往很难确定,因为没有包装的痕迹。本文介绍了一个自动消化控制测试框架CC-Fuzz,这个框架使用基因搜索算法,通过生成对抗性网络的跟踪和交通模式,对拥堵控制算法进行压力测试。使用这种方法的初步结果很有希望 — CC-Fuzz在BBR自动发现一个虫,导致它永久停留,并且能够自动发现众所周知的低速TCP攻击等等。