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.
Supplemental Material
- Chromium QUIC Implementation. https://cs.chromium.org/chromium/src/net/quic/.Google Scholar
- IETF QUIC working group. https://datatracker.ietf.org/wg/quic/.Google Scholar
- SPDY: An experimental protocol for a faster web. https://www.chromium.org/spdy/spdy-whitepaper.Google Scholar
- The WebRTC Project. https://webrtc.org.Google Scholar
- A. Barth. 2015. RFC 6454: The Web Origin Concept. Internet Engineering Task Force (IETF) (Dec. 2015).Google Scholar
- I. Arapakis, X. Bai, and B. Cambazoglu. 2014. Impact of Response Latency on User Behavior in Web Search. In ACM SIGIR. Google ScholarDigital Library
- H. Balakrishnan, H. Rahul, and S. Seshan. 1999. An integrated congestion management architecture for Internet hosts. ACM SIGCOMM (1999).Google Scholar
- M. Belshe, R. Peon, and M. Thomson. 2015. RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2). Internet Engineering Task Force (IETF) (2015).Google Scholar
- M. Bishop. 2017. Hypertext Transfer Protocol (HTTP) over QUIC. IETF Internet Draft, draft-ietf-quic-http (2017).Google Scholar
- N. Cardwell, Y. Cheng, C. S. Gunn, V. Jacobson, and S. Yeganeh. 2016. BBR: Congestion-Based Congestion Control. In ACM Queue.Google Scholar
- Y. Cheng, J. Chu, S. Radhakrishnan, and A. Jain. 2016. RFC 7413: TCP Fast Open. Internet Engineering Task Force (IETF) (2016).Google Scholar
- D. Clark and D. Tennenhouse. 1990. Architectural Considerations For a New Generation of Protocols. In ACM SIGCOMM. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- J. Dean and L. Barroso. 2013. The Tail at Scale. Commun. ACM (2013).Google Scholar
- 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 Scholar
- N. Dukkipati, N. Cardwell, Y. Cheng, and M. Mathis. 2013. Tail Loss Probe (TLP): An Algorithm for Fast Recovery of Tail Losses. (2013).Google Scholar
- E. Dumazet. 2015. tcp_cubic better follow cubic curve after idle period. (2015). https://github.com/torvalds/linux/commit/30927520dbae297182990bb21d08762bcc35ce1d.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- B. Ford. 2007. Structured Streams: A New Transport Abstraction. In ACM SIGCOMM. Google ScholarDigital Library
- G. Linden. 2006. Make Data Useful. http://sites.google.com/site/glinden/Home/StanfordDataMining.2006-11-28.ppt.Google Scholar
- I. Grigorik. 2013. Speed, Performance, and Human Perception. (2013). https://hpbn.co/primer-on-web-performance.Google Scholar
- S. Ha, I. Rhee, and L. Xu. 2008. CUBIC: A New TCP-friendly High-Speed TCP Variant. ACM SIGOPS Operating Systems Review (2008).Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- J. Iyengar, S. Cheshire, and J. Greassley. 2013. Minion: Service Model and Conceptual API. IETF Internet Draft, draft-iyengar-minion-concept-02 (2013).Google Scholar
- J. Iyengar and I. Swett. 2016. QUIC Loss Detection and Congestion Control. IETF Internet Draft, draft-ietf-quic-recovery (2016).Google Scholar
- J. Iyengar and M. Thomson. 2016. QUIC: A UDP-Based Multiplexed and Secure Transport. IETF Internet Draft, draft-ietf-quic-transport (2016).Google Scholar
- 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 Scholar
- J. Brutlag. 2009. Speed Matters. https://research.googleblog.com/2009/06/speed-matters.html.Google Scholar
- V. Jacobson, R. Braden, and D. Borman. 1992. RFC 1323: TCP extensions for high performance. Internet Engineering Task Force (IETF) (1992).Google Scholar
- 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 ScholarDigital Library
- P. Karn and C. Partridge. 1987. Improving Round-Trip Time Estimates in Reliable Transport Protocols. In ACM SIGCOMM. Google ScholarDigital Library
- E. Kohler, M. Handley, and S. Floyd. 2006. Designing DCCP: Congestion Control Without Reliability. In ACM SIGCOMM.Google Scholar
- 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 ScholarDigital Library
- A. Langley. 2015. QUIC and TLS. (2015). Presentation at IETF92, https://www.ietf.org/proceedings/92/slides/slides-92-saag-5.pdf.Google Scholar
- A. Langley and W. Chang. QUIC Crypto. http://goo.gl/OuVSxa.Google Scholar
- 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 ScholarDigital Library
- M. Mathis and J. Heffner. 2007. RFC 4821: Packetization layer path MTU discovery. Internet Engineering Task Force (IETF) (2007).Google Scholar
- M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow. 1996. RFC 2018: TCP Selective Acknowledgment Options. Internet Engineering Task Force (IETF) (1996).Google Scholar
- O. Mehani, R. Holz, S. Ferlin, and R. Boreli. 2015. An early look at multipath TCP deployment in the wild. In ACM HotPlanet. Google ScholarDigital Library
- M. Nottingham, P. McManus, and J. Reschke. 2016. RFC 7838: HTTP Alternative Services. Internet Engineering Task Force (IETF) (2016).Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- L. Popa, A. Ghodsi, and I. Stoica. 2010. HTTP as the Narrow Waist of the Future Internet. In ACM HotNets. Google ScholarDigital Library
- S. Radhakrishnan, Y. Cheng, J. Chu, A. Jain, and B. Raghavan. 2011. TCP Fast Open. In ACM CoNEXT. Google ScholarDigital Library
- 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 Scholar
- E. Rescorla. 2017. The Transport Layer Security (TLS) Protocol Version 1.3. IETF Internet Draft, draft-ietf-tls-tls13 (2017).Google Scholar
- E. Rescorla and N. Modadugu. 2012. RFC 6347: Datagram Transport Layer Security Version 1.2. Internet Engineering Task Force (IETF) (2012).Google Scholar
- L. Rizzo. 2012. Netmap: a novel framework for fast packet I/O. In 21st USENIX Security Symposium (USENIX Security 12).Google ScholarDigital Library
- 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 Scholar
- J. Roskind. 2012. QUIC: Design Document and Specification Rationale. (2012). https://goo.gl/eCYF1a.Google Scholar
- 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 Scholar
- Sandvine. 2016. Global Internet Phenomena Report. (2016).Google Scholar
- R. Stewart. 2007. RFC 4960: Stream Control Transmission Protocol (SCTP). Internet Engineering Task Force (IETF) (2007).Google Scholar
- M. Thomson and S. Turner. 2017. Using Transport Layer Security (TLS) to Secure QUIC. IETF Internet Draft, draft-ietf-quic-tls (2017).Google Scholar
- L. Zhang. 1986. Why TCP Timers Don't Work Well. In ACM SIGCOMM. Google ScholarDigital Library
Index Terms
- The QUIC Transport Protocol: Design and Internet-Scale Deployment
Recommendations
Implementation and Performance Evaluation of the QUIC Protocol in Linux Kernel
MSWIM '18: Proceedings of the 21st ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile SystemsQUIC is a new transport layer protocol proposed by Google that is rapidly increasing its share from Internet traffic. It is designed to improve performance for HTTPS connections and partly replace TCP, the dominant standard of Internet for decades, in ...
Multipath QUIC: Design and Evaluation
CoNEXT '17: Proceedings of the 13th International Conference on emerging Networking EXperiments and TechnologiesQuick UDP Internet Connection (QUIC) is a recent protocol initiated by Google that combines the functions of HTTP/2, TLS, and TCP directly over UDP, with the goal to reduce the latency of client-server communication. It can replace the traditional HTTP/...
Unreliable transport protocol using congestion control for high-speed networks
Currently there is no control for the real-time traffic of multimedia applications using UDP (User Datagram Protocol) in high-speed networks. Therefore, although a number of high-speed TCP (Transmission Control Protocol) protocols have been developed ...
Comments