User menu

Pluginizing QUIC

  • Open access
  • PDF
  • 1.11 M
  1. Bennet Yee, David Sehr, Gregory Dardyk, J. Bradley Chen, Robert Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula, and Nicholas Fullagar. 2009. Native client: A sandbox for portable, untrusted x86 native code. In 30th IEEE Symposium on Security and Privacy. IEEE, 79--93.
  2. Jonathan Woodruff, Robert N. M. Watson, David Chisnall, Simon W. Moore, Jonathan Anderson, Brooks Davis, Ben Laurie, Peter G. Neumann, Robert Norton, and Michael Roe. 2014. The CHERI capability model: Revisiting RISC in an age of risk. In ACM/IEEE 41st International Symposium on Computer Architecture (ISCA). IEEE, 457--468.
  3. Gary Wong, Matti Hiltunen, and Richard Schlichting. 2001. A configurable and extensible transport protocol. In Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society. IEEE, 319--328.
  4. David J. Wetherall, John V. Guttag, and David L. Tennenhouse. 1998. ANTS: A toolkit for building and dynamically deploying network protocols. In Open Architectures and Network Programming, 1998 IEEE. IEEE, 117--129.
  5. Magnus Westerlund. 2018. Proposal for adding ECN support to QUIC. (2018). https://github.com/quicwg/base-drafts/pull/1372.
  6. Kunshan Wang, Yi Lin, Stephen M. Blackburn, Michael Norrish, and Antony L. Hosking. 2015. Draining the swamp: Micro virtual machines as solid foundation for language development. In LIPIcs-Leibniz International Proceedings in Informatics, Vol. 32. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
  7. Robert Wahbe, Steven Lucco, Thomas E. Anderson, and Susan L. Graham. 1994. Efficient software-based fault isolation. ACM SIGOPS Operating Systems Review 27, 5 (1994), 203--216.
  8. Tobias Viernickel, Alexander Froemmgen, Amr Rizk, Boris Koldehofe, and Ralf Steinmetz. 2018. Multipath QUIC: A deployable multipath transport protocol. In 2018 IEEE International Conference on Communications (ICC). IEEE, 1--7.
  9. Ultimate Team. 2018. Ultimate. Source code. https://github.com/ultimate-pa/ultimate.
  10. Viet Hoang Tran and Olivier Bonaventure. 2019. Beyond socket options: making the Linux TCP stack truly extensible. IFIP Networking (2019). http://hdl.handle.net/2078.1/214176
  11. Brian Trammell and Mirja Kuehlewind. 2018. The QUIC Latency Spin Bit. Internet-Draft draft-ietf-quic-spin-exp-01.
  12. Alin Tomescu, Vivek Bhupatiraju, Dimitrios Papadopoulos, Charalampos Pa-pamanthou, Nikos Triandopoulos, and Srinivas Devadas. 2018. Transparency Logs via Append-only Authenticated Dictionaries. Cryptology ePrint Archive, Report 2018/721. (2018). https://eprint.iacr.org/2018/721.
  13. David L. Tennenhouse and David J. Wetherall. 1996. Towards an active network architecture. ACM SIGCOMM Computer Communication Review 26, 2 (1996), 5--17.
  14. David L. Tennenhouse, Jonathan M. Smith, W. David Sincoskie, David J. Wether-all, and Gary J. Minden. 1997. A survey of active network research. IEEE communications Magazine 35, 1 (1997), 80--86.
  15. Jay Kumar Sundararajan, Devavrat Shah, Muriel Médard, Szymon Jakubczak, Michael Mitzenmacher, and João Barros. 2011. Network coding meets TCP: Theory and implementation. Proc. IEEE 99, 3 (2011), 490--512.
  16. Stewart R., Xie Q., Morneault K., Sharp C., Schwarzbauer H., Taylor T., Rytina I., Kalla M., Zhang L., Paxson V., Stream Control Transmission Protocol, 10.17487/rfc2960
  17. Emile Stephan, Mathilde Cayla, Arnaud Braud, and Fred Fieau. 2017. QUIC Interdomain Troubleshooting. (July 2017). Internet draft, draft-stephan-quic-interdomain-troubleshooting-00.txt, work in progress.
  18. Madhavapeddi Shreedhar and George Varghese. 1996. Efficient fair queuing using deficit round-robin. IEEE/ACM Transactions on networking 4, 3 (1996), 375--385.
  19. Jenny Santiago, Magalie Claeys-Bruno, and Michelle Sergent. 2012. Construction of space-filling designs using WSP algorithm for high dimensional spaces. Chemometrics and Intelligent Laboratory Systems 113 (2012), 26--31.
  20. Jan Rüth, Ingmar Poese, Christoph Dietzel, and Oliver Hohlfeld. 2018. A First Look at QUIC in the Wild. In International Conference on Passive and Active Network Measurement. Springer, 255--268.
  21. John P. Rula, James Newman, Fabián E. Bustamante, Arash Molavi Kakhki, and David Choffnes. 2018. Mile High WiFi: A First Look At In-Flight Internet Connectivity. In Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 1449--1458.
  22. John P. Rula, Fabián E. Bustamante, and David R. Choffnes. 2016. When IPs Fly: A Case for Redefining Airline Communication. In Proceedings of the 17th International Workshop on Mobile Computing Systems and Applications. ACM, 9--14.
  23. Florentin Rochet, Olivier Bonaventure, and Olivier Pereira. 2019. Flexible Anonymous Network. In 12th Workshop on Hot Topics in Privacy Enhancing Technologies (HotPETs 2019).
  24. Vincent Roca, Ian Swett, and Marie-Jose Montpetit. 2019. Sliding Window Random Linear Code (RLC) Forward Erasure Correction (FEC) Schemes for QUIC. Internet-Draft draft-roca-nwcrg-rlc-fec-scheme-for-quic-01. IETF Secretariat.
  25. Luigi Rizzo. 1997. Effective erasure codes for reliable computer communication protocols. ACM SIGCOMM computer communication review 27 , 2 (1997), 24--36.
  26. K. K. Ramakrishnan, Sally Floyd, and David L. Black. 2001. The Addition of Explicit Congestion Notification (ECN) to IP. RFC 3168. (Sept. 2001), 63 pages. Updated by RFCs 4301, 6040, 8311.
  27. Costin Raiciu, Christoph Paasch, Sebastien Barre, Alan Ford, Michio Honda, Fabien Duchene, Olivier Bonaventure, and Mark Handley. 2012. How hard can it be? Designing and implementing a deployable multipath TCP. In Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation. USENIX Association, 399--412.
  28. Postel J., Transmission Control Protocol, 10.17487/rfc0793
  29. Andreas Podelski and Andrey Rybalchenko. 2005. Transition predicate abstraction and fair termination. ACM SIGPLAN Notices 40, 1 (2005), 132--144.
  30. Andreas Podelski and Andrey Rybalchenko. 2004. Transition invariants. In Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004. IEEE, 32--41.
  31. Maxime Piraux, Quentin De Coninck, and Olivier Bonaventure. 2018. Observing the Evolution of QUIC Implementations. In Proceedings of the Workshop on the Evolution, Performance, and Interoperability of QUIC. ACM, 8--14.
  32. Tommy Pauly, Eric Kinnear, and David Schinazi. 2018. An Unreliable Datagram Extension to QUIC. Internet-Draft draft-pauly-quic-datagram-01.
  33. Parveen Patel, Andrew Whitaker, David Wetherall, Jay Lepreau, and Tim Stack. 2003. Upgrading transport protocols using untrusted mobile code. ACM SIGOPS Operating Systems Review 37, 5 (2003), 1--14.
  34. Shankara Pailoor, Andrew Aday, and Suman Jana. 2018. MoonShine: Optimizing OS Fuzzer Seed Selection with Trace Distillation. In 27th USENIX Security Symposium (USENIX Security 18). 729--743.
  35. George C. Necula. 2002. Proof-carrying code. Design and implementation. In Proof and system-reliability. Springer, 261--288.
  36. Akshay Narayan, Frank Cangialosi, Deepti Raghavan, Prateesh Goyal, Srinivas Narayana, Radhika Mittal, Mohammad Alizadeh, and Hari Balakrishnan. 2018. Restructuring endpoint congestion control. In Proceedings of the 2018 Conference of the ACM Special Interest Group on Data Communication. ACM, 30--43.
  37. Nagendra Modadugu and Eric Rescorla. 2004. The Design and Implementation of Datagram TLS. In Network and Distributed System Security Symposium (NDSS'04).
  38. François Michel, Quentin De Coninck, and Olivier Bonaventure. 2019. QUIC-FEC: Bringing the benefits of Forward Erasure Correction to QUIC. IFIP Networking (2019).
  39. Ralph C. Merkle. 1987. A digital signature based on a conventional encryption function. In Conference on the theory and application of cryptographic techniques. Springer, 369--378.
  40. Marcela Melara, Aaron Blankstein, Joseph Bonneau, Edward Felten, and Michael Freedman. 2015. CONKS: Bringing Key Transparency to End Users. In USENIX Security Symposium, Vol. 2015. 383--398.
  41. Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and Jonathan Turner. 2008. OpenFlow: enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review 38, 2 (2008), 69--74.
  42. Mathis M., Mahdavi J., Floyd S., Romanow A., TCP Selective Acknowledgment Options, 10.17487/rfc2018
  43. Matt Mathis, John Heffner, and Raghu Reddy. 2003. Web100: extended TCP instrumentation for research, education and diagnosis. ACM SIGCOMM Computer Communication Review 33, 3 (2003), 69--79.
  44. Daniel Lukaszewski and Geoffrey Xie. 2017. Multipath transport for virtual private networks. In 10th USENIX Workshop on Cyber Security Experimentation and Test (CSET 17). USENIX.
  45. LLVM Team. 2019. Clang: a C language family frontend for LLVM. (2019). https://clang.llvm.org/.
  46. Tim Lindholm, Frank Yellin, Gilad Bracha, and Alex Buckley. 2014. The Java virtual machine specification. Pearson Education.
  47. Li Li, Alexandre Bartel, Tegawendé F Bissyandé, Jacques Klein, Yves Le Traon, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, and Patrick McDaniel. 2015. IccTA: Detecting inter-component privacy leaks in Android apps. In Proceedings of the 37th International Conference on Software Engineering. IEEE Press, 280--291.
  48. Laurie B., Langley A., Kasper E., Certificate Transparency, 10.17487/rfc6962
  49. Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio Vicente, Charles Krasic, Dan Zhang, Fan Yang, Fedor Kouranov, Ian Swett, Janardhan Iyengar, Jeff Bailey, Jeremy Dorfman, Jim Roskind, Kulik, Joanna, Patrik Westin, Raman Tenneti, Robbie Shade, Ryan Hamilton, Victor Vasiliev, Wan-Teh Chang, and Zhongyi Shi. 2017. The QUIC transport protocol: Design and Internet-scale deployment. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication. ACM, 183--196.
  50. Heidy Khlaaf, Marc Brockschmidt, Stephan Falke, Deepak Kapur, and Carsten Sinz. 2015. llvm2KITTeL tailored for T2. Source code. https://github.com/hkhlaaf/llvm2kittel.
  51. Ben Kenwright. 2012. Fast Efficient Fixed-Size Memory Pool: No Loops and No Overhead. In The Third International Conference on Computational Logics, Algebras, Programming, Tools, and Benchmarking.
  52. Jim Keniston, Prasanna S. Panchamukhi, and Masami Hiramatsu. 2016. Kernel probes (kprobes). (2016). Documentation provided with the Linux kernel sources.
  53. Arash Molavi Kakhki, Samuel Jero, David Choffnes, Cristina Nita-Rotaru, and Alan Mislove. 2017. Taking a long look at QUIC: an approach for rigorous evaluation of rapidly evolving transport protocols. In Proceedings of the 2017 Internet Measurement Conference. ACM, 290--303.
  54. Trevor Jim, Gregory Morrisett, Dan Grossman, Michael Hicks, James Cheney, and Yanling Wang. 2002. Cyclone: A Safe Dialect of C. In USENIX Annual Technical Conference, General Track. 275--288.
  55. Jacobson V., Braden R., Borman D., TCP Extensions for High Performance, 10.17487/rfc1323
  56. Jana Iyengar and Martin Thomson. 2018. QUIC: A UDP-Based Multiplexed and Secure Transport. Internet-Draft draft-ietf-quic-transport-14. Work in Progress.
  57. Janardhan Iyengar and Ian Swett. 2018. QUIC: Developing and Deploying a TCP Replacement for the Web. In Netdev 0x12.
  58. IO Visor Project. 2018. Userspace eBPF VM. Source code. https://github.com/iovisor/ubpf.
  59. Christian Huitema. 2018. picoquic. Source code. https://github.com/private-octopus/picoquic.
  60. Honda Osamu, Ohsaki Hiroyuki, Imase Makoto, Ishizuka Mika, Murayama Junichi, Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency, 10.1117/12.630496
  61. Michio Honda, Yoshifumi Nishida, Costin Raiciu, Adam Greenhalgh, Mark Handley, and Hideyuki Tokuda. 2011. Is it still possible to extend TCP?. In Proceedings of the 2011 ACM SIGCOMM conference on Internet measurement conference. ACM, 181--194.
  62. Michio Honda, Felipe Huici, Costin Raiciu, Joao Araujo, and Luigi Rizzo. 2014. Rekindling network protocol innovation with user-level stacks. ACM SIGCOMM Computer Communication Review 44, 2 (2014), 52--58.
  63. Matti A. Hiltunen, Richard D. Schlichting, Xiaonan Han, Melvin M. Cardozo, and Rajsekhar Das. 1999. Real-time dependable channels: Customizing QoS attributes for distributed systems. IEEE Transactions on Parallel and Distributed Systems 10, 6 (1999), 600--612.
  64. Michael Hicks, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, and Scott Nettles. 1998. PLAN: A packet language for active networks. ACM SIGPLAN Notices 34, 1 (1998), 86--93.
  65. Benjamin Hesmans, Fabien Duchene, Christoph Paasch, Gregory Detal, and Olivier Bonaventure. 2013. Are TCP extensions middlebox-proof?. In Proceedings of the 2013 workshop on Hot topics in middleboxes and network function virtualization. ACM, 37--42.
  66. Stephen Hemminger. 2005. Network emulation with NetEm. In Australia's National Linux Conference. 18--23.
  67. Ryan Hamilton, Janardhan Iyengar, Ian Swett, and Alyssa Wilk. 2016. QUIC: A UDP-Based Secure and Reliable Transport for HTTP/2. Internet-Draft draft-hamilton-early-deployment-quic-00.
  68. Andreas Haas, Andreas Rossberg, Derek L. Schuff, Ben L. Titzer, Michael Holman, Dan Gohman, Luke Wagner, Alon Zakai, and JF Bastien. 2017. Bringing the web up to speed with WebAssembly. ACM SIGPLAN Notices 52, 6 (2017), 185--200.
  69. Haryadi S. Gunawi, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2004. Deploying Safe User-Level Network Services with icTCP. In OSDI. 317--332.
  70. Brendan Gregg. 2015. eBPF: One Small Step. (May 2015). http://www.brendangregg.com/blog/2015-05-15/ebpf-one-small-step.html.
  71. Nicolas Geoffray, Gaël Thomas, Julia Lawall, Gilles Muller, and Bertil Folliot. 2010. VMKit: a substrate for managed runtime environments. ACM Sigplan Notices 45, 7 (2010), 51--62.
  72. Kensuke Fukuda. 2011. An analysis of longitudinal TCP passive measurements (short paper). In International Workshop on Traffic Monitoring and Analysis. Springer, 29--36.
  73. Ron Frederick, Stephen L. Casner, Van Jacobson, and Henning Schulzrinne. 1996. RTP: A Transport Protocol for Real-Time Applications. RFC 1889. (Jan. 1996).
  74. Christina Fragouli, Jean-Yves Le Boudec, and Jörg Widmer. 2006. Network coding: an instant primer. ACM SIGCOMM Computer Communication Review 36, 1 (2006), 63--68.
  75. Ford A., Raiciu C., Handley M., Bonaventure O., TCP Extensions for Multipath Operation with Multiple Addresses, 10.17487/rfc6824
  76. Sally Floyd and Van Jacobson. 1995. Link-sharing and resource management models for packet networks. IEEE/ACM transactions on Networking 3, 4 (1995), 365--386.
  77. Matt Fleming. 2017. A thorough introduction to eBPF. Linux Weekly News (December 2017). https://old.lwn.net/Articles/740157/.
  78. Tobias Flach, Nandita Dukkipati, Andreas Terzis, Barath Raghavan, Neal Cardwell, Yuchung Cheng, Ankur Jain, Shuai Hao, Ethan Katz-Bassett, and Ramesh Govindan. 2013. Reducing web latency: the virtue of gentle aggression. In ACM SIGCOMM Computer Communication Review, Vol. 43. ACM, 159--170.
  79. Ronald Aylmer Fisher. 1935. The design of experiments. Oliver & Boyd.
  80. Manuel Egele, Christopher Kruegel, Engin Kirda, and Giovanni Vigna. 2011. PiOS: Detecting Privacy Leaks in iOS Applications. In Network and Distributed System Security Symposium (NDSS' 11). 177--183.
  81. Jake Edge. 2015. A seccomp overview. Linux Weekly News (September 2015). https://old.lwn.net/Articles/656307/.
  82. Tom Dunigan, Matt Mathis, and Brian Tierney. 2002. A TCP tuning daemon. In SC'02: Proceedings of the 2002 ACM/IEEE Conference on Supercomputing. IEEE, 1--16.
  83. Duke M., Braden R., Eddy W., Blanton E., Zimmermann A., A Roadmap for Transmission Control Protocol (TCP) Specification Documents, 10.17487/rfc7414
  84. Dan Decasper, Zubin Dittia, Guru Parulkar, and Bernhard Plattner. 1998. Router plugins: A software architecture for next generation routers. ACM SIGCOMM Computer Communication Review 28, 4 (1998), 229--240.
  85. Piet De Vaere, Tobias Bühler, Mirja Kühlewind, and Brian Trammell. 2018. Three Bits Suffice: Explicit Support for Passive Measurement of Internet Latency in QUIC and TCP. In Proceedings of the Internet Measurement Conference 2018. ACM, 22--28.
  86. Quentin De Coninck and Olivier Bonaventure. 2019. The Case for Protocol Plugins. Technical Report. https://hdl.handle.net/2078.1/216493
  87. De Coninck Quentin, Bonaventure Olivier, Multipath QUIC : Design and Evaluation, 10.1145/3143361.3143370
  88. Quentin De Coninck and Olivier Bonaventure. 2017. Multipath QUIC: Design and Evaluation. In Proceedings of the 13th International Conference on emerging Networking EXperiments and Technologies. ACM, 160--166.
  89. Willem de Bruijn and Eric Dumazet. 2018. Optimizing UDP for content delivery: GSO, pacing and zerocopy. In Linux Plumbers Conference.
  90. Scott A. Crosby and Dan S. Wallach. 2009. Efficient Data Structures For Tamper-Evident Logging. In USENIX Security Symposium. 317--334.
  91. Byron Cook, Andreas Podelski, and Andrey Rybalchenko. 2006. TERMINATOR: beyond safety. In International Conference on Computer Aided Verification. Springer, 415--418.
  92. Byron Cook, Eric Koskinen, and Moshe Vardi. 2011. Temporal property verification as a program analysis task. In International Conference on Computer Aided Verification. Springer, 333--348.
  93. Byron Cook, Alexey Gotsman, Andreas Podelski, Andrey Rybalchenko, and Moshe Y. Vardi. 2007. Proving that programs eventually do something good. ACM SIGPLAN Notices 42, 1 (2007), 265--276.
  94. Lucas Clemente and Marten Seemann. 2018. quic-go. Source code. https://github.com/lucas-clemente/quic-go.
  95. Andrey Chudnov, Nathan Collins, Byron Cook, Joey Dodds, Brian Huffman, Colm MacCáarthaigh, Stephen Magill, Eric Mertens, Eric Mullen, Tasiran Serdar, Aaron Tomb, and Eddy Westbrook. 2018. Continuous formal verification of Amazon s2n. In International Conference on Computer Aided Verification. Springer, 430--446.
  96. Georg Carle and Ernst W Biersack. 1997. Survey of error recovery techniques for IP-based audio-visual multicast applications. IEEE Network 11, 6 (1997), 24--36.
  97. Ken Calvert. 2006. Reflections on network architecture: an active networking perspective. ACM SIGCOMM Computer Communication Review 36, 2 (2006), 27--30.
  98. Marc Brockschmidt and Heidy Khlaaf. 2019. T2 Temporal Prover. http://mmjb.github.io/T2/.
  99. Lawrence Brakmo. 2017. TCP-BPF: Programmatically tuning TCP behavior through BPF. NetDev 2.2 (2017).
  100. Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, and David Walker. 2014. P4: Programming protocol-independent packet processors. ACM SIGCOMM Computer Communication Review 44, 3 (2014), 87--95.
  101. 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 Computer Communication Review, Vol. 35. ACM, 265--276.
  102. Karthikeyan Bhargavan, Bruno Blanchet, and Nadim Kobeissi. 2017. Verified models and reference implementations for the TLS 1.3 standard candidate. In 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 483--502.
  103. Andrew Begel, Steven McCanne, and Susan L. Graham. 1999. BPF+: Exploiting global data-flow optimization in a generalized packet filter architecture. ACM SIGCOMM Computer Communication Review 29, 4 (1999), 123--134.
  104. Praveen Balasubramanian. 2018. Usage for timestamp options in the wild. (Sept. 2018). https://mailarchive.ietf.org/arch/legacy/msg/tcpm/11522.
  105. Apple. 2018. Improving Network Reliability Using Multipath TCP. (2018). https://developer.apple.com/documentation/foundation/urlsessionconfiguration/improving_network_reliability_using_multipath_tcp.
  106. Nadav Amit and Michael Wei. 2018. The design and implementation of hyper-upcalls. In 2018 USENIX Annual Technical Conference (USENIX ATC 18). 97--112.
Bibliographic reference De Coninck, Quentin ; Michel, François ; Piraux, Maxime ; Rochet, Florentin ; Given-Wilson, Thomas ; et. al. Pluginizing QUIC.The ACM Special Interest Group on Data Communication - SIGCOMM '19 (Beijing, China, du 19/08/2019 au 23/08/2019). In: Proceedings of the ACM Special Interest Group on Data Communication - SIGCOMM '19, ACM Press2019
Permanent URL http://hdl.handle.net/2078.1/218857