skip to main content
10.1145/3098822.3098842acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article
Open Access

The QUIC Transport Protocol: Design and Internet-Scale Deployment

Published:07 August 2017Publication History

ABSTRACT

We present our experience with QUIC, an encrypted, multiplexed, and low-latency transport protocol designed from the ground up to improve transport performance for HTTPS traffic and to enable rapid deployment and continued evolution of transport mechanisms. QUIC has been globally deployed at Google on thousands of servers and is used to serve traffic to a range of clients including a widely-used web browser (Chrome) and a popular mobile video streaming app (YouTube). We estimate that 7% of Internet traffic is now QUIC. We describe our motivations for developing a new transport, the principles that guided our design, the Internet-scale process that we used to perform iterative experiments on QUIC, performance improvements seen by our various services, and our experience deploying QUIC globally. We also share lessons about transport design and the Internet ecosystem that we learned from our deployment.

Skip Supplemental Material Section

Supplemental Material

thequictransportprotocoldesignandinternetscaledeployment.webm

webm

94.1 MB

References

  1. Chromium QUIC Implementation. https://cs.chromium.org/chromium/src/net/quic/.Google ScholarGoogle Scholar
  2. IETF QUIC working group. https://datatracker.ietf.org/wg/quic/.Google ScholarGoogle Scholar
  3. SPDY: An experimental protocol for a faster web. https://www.chromium.org/spdy/spdy-whitepaper.Google ScholarGoogle Scholar
  4. The WebRTC Project. https://webrtc.org.Google ScholarGoogle Scholar
  5. A. Barth. 2015. RFC 6454: The Web Origin Concept. Internet Engineering Task Force (IETF) (Dec. 2015).Google ScholarGoogle Scholar
  6. I. Arapakis, X. Bai, and B. Cambazoglu. 2014. Impact of Response Latency on User Behavior in Web Search. In ACM SIGIR. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. H. Balakrishnan, H. Rahul, and S. Seshan. 1999. An integrated congestion management architecture for Internet hosts. ACM SIGCOMM (1999).Google ScholarGoogle Scholar
  8. M. Belshe, R. Peon, and M. Thomson. 2015. RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2). Internet Engineering Task Force (IETF) (2015).Google ScholarGoogle Scholar
  9. M. Bishop. 2017. Hypertext Transfer Protocol (HTTP) over QUIC. IETF Internet Draft, draft-ietf-quic-http (2017).Google ScholarGoogle Scholar
  10. N. Cardwell, Y. Cheng, C. S. Gunn, V. Jacobson, and S. Yeganeh. 2016. BBR: Congestion-Based Congestion Control. In ACM Queue.Google ScholarGoogle Scholar
  11. Y. Cheng, J. Chu, S. Radhakrishnan, and A. Jain. 2016. RFC 7413: TCP Fast Open. Internet Engineering Task Force (IETF) (2016).Google ScholarGoogle Scholar
  12. D. Clark and D. Tennenhouse. 1990. Architectural Considerations For a New Generation of Protocols. In ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Clark, J. Wroclawski, K. Sollins, and R. Braden. 2005. Tussle in cyberspace: defining tomorrow's internet. IEEE/ACM Transactions on Networking (ToN) (2005).Google ScholarGoogle Scholar
  14. J. Crowcroft and P. Oechslin. 1998. Differentiated End-to-end Internet Services Using a Weighted Proportional Fair Sharing TCP. SIGCOMM Computer Communication Review (1998).Google ScholarGoogle Scholar
  15. J. Dean and L. Barroso. 2013. The Tail at Scale. Commun. ACM (2013).Google ScholarGoogle Scholar
  16. M. Dong, Q. Li, D. Zarchy, B. Godfrey, and M. Schapira. 2015. PCC: Re-architecting Congestion Control for Consistent High Performance. In USENIX NSDI.Google ScholarGoogle Scholar
  17. N. Dukkipati, N. Cardwell, Y. Cheng, and M. Mathis. 2013. Tail Loss Probe (TLP): An Algorithm for Fast Recovery of Tail Losses. (2013).Google ScholarGoogle Scholar
  18. E. Dumazet. 2015. tcp_cubic better follow cubic curve after idle period. (2015). https://github.com/torvalds/linux/commit/30927520dbae297182990bb21d08762bcc35ce1d.Google ScholarGoogle Scholar
  19. R. Fielding and J. Reschke. 2014. RFC 7230: Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing. Internet Engineering Task Force (IETF) (2014).Google ScholarGoogle Scholar
  20. M. Fischlin and F. Günther. 2014. Multi-Stage Key Exchange and the Case of Google's QUIC Protocol. In ACM Conference on Computer and Communications Security (CCS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. T. Flach, N. Dukkipati, A. Terzis, B. Raghavan, N. Cardwell, Y. Cheng, A. Jain, S. Hao, E. Katz-Bassett, and R. Govindan. 2013. Reducing Web Latency: The Virtue of Gentle Aggression. ACM SIGCOMM (2013).Google ScholarGoogle Scholar
  22. T. Flach, P. Papageorge, A. Terzis, L. Pedrosa, Y. Cheng, T. Karim, E. Katz-Bassett, and R. Govindan. 2016. An Internet-wide Analysis of Traffic Policing. In ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. B. Ford. 2007. Structured Streams: A New Transport Abstraction. In ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. Linden. 2006. Make Data Useful. http://sites.google.com/site/glinden/Home/StanfordDataMining.2006-11-28.ppt.Google ScholarGoogle Scholar
  25. I. Grigorik. 2013. Speed, Performance, and Human Perception. (2013). https://hpbn.co/primer-on-web-performance.Google ScholarGoogle Scholar
  26. S. Ha, I. Rhee, and L. Xu. 2008. CUBIC: A New TCP-friendly High-Speed TCP Variant. ACM SIGOPS Operating Systems Review (2008).Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Hätönen, A. Nyrhinen, L. Eggert, S. Strowes, P. Sarolahti, and M. Kojo. 2010. An Experimental Study of Home Gateway Characteristics. In ACM IMC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Honda, F. Huici, C. Raiciu, J. Araújo, and L. Rizzo. 2014. Rekindling network protocol innovation with user-level stacks. ACM Computer Communication Review (2014).Google ScholarGoogle Scholar
  29. M. Honda, Y. Nishida, C. Raiciu, A. Greenhalgh, M. Handley, and H. Tokuda. 2011. Is It Still Possible to Extend TCP?. In ACM IMC.Google ScholarGoogle Scholar
  30. J. Iyengar. 2015. Cubic Quiescence: Not So Inactive. (2015). Presentation at IETF94, https://www.ietf.org/proceedings/94/slides/slides-94-tcpm-8.pdf.Google ScholarGoogle Scholar
  31. J. Iyengar, P. Amer, and R. Stewart. 2006. Concurrent Multipath Transfer Using SCTP Multihoming Over Independent End-to-End Paths. IEEE/ACM Transactions on Networking (ToN) (2006).Google ScholarGoogle Scholar
  32. J. Iyengar, S. Cheshire, and J. Greassley. 2013. Minion: Service Model and Conceptual API. IETF Internet Draft, draft-iyengar-minion-concept-02 (2013).Google ScholarGoogle Scholar
  33. J. Iyengar and I. Swett. 2016. QUIC Loss Detection and Congestion Control. IETF Internet Draft, draft-ietf-quic-recovery (2016).Google ScholarGoogle Scholar
  34. J. Iyengar and M. Thomson. 2016. QUIC: A UDP-Based Multiplexed and Secure Transport. IETF Internet Draft, draft-ietf-quic-transport (2016).Google ScholarGoogle Scholar
  35. S. Iyengar and K. Nekritz. 2017. Building Zero protocol for fast, secure mobile connections. (2017). Facebook Post, https://code.facebook.com/posts/608854979307125/building-zero-protocol-for-fast-secure-mobile-connections/.Google ScholarGoogle Scholar
  36. J. Brutlag. 2009. Speed Matters. https://research.googleblog.com/2009/06/speed-matters.html.Google ScholarGoogle Scholar
  37. V. Jacobson, R. Braden, and D. Borman. 1992. RFC 1323: TCP extensions for high performance. Internet Engineering Task Force (IETF) (1992).Google ScholarGoogle Scholar
  38. T. Jager, J. Schwenk, and J. Somorovsky. 2015. On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 V1.5 Encryption. In ACM Conference on Computer and Communications Security (CCS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. P. Karn and C. Partridge. 1987. Improving Round-Trip Time Estimates in Reliable Transport Protocols. In ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. E. Kohler, M. Handley, and S. Floyd. 2006. Designing DCCP: Congestion Control Without Reliability. In ACM SIGCOMM.Google ScholarGoogle Scholar
  41. M. Kühlewind, S. Neuner, and B. Trammell. 2013. On the State of ECN and TCP Options on the Internet. In Passive and Active Measurement Conference (PAM). Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. A. Langley. 2015. QUIC and TLS. (2015). Presentation at IETF92, https://www.ietf.org/proceedings/92/slides/slides-92-saag-5.pdf.Google ScholarGoogle Scholar
  43. A. Langley and W. Chang. QUIC Crypto. http://goo.gl/OuVSxa.Google ScholarGoogle Scholar
  44. R. Lychev, S. Jero, A. Boldyreva, and C. Nita-Rotaru. 2015. How Secure and Quick is QUIC? Provable Security and Performance Analyses. In IEEE Symposium on Security and Privacy. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. M. Mathis and J. Heffner. 2007. RFC 4821: Packetization layer path MTU discovery. Internet Engineering Task Force (IETF) (2007).Google ScholarGoogle Scholar
  46. M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow. 1996. RFC 2018: TCP Selective Acknowledgment Options. Internet Engineering Task Force (IETF) (1996).Google ScholarGoogle Scholar
  47. O. Mehani, R. Holz, S. Ferlin, and R. Boreli. 2015. An early look at multipath TCP deployment in the wild. In ACM HotPlanet. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. M. Nottingham, P. McManus, and J. Reschke. 2016. RFC 7838: HTTP Alternative Services. Internet Engineering Task Force (IETF) (2016).Google ScholarGoogle Scholar
  49. M. Nowlan, N. Tiwari, J. Iyengar, S. Amin, and B. Ford. 2012. Fitting Square Pegs Through Round Pipes: Unordered Delivery Wire-Compatible with TCP and TLS. In USENIX NSDI.Google ScholarGoogle Scholar
  50. C. Paasch. 2016. Network Support for TCP Fast Open. (2016). Presentation at NANOG 67, https://www.nanog.org/sites/default/files/Paasch_Network_Support.pdf.Google ScholarGoogle Scholar
  51. W Michael Petullo, Xu Zhang, Jon A Solworth, Daniel J Bernstein, and Tanja Lange. 2013. MinimaLT: Minimal-Latency Networking Through Better Security. In ACM CCS.Google ScholarGoogle Scholar
  52. L. Popa, A. Ghodsi, and I. Stoica. 2010. HTTP as the Narrow Waist of the Future Internet. In ACM HotNets. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. S. Radhakrishnan, Y. Cheng, J. Chu, A. Jain, and B. Raghavan. 2011. TCP Fast Open. In ACM CoNEXT. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. C. Raiciu, C. Paasch, S. Barre, A. Ford, M. Honda, F. Duchene, O. Bonaventure, and M. Handley. 2012. How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP. In USENIX NSDI.Google ScholarGoogle Scholar
  55. E. Rescorla. 2017. The Transport Layer Security (TLS) Protocol Version 1.3. IETF Internet Draft, draft-ietf-tls-tls13 (2017).Google ScholarGoogle Scholar
  56. E. Rescorla and N. Modadugu. 2012. RFC 6347: Datagram Transport Layer Security Version 1.2. Internet Engineering Task Force (IETF) (2012).Google ScholarGoogle Scholar
  57. L. Rizzo. 2012. Netmap: a novel framework for fast packet I/O. In 21st USENIX Security Symposium (USENIX Security 12).Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. J. Rosenberg. 2008. UDP and TCP as the New Waist of the Internet Hourglass. IETF Internet Draft, draft-rosenberg-internet-waist-hourglass-00 (2008).Google ScholarGoogle Scholar
  59. J. Roskind. 2012. QUIC: Design Document and Specification Rationale. (2012). https://goo.gl/eCYF1a.Google ScholarGoogle Scholar
  60. J. Salowey, H. Zhou, P. Eronen, and H. Tschofenig. 2008. RFC 5077: Transport Layer Security (TLS) Session Resumption without Server-Side State. Internet Engineering Task Force (IETF) (2008).Google ScholarGoogle Scholar
  61. Sandvine. 2016. Global Internet Phenomena Report. (2016).Google ScholarGoogle Scholar
  62. R. Stewart. 2007. RFC 4960: Stream Control Transmission Protocol (SCTP). Internet Engineering Task Force (IETF) (2007).Google ScholarGoogle Scholar
  63. M. Thomson and S. Turner. 2017. Using Transport Layer Security (TLS) to Secure QUIC. IETF Internet Draft, draft-ietf-quic-tls (2017).Google ScholarGoogle Scholar
  64. L. Zhang. 1986. Why TCP Timers Don't Work Well. In ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The QUIC Transport Protocol: Design and Internet-Scale Deployment

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SIGCOMM '17: Proceedings of the Conference of the ACM Special Interest Group on Data Communication
          August 2017
          515 pages
          ISBN:9781450346535
          DOI:10.1145/3098822

          Copyright © 2017 Owner/Author

          This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International 4.0 License.

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 7 August 2017

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate554of3,547submissions,16%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader