The QUIC Transport Protocol: Design and Internet-Scale Deployment

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.

[1]  Berkant Barla Cambazoglu,et al.  Impact of response latency on user behavior in web search , 2014, SIGIR.

[2]  Hao Zhou,et al.  Transport Layer Security (TLS) Session Resumption without Server-Side State , 2008, RFC.

[3]  Costin Raiciu,et al.  Rekindling network protocol innovation with user-level stacks , 2014, CCRV.

[4]  Bryan Ford,et al.  Structured streams: a new transport abstraction , 2007, SIGCOMM '07.

[5]  Tanja Lange,et al.  MinimaLT: minimal-latency networking through better security , 2013, IACR Cryptol. ePrint Arch..

[6]  Martin Thomson,et al.  Hypertext Transfer Protocol Version 2 (HTTP/2) , 2015, RFC.

[7]  Craig Partridge,et al.  Improving round-trip time estimates in reliable transport protocols , 1991, TOCS.

[8]  Mark Handley,et al.  Is it still possible to extend TCP? , 2011, IMC '11.

[9]  Roy T. Fielding,et al.  Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing , 2014, RFC.

[10]  Stuart Cheshire,et al.  Minion - Service Model and Conceptual API , 2013 .

[11]  Yuchung Cheng,et al.  TCP fast open , 2011, CoNEXT '11.

[12]  Jon Crowcroft,et al.  Differentiated end-to-end Internet services using a weighted proportional fair sharing TCP , 1998, CCRV.

[13]  Jonathan Rosenberg UDP and TCP as the New Waist of the Internet Hourglass , 2008 .

[14]  Mark Handley,et al.  How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP , 2012, NSDI.

[15]  Syed Obaid Amin,et al.  Minion: Unordered Delivery Wire-Compatible with TCP and TLS , 2011 .

[16]  Yuchung Cheng,et al.  RFC 7413 - TCP Fast Open , 2014 .

[17]  David D. Clark,et al.  Architectural considerations for a new generation of protocols , 1990, SIGCOMM '90.

[18]  Ramesh Govindan,et al.  An Internet-Wide Analysis of Traffic Policing , 2016, SIGCOMM.

[19]  Matt Mathis,et al.  Packetization Layer Path MTU Discovery , 2007, RFC.

[20]  David D. Clark,et al.  Tussle in cyberspace: defining tomorrow's Internet , 2002, IEEE/ACM Transactions on Networking.

[21]  Mike Bishop Hypertext Transfer Protocol (HTTP) over QUIC , 2018 .

[22]  Lixia Zhang,et al.  Why TCP timers don't work well , 1986, SIGCOMM '86.

[23]  Janardhan R. Iyengar,et al.  Concurrent Multipath Transfer Using SCTP Multihoming Over Independent End-to-End Paths , 2006, IEEE/ACM Transactions on Networking.

[24]  Brian Trammell,et al.  On the State of ECN and TCP Options on the Internet , 2013, PAM.

[25]  Mo Dong,et al.  PCC: Re-architecting Congestion Control for Consistent High Performance , 2014, NSDI.

[26]  Markku Kojo,et al.  An experimental study of home gateway characteristics , 2010, IMC '10.

[27]  Martin Thomson,et al.  Using Transport Layer Security (TLS) to Secure QUIC , 2016 .

[28]  Sherali Zeadally,et al.  Stream Control Transmission Protocol (SCTP) , 2008 .

[29]  Ion Stoica,et al.  HTTP as the narrow waist of the future internet , 2010, Hotnets-IX.

[30]  Luiz André Barroso,et al.  The tail at scale , 2013, CACM.

[31]  Mark Handley,et al.  Designing DCCP: congestion control without reliability , 2006, SIGCOMM.

[32]  Ramesh Govindan,et al.  Reducing web latency: the virtue of gentle aggression , 2013, SIGCOMM.

[33]  T. Daley When speed matters , 2003 .

[34]  Van Jacobson,et al.  BBR: Congestion-Based Congestion Control , 2016, ACM Queue.

[35]  Eric Rescorla,et al.  The Transport Layer Security (TLS) Protocol Version 1.3 , 2018, RFC.

[36]  Matthew Mathis,et al.  Tail Loss Probe (TLP): An Algorithm for Fast Recovery of Tail Losses , 2013 .

[37]  Roksana Boreli,et al.  An Early Look at Multipath TCP Deployment in the Wild , 2015, HotPlanet '15.

[38]  Marc Fischlin,et al.  Multi-Stage Key Exchange and the Case of Google's QUIC Protocol , 2014, CCS.

[39]  Cristina Nita-Rotaru,et al.  How Secure and Quick is QUIC? Provable Security and Performance Analyses , 2015, 2015 IEEE Symposium on Security and Privacy.

[40]  Srinivasan Seshan,et al.  An integrated congestion management architecture for Internet hosts , 1999, SIGCOMM '99.

[41]  Injong Rhee,et al.  CUBIC: a new TCP-friendly high-speed TCP variant , 2008, OPSR.

[42]  Luigi Rizzo,et al.  netmap: A Novel Framework for Fast Packet I/O , 2012, USENIX ATC.

[43]  Eric Rescorla,et al.  Datagram Transport Layer Security Version 1.2 , 2012, RFC.

[44]  Tibor Jager,et al.  On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption , 2015, CCS.