Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3452296.3472912acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article
Open access

Toward formally verifying congestion control behavior

Published: 09 August 2021 Publication History
  • Get Citation Alerts
  • Abstract

    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.

    Supplementary Material

    arzani-public-review (262-public-review.pdf)
    Toward Formally Verifying Congestion Control Behavior: Public Review
    MP4 File (video-presentation.mp4)
    Conference Presentation Video
    MP4 File (video-long.mp4)
    Long Version Video

    References

    [1]
    [n.d.]. The Linux netem network emulator. https://www.linux.org/docs/man8/tc-netem.html.
    [2]
    [n.d.]. The ns-2 simulator. https://isi.edu/nsnam/ns/.
    [3]
    [n.d.]. The ns-3 simulator. https://nsnam.org/.
    [4]
    Soheil Abbasloo, Chen-Yu Yen, and H Jonathan Chao. 2020. Classic meets modern: A pragmatic learning-based congestion control for the Internet. In ACM SIGCOMM. 632--647.
    [5]
    Mohammad Alizadeh, Albert Greenberg, David A Maltz, Jitendra Padhye, Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan. 2010. Data Center TCP (DCTCP). In ACM SIGCOMM. 63--74.
    [6]
    Venkat Arun and Hari Balakrishnan. 2018. Copa: Practical delay-based congestion control for the internet. In USENIX NSDI. 329--342.
    [7]
    François Baccelli and Dohy Hong. 2000. TCP is max-plus linear and what it tells us on its throughput. In ACM SIGCOMM CCR. 219--230.
    [8]
    Bruno Barras, Samuel Boutin, Cristina Cornes, Judicaël Courant, Jean-Christophe Filliatre, Eduardo Gimenez, Hugo Herbelin, Gerard Huet, Cesar Munoz, Chetan Murthy, et al. 1997. The Coq proof assistant reference manual: Version 6.1. Ph.D. Dissertation. Inria.
    [9]
    Ryan Beckett, Aarti Gupta, Ratul Mahajan, and David Walker. 2017. A general approach to network configuration verification. In ACM SIGCOMM. 155--168.
    [10]
    Ryan Beckett, Xuan Kelvin Zou, Shuyuan Zhang, Sharad Malik, Jennifer Rexford, and David Walker. 2014. An assertion language for debugging SDN applications. In ACM HotSDN. 91--96.
    [11]
    Steve Bishop, Matthew Fairbairn, Michael Norrish, Peter Sewell, Michael Smith, and Keith Wansbrough. 2005. Rigorous specification and conformance testing techniques for network protocols, as applied to TCP, UDP, and Sockets. In ACM SIGCOMM. 265--276.
    [12]
    Anne Bouillard, Marc Boyer, and Euriell Le Corronc. 2018. Deterministic Network Calculus: From Theory to Practical Implementation. John Wiley & Sons.
    [13]
    L. S. Brakmo, S. W. O'Malley, and L. L. Peterson. 1994. TCP Vegas: New Techniques for Congestion Detection and Avoidance. In ACM SIGCOMM. 24--35.
    [14]
    Neal Cardwell, Yuchung Cheng, Lawrence Brakmo, Matt Mathis, Barath Raghavan, Nandita Dukkipati, Hsiao-keng Jerry Chu, Andreas Terzis, and Tom Herbert. 2013. packetdrill: Scriptable network stack testing, from sockets to packets. In USENIX ATC. 213--218.
    [15]
    Neal Cardwell, Yuchung Cheng, C Stephen Gunn, Soheil Hassas Yeganeh, and Van Jacobson. 2016. BBR: Congestion-based congestion control. In ACM Queue. 58--66.
    [16]
    D-M. Chiu and R. Jain. 1989. Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks. Computer Networks and ISDN Systems 17, 1--14.
    [17]
    Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An efficient SMT solver. In International conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer, 337--340.
    [18]
    Leonardo de Moura, Soonho Kong, Jeremy Avigad, Floris Van Doorn, and Jakob von Raumer. 2015. The Lean theorem prover (system description). In International Conference on Automated Deduction. Springer, 378--388.
    [19]
    Mo Dong, Qingxi Li, Doron Zarchy, P Brighten Godfrey, and Michael Schapira. 2015. PCC: Re-architecting Congestion Control for Consistent High Performance. In USENIX NSDI 2015. 395--408.
    [20]
    Mo Dong, Tong Meng, Doron Zarchy, Engin Arslan, Yossi Gilad, Brighten Godfrey, and Michael Schapira. 2018. PCC vivace: Online-learning congestion control. In USENIX NSDI. 343--356.
    [21]
    Nandita Dukkipati. 2008. Rate Control Protocol (RCP): Congestion control to make flows complete quickly. Citeseer.
    [22]
    S. Floyd, T. Henderson, A. Gurtov, and Y. Nishida. 2004. The NewReno Modification to TCP's Fast Recovery Algorithm. RFC 6582, IETF.
    [23]
    Nitin Garg. 2019. Evaluating COPA congestion control for improved video performance. https://engineering.fb.com/2019/11/17/video-engineering/copa/.
    [24]
    Aaron Gember-Jacobson, Raajay Viswanathan, Aditya Akella, and Ratul Mahajan. 2016. Fast control plane analysis using an abstract representation. In ACM SIGCOMM. 300--313.
    [25]
    Prateesh Goyal, Anup Agarwal, Ravi Netravali, Mohammad Alizadeh, and Hari Balakrishnan. 2020. ABC: A Simple Explicit Congestion Controller for Wireless Networks. In USENIX NSDI. 353--372.
    [26]
    Facebook Inc. Accessed July 2021. MVFST: Facebook's QUIC implementation, commit e04fcaac. https://github.com/facebookincubator/mvfst/commit/e04fcaacc1633c1bae78c61aac1f5f8a5784f657.
    [27]
    Jana Iyengar and Martin Thomson. 2018. QUIC: A UDP-based multiplexed and secure transport. Internet Engineering Task Force, Internet-Draft.
    [28]
    Dina Katabi, Mark Handley, and Charlie Rohrs. 2002. Congestion control for high bandwidth-delay product networks. In ACM SIGCOMM. 89--102.
    [29]
    Hwangnam Kim and Jennifer C Hou. 2004. Network calculus based simulation for tcp congestion control: Theorems, implementation and evaluation. In IEEE INFOCOM, Vol. 4. IEEE, 2844--2855.
    [30]
    Nupur Kothari, Ratul Mahajan, Todd Millstein, Ramesh Govindan, and Madanlal Musuvathi. 2011. Finding protocol manipulation attacks. In ACM SIGCOMM. 26--37.
    [31]
    Jean-Yves Le Boudec and Patrick Thiran. 2001. Network calculus: a theory of deterministic queuing systems for the internet. Vol. 2050. Springer Science & Business Media.
    [32]
    Matt Mathis, Jamshid Mahdavi, Sally Floyd, and Allyn Romanow. 2012. TCP Selective Acknowledgment Options. RFC 1996, IETF.
    [33]
    Matthew Mathis, Jeffrey Semke, Jamshid Mahdavi, and Teunis Ott. 1997. The macroscopic behavior of the TCP congestion avoidance algorithm. ACM SIGCOMM CCR 27, 3, 67--82.
    [34]
    Tong Meng, Neta Rozen Schiff, P Brighten Godfrey, and Michael Schapira. 2020. PCC proteus: Scavenger transport and beyond. In ACM SIGCOMM. 615--631.
    [35]
    Akshay Narayan, Frank Cangialosi, Deepti Raghavan, Prateesh Goyal, Srinivas Narayana, Radhika Mittal, Mohammad Alizadeh, and Hari Balakrishnan. 2018. Restructuring endpoint congestion control. In ACM SIGCOMM. 30--43.
    [36]
    Yuchung Cheng Neal Cardwell. 2015. The Linux Kernel, commit 43e122b0. https://github.com/torvalds/linux/commit/43e122b014c955a33220fabbd09c4b5e4f422c3c.
    [37]
    Ravi Netravali, Anirudh Sivaraman, Somak Das, Ameesh Goyal, Keith Winstein, James Mickens, and Hari Balakrishnan. 2015. Mahimahi: Accurate Record-and-Replay for HTTP. In USENIX ATC. 417--429.
    [38]
    Matt Sargent, Jerry Chu, Dr Vern Paxson, and Mark Allman. 2011. Computing TCP's retransmission timer. Technical Report. RFC 6289.
    [39]
    R. Srikant. 2004. The Mathematics of Internet Congestion Control. Springer Science & Business Media.
    [40]
    Bo Su, Xianliang Jiang, Guang Jin, and Haiming Chen. 2020. Rethinking the rate estimation of BBR congestion control. Electronics Letters 56, 5 (2020), 239--241.
    [41]
    Wei Sun, Lisong Xu, and Sebastian Elbaum. 2017. Improving the cost-effectiveness of symbolic testing techniques for transport protocol implementations under packet dynamics. In ACM SIGSOFT. 79--89.
    [42]
    Wei Sun, Lisong Xu, and Sebastian Elbaum. 2018a. Limitations of emulating realistic network environments for correctness testing of internet applications. In 2018 IEEE International Conference on Communications (ICC). IEEE, 1--6.
    [43]
    Wei Sun, Lisong Xu, and Sebastian Elbaum. 2018b. Scalably testing congestion control algorithms of real-world TCP implementations. In IEEE International Conference on Communications (ICC). 1--7.
    [44]
    Wei Sun, Lisong Xu, Sebastian Elbaum, and Di Zhao. 2019. Model-Agnostic and Efficient Exploration of Numerical State Space of Real-World TCP Congestion Control Implementations. In USENIX NSDI. 719--734.
    [45]
    Yue Wang, Kanglian Zhao, Wenfeng Li, Juan Fraire, Zhili Sun, and Yuan Fang. 2018. Performance evaluation of QUIC with BBR in satellite internet. In IEEE International Conference on Wireless for Space and Extreme Environments (WiSEE). IEEE, 195--199.
    [46]
    D.X. Wei, C. Jin, S.H. Low, and S. Hegde. 2006. FAST TCP: Motivation, Architecture, Algorithms, Performance. IEEE/ACM Trans. on Networking 14, 6 (2006), 1246--1259.
    [47]
    Keith Winstein and Hari Balakrishnan. 2013. TCP ex Machina: Computer-Generated Congestion Control. In ACM SIGCOMM 2013.
    [48]
    Keith Winstein, Anirudh Sivaraman, and Hari Balakrishnan. 2013. Stochastic Forecasts Achieve High Throughput and Low Delay over Cellular Networks. In USENIX NSDI. 459--471.
    [49]
    Damon Wischik, Costin Raiciu, Adam Greenhalgh, and Mark Handley. 2011. Design, Implementation and Evaluation of Congestion Control for Multipath TCP. In USENIX NSDI, Vol. 11. 8--8.
    [50]
    Yaxiong Xie, Fan Yi, and Kyle Jamieson. 2020. PBE-CC: Congestion Control via Endpoint-Centric, Physical-Layer Bandwidth Measurements. In ACM SIGCOMM. 451--464.
    [51]
    Francis Y Yan, Hudson Ayers, Chenzhi Zhu, Sadjad Fouladi, James Hong, Keyi Zhang, Philip Levis, and Keith Winstein. 2020. Learning in situ: a randomized experiment in video streaming. In USENIX NSDI. 495--511.
    [52]
    Francis Y Yan, Jestin Ma, Greg D Hill, Deepti Raghavan, Riad S Wahby, Philip Levis, and Keith Winstein. 2018. Pantheon: the training ground for Internet congestion-control research. In USENIX ATC. 731--743.

    Cited By

    View all
    • (2024)Dragonfly: In-Flight CCA IdentificationIEEE Transactions on Network and Service Management10.1109/TNSM.2024.338041721:3(2675-2685)Online publication date: Jun-2024
    • (2024)When TCP Meets Reconfigurations: A Comprehensive Measurement StudyIEEE Transactions on Network and Service Management10.1109/TNSM.2023.332750821:2(1372-1386)Online publication date: Apr-2024
    • (2023)Towards Integrating Formal Methods into ML-Based Systems for NetworkingProceedings of the 22nd ACM Workshop on Hot Topics in Networks10.1145/3626111.3628188(48-55)Online publication date: 28-Nov-2023
    • Show More Cited By

    Index Terms

    1. Toward formally verifying congestion control behavior

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        SIGCOMM '21: Proceedings of the 2021 ACM SIGCOMM 2021 Conference
        August 2021
        868 pages
        ISBN:9781450383837
        DOI:10.1145/3452296
        This work is licensed under a Creative Commons Attribution-ShareAlike International 4.0 License.

        Sponsors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 09 August 2021

        Permissions

        Request permissions for this article.

        Check for updates

        Badges

        Author Tags

        1. WAN transport
        2. congestion control
        3. formal verification

        Qualifiers

        • Research-article

        Funding Sources

        Conference

        SIGCOMM '21
        Sponsor:
        SIGCOMM '21: ACM SIGCOMM 2021 Conference
        August 23 - 27, 2021
        Virtual Event, USA

        Acceptance Rates

        Overall Acceptance Rate 554 of 3,547 submissions, 16%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)1,548
        • Downloads (Last 6 weeks)168

        Other Metrics

        Citations

        Cited By

        View all
        • (2024)Dragonfly: In-Flight CCA IdentificationIEEE Transactions on Network and Service Management10.1109/TNSM.2024.338041721:3(2675-2685)Online publication date: Jun-2024
        • (2024)When TCP Meets Reconfigurations: A Comprehensive Measurement StudyIEEE Transactions on Network and Service Management10.1109/TNSM.2023.332750821:2(1372-1386)Online publication date: Apr-2024
        • (2023)Towards Integrating Formal Methods into ML-Based Systems for NetworkingProceedings of the 22nd ACM Workshop on Hot Topics in Networks10.1145/3626111.3628188(48-55)Online publication date: 28-Nov-2023
        • (2023)Harnessing ML For Network Protocol AssessmentProceedings of the 22nd ACM Workshop on Hot Topics in Networks10.1145/3626111.3628182(213-219)Online publication date: 28-Nov-2023
        • (2023)Efficient Verification of Timing-Related Network Functions in High-Speed HardwareIEEE INFOCOM 2023 - IEEE Conference on Computer Communications10.1109/INFOCOM53939.2023.10228994(1-10)Online publication date: 17-May-2023
        • (2023)A Formal Analysis of Karn’s AlgorithmNetworked Systems10.1007/978-3-031-37765-5_4(43-61)Online publication date: 22-May-2023
        • (2022)On the Performance of TCP in Reconfigurable Data Center Networks2022 18th International Conference on Network and Service Management (CNSM)10.23919/CNSM55787.2022.9964863(127-135)Online publication date: 31-Oct-2022

        View Options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Get Access

        Login options

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media