The diversity of paths on the Internet makes it difficult for designers and operators to confidently deploy new congestion control algorithms (CCAs) without extensive real-world experiments, but such capabilities are not available to most of the networking community. And even when they are available, understanding why a CCA underperforms by trawling through massive amounts of statistical data from network connections is challenging. The history of congestion control is replete with many examples of surprising and unanticipated behaviors unseen in simulation but observed on real-world paths. In this paper, we propose initial steps toward modeling and improving our confidence in a CCA's behavior. We have developed CCAC, a tool that uses formal verification to establish certain properties of CCAs. It is able to prove hypotheses about CCAs or generate counterexamples for invalid hypotheses. With CCAC, a designer can not only gain greater confidence prior to deployment to avoid unpleasant surprises, but can also use the counterexamples to iteratively improvetheir algorithm. We have modeled additive-increase/multiplicative-decrease (AIMD), Copa, and BBR with CCAC, and describe some surprising results from the exercise.
CITATION STYLE
Arun, V., Arashloo, M. T., Saeed, A., Alizadeh, M., & Balakrishnan, H. (2021). Toward formally verifying congestion control behavior. In SIGCOMM 2021 - Proceedings of the ACM SIGCOMM 2021 Conference (pp. 1–16). Association for Computing Machinery, Inc. https://doi.org/10.1145/3452296.3472912
Mendeley helps you to discover research relevant for your work.