Open In App

What is QUIC and HTTP/3?

Last Updated : 02 May, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

HTTP is the backbone of the Internet, controlling how communication devices exchange information and access resources. In simple terms, it allows consumers to load websites. HTTP/3 is a new standard under development that will change how online browsers and servers communicate, with major enhancements to user experience, including performance, reliability, and security.

What is QUIC?

QUIC stands for Quick UDP Internet Connections, it is a general-purpose transport layer protocol that aims to replace the Transmission Control Protocol (TCP) due to its flexibility, built-in security, high performance, and faster adoption rate. QUIC, invented by Google, uses UDP as a low-level transport method to move data packets between clients and servers. Additionally, QUIC includes Transport Layer Security (TLS) as an essential component. QUIC is also supposed to be extremely quick because it uses 0-RTT and 1-RTT (Round Trip Time) handshakes instead of TCP 3-way handshakes. QUIC ensures faster and more accurate data transmission. This stability, along with speed, provides enhanced congestion control and stream retransmission.

What is HTTP/3?

HTTP/3 is a major enhancement over HTTP/2. HTTP/3 aims to enable fast, reliable, and secure web connections across all types of devices by resolving HTTP/2’s transport-related problems. To do this, it employs a separate transport layer network protocol known as QUIC (Quick UDP Internet Connections), which operates on the User Datagram Protocol (UDP) internet than the TCP used by all prior versions of HTTP. Unlike TCP’s, UDP supports multidirectional broadcasting of data, which resolves the issue of head-of-line blocking (HOL).

Architecture of QUIC

The picture below shows the basic architecture of a QUIC network. QUIC streams are logical objects that hold HTTP/3 requests, responses, or application data. QUIC streams are wrapped in various logical layers for transmission between network endpoints.

QUIC

Quick UDP Internet Connections

  • UDP Datagram: Contains a header indicating the source and destination ports along with length and checksum data, followed by one or more QUIC packets. The datagram is a piece of information provided from the client to the server over the network.
    • Source Port: Source Port is a 2-byte long field used to identify the port number of the source.
    • Destination Port: It is a 2-byte long field, used to identify the port of the destined packet.
    • Length: Length is the length of User Datagram Protocol including the header and the data. It is a 16-bit field.
    • Checksum: Checksum is 2 Bytes long field. It is the 16-bit one’s complement of the one’s complement sum of the UDP header, the pseudo-header of information from the IP header, and the data, padded with zero octets at the end (if necessary) to make a multiple of two octets.
  • QUIC Packet: QUIC packet is also known as QUIC datagram, Which contains a QUIC header and many QUIC Frames(1,2,3…….N).
  • QUIC Haeder: The QUIC Header is an important part of QUIC packet that contain critical information for packet processing, routing, and managing the connection between endpoints.
    • Spin Bit: The Spin bit is a flag in QUIC headers that indicates network delay and congestion to the sender. The main purpose of using spin bit is for performance monitoring and debugging.
    • Key Phrase: Key Phrase is used to identify the encryption keys used to encrypt the packet
    • Destination Connection ID: The Destination Connection ID is an identification number included in the QUIC header. It directs incoming packets to the appropriate QUIC connection at the receiver’s end.
    • Packet Number: The Packet Number is an important component of QUIC headers, providing the sequence number assigned to each packet during a specific connection.
  • Frame: It includes the type, stream ID, offset, and stream data. Stream data is distributed across numerous frames, but it may be constructed using the connection ID, stream ID, and offset, which are used for displaying the data blocks in the proper sequence.
  • Stream: A single QUIC connection can support either unidirectional or bidirectional data flow. Each QUIC connection supports many independent streams, each with its unique stream ID.

How quick is QUIC?

QUIC involves multiplexing, which provides it an advantage over TCP. TCP employs a single end-to-end connection point, but QUIC creates many connections between two endpoints. If one of the streams of information is disrupted, either due to a faulty connection or other external interference, then other connection points will allow the streams to work continue. If a website uses TCP and the connection fails, this may lead to head-of-line blocking(Head of Line blocking refers to the situation in which a browser/client must wait for previous requests to complete, before sending another) , QUIC solves it and QUI also allows efficient and fast data communication.

Benefits of Using QUIC and HTTP/3

  • Multiplexing: QUIC+HTTP/3 improves network resource utilization and helps prevent the Head of Line Blocking problem using multiplexing. Multiplexing allows several requests and responses to be sent over a single connection, which improves performance by reducing connection overhead and improving network resource utilization.
  • Reduced Latency: Traditional protocols, such as TCP, suffer from latency due to the connection establishment. The multiplexing features of QUIC+HTTP/3 enable them to establish connections more effectively, resulting in less latency when connecting and transmitting data.
  • Faster Connection Establishment: QUIC+HTTP/3 combines the TLS handshake and encryption setup into a single phase, leading to minimizing the number of round trips required to create a secure connection.
  • Improved Error Correction: QUIC includes forward error correction algorithms, which can help recover lost packets without the need for retransmissions, lowering the impact of packet loss on performance.
  • Migration Support: QUIC+HTTP/3 allows for seamless transitions between multiple network connections without interrupting application performance.

Limitations of QUIC and HTTP/3

  • As QUIC encrypts not just the payload but also the majority of the packet metadata, it becomes more difficult to troubleshoot network issues and optimize networks making network engineers’ jobs more complicated.
  • HTTP/3 is built on QUIC which introduces some additional complexity.
  • QUIC increases the web’s centralization.
  • Implementing HTTP/3 on the server side requires good knowledge and skills.

Is HTTP/3 Available Now?

While the HTTP/3 protocol is still being developed, website owners and visitors should expect HTTP/3 to be supported by browsers, operating systems, and other clients. Of course, the standard, which has already been implemented multiple times, will likely undergo additional modifications. After HTTP/3 is released, the full web will not transit at once to HTTP/3. Many websites do not yet support HTTP/2. One possible difficulty for the new protocol is that it increases CPU utilization on both the server and the client.

Conclusion

In conclusion, QUIC and HTTP/3 show significant developments in internet communication protocols, which offer higher performance, security, and flexibility than previous protocols. HTTP/3 also provides lower latency, and better management of network situations, making it an appropriate protocol for the future of web communications.

Frequently Asked Questions on QUIC and HTTP/3 – FAQs

How does QUIC differ from TCP?

QUIC is more resilient to network changes than TCP because it employs connection IDs that are independent of IP addresses and ports. In addition, QUIC is more secure than TCP because it encrypts not just the data, but also the headers.

What happens if QUIC is blocked?

When it is blocked, QUIC provides an emergency mechanism that allows it to fall back to TCP. This allows SSL inspection without affecting user experience.

How can I enable QUIC and HTTP/3 on my server?

To enable QUIC and HTTP/3 on your server, you must first setup your web server software (such as nginx or Apache) to handle these protocols. Additionally, you may need to check that your server’s network infrastructure allows UDP communication on the correct ports.

Is QUIC open source?

The LiteSpeed QUIC Library is an open-source implementation of QUIC with HTTP/3 features for servers and clients .

Why is QUIC better than TCP?

QUIC creates connections faster than TCP because it eliminates the round-trip time with a 0-RTT handshake. Another advantage of QUIC over TCP is its greater robustness to network changes due to connection IDs that are not dependent on IP addresses or ports.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads