After HTTP/2, coming up next is QUIC – Google has been working for quite some time to speed up its network protocols in order to minimize website response times. After HTTP/2 has fulfilled its task of speeding up HTTP(S) and has become the basis for fast TLS connections, QUIC goes one step further – it aims to replace the TCP transport protocol in the Internet.
Fast UDP with QUIC
TCP, and TLS/SSL, usually require one or more round trip times (RTTs) during their connection establishment. Google is hopeful that QUIC can reduce connection costs towards zero RTTs.
TCP ensures that all packets arrive in order, but does so in a somewhat cumbersome manner, which slows down data transmission on the Internet. By contrast, QUIC is based on UDP, which is used, e.g., for streaming data – hence the name Quick UDP Internet Connection. Unique sequence numbers ensure that no data packet gets lost. The other most important component used is the TLS encryption protocol, which has mostly appeared in conjunction with TCP until now. While no corners are cut with regard to security, doing away with handshakes and multiplex transmissions enables faster transmission, even compared to other UDP-based protocols, reportedly.
From Google’s QUIC FAQ:
Why can’t you just evolve and improve TCP under SPDY? That is our goal. TCP support is built into the kernel of operating systems. Considering how slowly users around the world upgrade their OS, it is unlikely to see significant adoption of client-side TCP changes in less than 5-15 years. QUIC allows us to test and experiment with new ideas, and to get results sooner. We are hopeful that QUIC features will migrate into TCP and TLS if they prove effective.
Google plans to propose QUIC as an IETF standard.
QUIC has been in the making since 2013. The protocol has been supported by Chrome since version 29; according to Google, about half of all requests from Chrome to Google web servers are served over QUIC. It can be enabled in Chrome by using the following in your address bar:
It can be enabled in Opera by using the following in your address bar:
Whether it is active in a browser can be checked at
chrome://net-internals/#QUIC (in Opera, at
opera://net-internals/#QUIC). Quic is actually enabled by default in Chromium.
QUIC instead of TCP
Google has found that three-quarters of all requests are served faster over QUIC and that TCP-based websites as well as streaming media will benefit from it. Especially for video services like YouTube. Users report 30% fewer rebuffers when watching videos over QUIC. As a next step, Google plans to propose QUIC to the IETF, the organization responsible for network protocols, as an Internet standard. If the standard establishes itself and other servers implement it, TCP may soon be superseded on the Web.
We currently have no plans when we can make it available on all our edge servers but we have already started to engineer possible integration scenarios and will keep you updated. You can also join Google’s news group discussion.
QUIC – the next level of acceleration on the transport layer.