Complete Communications Engineering

What is QUIC Protocol?

QUIC (not an acronym) is a transport layer networking protocol implemented with the goals of improving network traffic performance, security, and reliability. Today, QUIC is being pushed by Google and is used at high volume for services like YouTube and Chrome. At VOCAL, RTP over QUIC is used for transmitting audio, video and other media/data streams for real-time applications. VOCAL supports Microsoft’s implementation of QUIC called msQUIC.

QUIC Request Brochure

QUIC is built upon the User Datagram Protocol (UDP) to provide faster transport layer communication compared to the Transmission Control Protocol (TCP). Using UDP, QUIC is able to multiplex connections between two endpoints. This is allows for multiple independent streams of data to be sent to an endpoint. This multiplexing capability protects individual streams from delays caused by congestion experienced by other streams, a limitation of TCP.

QUIC Multiplexing

QUIC connections always use Transport Layer Security (TLS) for encryption, it is a requirement of the protocol. This provides packets with necessary confidentiality, integrity, and authenticity when being transmitted. QUIC reduces overhead when establishing a connection thanks to UDP. Compared to the TCP three-way handshake, QUIC uses a single handshake. Both TCP and QUIC use the same TLS handshake, but QUIC makes it more efficient by starting the handshake in the first packet. The TLS handshake involves exchanging TLS setup keys along with supported protocol data in the initial handshake. The client then adds data for future encryption to the response packet. This allows for current and future requests to eliminate a step in connection establishment, creating quicker and more efficient connections.

QUIC Handshake vs TCP and TLS 1.2 Handshake

Another key feature of QUIC is its ability to maintain stable connections even when switching networks or IP addresses. This is achieved through the use of connection identifiers, which uniquely identify connections. When a network change occurs, only the connection identifier is needed to maintain the connection, simplifying the process and enabling quick re-establishment of connections with a single packet. Additionally, QUIC supports multihoming, allowing connections to be associated with multiple IP addresses for each endpoint, further enhancing connection resilience.

Use Cases

Real-Time Transport Protocol (RTP) over QUIC: RTP is a network protocol used for transmitting audio and video data over IP networks, commonly associated with uses like VoIP and video conferencing. When RTP is used over QUIC, it benefits from QUIC’s features, such as reduced latency, improved congestion control, and enhanced security.

Real-time Communication: QUIC is used for real-time communication applications, such as voice and video conferencing, online gaming, and live streaming. Characteristics like low latency and efficient multiplexing make it ideal for maintaining smooth, uninterrupted communication streams.

Streaming Media: QUIC is also useful for streaming media services, such as video-on-demand platforms and live streaming services. Its ability to multiplex independent data streams can allow for faster loading times and smoother playback, even in congested networks.

Mobile Applications: QUIC’s performance improvements make it ideal for mobile applications, where network conditions can vary widely. Its ability to quickly establish and maintain connections, as well as its support for seamless network switching, make it well-suited for mobile devices.

Features

QUIC Brochure Request

QUIC References

More Information

QUIC Supported Platforms