--- obj: concept wiki: https://wikipedia.org/wiki/QUIC rfc: https://datatracker.ietf.org/doc/html/rfc9000 website: https://quicwg.org --- # QUIC QUIC is a transport layer protocol developed by Google to improve the performance of web applications by reducing latency. It operates over the User Datagram Protocol ([UDP](UDP.md)) and is designed to provide a more efficient alternative to the traditional Transmission Control Protocol ([TCP](TCP.md)). ## Key Features ### 1. **Multiplexing:** - QUIC supports multiplexing multiple streams of data within a single connection. This enables parallel processing of data, reducing latency and improving overall performance. ### 2. **Low Latency:** - QUIC is designed to minimize connection establishment and data transfer latency. It achieves this by combining the initial connection handshake with the first data transfer. ### 3. **Adaptive Congestion Control:** - QUIC includes built-in congestion control mechanisms that adapt to network conditions, optimizing data transfer rates while avoiding congestion. ### 4. **Connection Migration:** - QUIC allows for seamless connection migration between different network interfaces, such as switching between Wi-Fi and cellular data, without disrupting the user experience. ### 5. **Forward Error Correction:** - QUIC incorporates forward error correction (FEC) to recover lost or corrupted packets without the need for retransmission. This enhances reliability in unreliable network conditions. ## QUIC Components ### 1. **QUIC Transport:** - Handles connection establishment, multiplexing, and reliable, in-order delivery of data. ### 2. **QUIC Crypto:** - Responsible for securing the QUIC connection using encryption and authentication. It is based on TLS (Transport Layer Security). ### 3. **QUIC Loss Detection and Congestion Control:** - Manages congestion control and packet loss recovery to ensure optimal data transfer rates.