In 2014, Google announced about QUIC, a new data transfer protocol based on UDP and thought for the modern Internet. This year, Google may propose QUIC as the IETF standard for faster Internet. What is QUIC Protocol all about? QUIC is the abbreviation of Quick UDP Internet Connections and pronounced as quick.
What is QUIC Protocol?
QUIC is an experimental transport layer network protocol developed by Google Inc. QUIC can support a set of multiplexed connections between two endpoints over UDP. QUIC was developed to provide security protection which is equivalent to current TLS along with a reduced connection and transport latency time. The design would avoid congestion. QUIC’s main target is to optimize the connection-oriented web applications which currently are using TCP. The Mountain View company aims to use the protocol for all applications not only for Chrome, but also for the mobile applications to transfer data to their servers.
This however is not the only goal of Google. The US company has chosen to propose QUIC as standard HTTP protocol to the IETF (Internet Engineering Task Force). In other words Google wants that QUIC will become the new standard of Internet. Prior to the announcement of the possible candidacy of QUIC protocol standard, Google has decided, in the last quarter, to test the service by increasing the amount of data traffic served on QUIC to analyze the performance. The results obtained are positive and demonstrate how QUIC is able to provide a real improvement of the performance of TCP, thanks to the low latency in establishing a connection, a better control of congestion and better recovery of the packet loss.
Brief Technical Details of QUIC Protocol
QUIC aims to be nearly equivalent to an independent TCP connection with much reduced latency and better SPDY support; if QUIC features proved to be effective, this could be migrated into the next version of TCP and TLS.
Much of the work on QUIC is concentrated on reducing the Round-trip times – the way to decrease the connection latency is to make fewer round-trips. The round trips are required when establishing a new connection, including the handshaking step, encryption and initial data requests. QUIC clients would include the session negotiation information in the initial packet, QUIC servers, on the other hand, would publish a static configuration file to the host with some of this information. The client would store a synchronization cookie from the server making the subsequent connections to the same server with zero latency.
The protocol handles packet loss nicely; besides packet-level forward error correction, QUIC aligns cryptographic block boundaries with packet boundaries, so the impact of packet loss is even lower. While TCP uses congestion windows to avoid congestion, which are unforgiving to multiplexed connections, QUIC has a set of modern techniques under review. Among the techniques being tested are packet pacing and proactive speculative retransmission. QUIC also allows higher level application protocols (such as SPDY) to reduce or compress redundant data transmissions (such as headers).
How QUIC Protocol Works?
One of the feature of QUIC is to speed up the loading of the pages. In order to make this‹‹possible, QUIC implements this logic – if a user connects to a particular server, after the first time, one can start sending data without the round trip delay as explained above. The current standard, however, provides for communications over TCP plus TLS, which before establishing a secure connection requires 2 to 3 round trips. That is why the current standard is much less accurate. The data collected by Google show that as many as 75% of the connections can take advantage of the functionality offered by zero trip QUIC.
Another advantage introduced by QUIC is to improve the congestion and loss recovery. QUIC with the sequence numbers of the packages are not reused, which means not to reject the ambiguity and the retransmission timeout.
Users report that these advantages introduced by QUIC are quite obvious for services like YouTube, where it is reported 30% less rebuffer when watching videos on QUIC. Google Search has an improvement of 3%.
Which HTTP Server Supports QUIC Protocol
Google servers support QUIC. Google has also published a prototype server. Which HTTP calls are using QUIC can be seen on Chrome browser by visiting :
… and loading the webpage. Nginx does not support QUIC at the time of publication of this article.