BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Google Wants to Speed Up the Internet with QUIC

Google Wants to Speed Up the Internet with QUIC

This item in japanese

Lire ce contenu en français

Bookmarks

QUIC (Quick UDP Internet Connections, pronounced 'quick') is a multiplexing transport protocol running over UDP with the main goal to have 0-RTT connectivity overhead. Robbie Shade, a Google developer, has introduced QUIC in a recent video, having the following main features:

It has all the benefits of SPDY (multiplexing, priorities, etc.)

0-RTT connections

Packet pacing that reduces packet loss

Forward error correction that reduces retransmission latency

Adaptive congestion control (friendly to TCP), reducing reconnections for mobile clients

Encryption equivalent to TLS

Chrome can talk QUIC to Google today

QUIC deals with transmission reliability, missing or out of order packets, something which UDP does not do by default. Multiplexing in QUIC means that the protocol uses multiple channels to deliver data, so if a packet is lost in one stream of data, the others are not blocked waiting on the missing one as it happens with SPDY, which does multiplexing but over a single channel. This approach in QUIC solves the head-of-line blocking issue that may happen during TCP transmissions, said Shade.

A major benefit of using QUIC is the fact that it does not require a handshake step when making the first contact between a client and a server, somewhat similar to TCP Fast Open, which has been discussed since 2011 but has not seen broad adoption yet. According to Shade, the TCP handshake can take up to 300ms over a transatlantic connection if TLS is involved, while QUIC can cut that latency down to 100ms.

Another advantage of QUIC is that communication channels are not defined by IP+Port but by an ID, which makes it possible to continue a connection while switching networks, such as leaving a WiFi zone and entering a mobile one.

All QUIC connections are encrypted using a specific mechanism detailed in the QUIC Crypto document.

When asked why not use an improved version of TCP +TLS, Shade said that while TCP and TLS are being improved, the protocol iteration and its deployment are very slow, and QUIC is deployed at the client level not the kernel one, being subject to much faster iterations, “weeks rather than years.”

According to Shade, SPDY could run on top of QUIC in the future, making it even better than what it is today. Some of the lessons learned and tested by Google in practice with QUIC could be incorporated into TCP in the future.

Currently there is a client and a server available in Chromium, and QUIC is used by google.com, GMail, YouTube, and other Google services.

Resources: QUIC video, QUIC video slides, QUIC – document detailing the protocol, QUIC Wire Layout Specification – specs of the wire frames, QUIC Crypto, SPDY Indicator extension.

Rate this Article

Adoption
Style

BT