QUIC (Quick UDP Internet Connection) is a transport layer protocol that was developed by Google to address some of the limitations of the traditional transport layer protocol, TCP (Transmission Control Protocol).
QUIC is designed to provide a more reliable, secure, and low-latency connection between a client and server over the Internet. It achieves this by combining the functions of the transport layer (reliability, congestion control, flow control, and error correction) and the application layer (encryption, multiplexing, and connection establishment) into a single protocol.
QUIC runs on top of the User Datagram Protocol (UDP), which allows it to avoid some of the performance limitations of TCP, such as head-of-line blocking and slow start. Additionally, QUIC is designed to be compatible with existing web infrastructure and can be used to transfer data over HTTP/3, the latest version of the HTTP protocol.
Some of the key features of QUIC include:
- Connection establishment and encryption at the same time
- Faster connection establishment, because it doesn't require a three-way handshake like TCP
- Stream multiplexing, which allows multiple streams of data to be sent over a single connection
- Improved congestion control that can adapt to changing network conditions more quickly than TCP
- Forward error correction, which can recover lost packets more quickly than TCP's retransmission-based approach
- Improved security through the use of encryption by default.
Overall, QUIC is a promising technology that can improve the performance and security of web applications, particularly for real-time applications that require low-latency, such as online gaming, video conferencing, and voice-over-IP (VoIP).