Open In App

QUIC Protocol

Last Updated : 23 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

What is QUIC Protocol?

As we know Protocol is a rule regarding how the data is communicated, how the data is transferred between two mediums, encryption standards, etc., QUIC Protocol is the same that was developed by Google INC. in the year 2012 and owned by itself. Without delving into its history, we will see the working & usage of the QUIC.

Prerequisite

Where QUIC is used?

QUIC, commonly known as HTTP/3, which is Version 3 of HTTP-based communication. We all know that HTTP Protocol is used in web technology to request data from the remote web server & present the data in the browser. The data may be anything such as images, text, video, audio, etc., HTTP will fetch those data from the server & present it in the visualized format in the browser.

Upto HTTP/2, it uses TCP in the transport layer. We are all aware that TCP is Connection-oriented & reliable.

The drawback of TCP is its latency which is it took 3 Round trips and sometimes more round trips are needed. Such as SYN(Client -> Server), SYNACK(Server -> Client), and ACK(Client ->Server), If it is SSL Trusted communication(HTTPS), One more round trip is needed to check the Certificate validation. So. this round trip, makes the latency in the single request.

So, the QUIC evolved which works in the transport layer and uses the UDP Protocol. Due to the nature of UDP, which is fast and furious, QUIC provides lesser latency and faster response than TCP. QUIC is used along with HTTP Protocol to provide faster response to the end-user.

QUIC – the replacement of TCP + TLS

HTTP works in the application layer and uses the TCP as its backend to communicate with the web server with its Handshaking mechanism. If TLS-enabled communication is enabled, then it will do the additional process to ensure that HTTPS Connection is secure & it’s a valid certificate from a third party.

In QUIC, it doesn’t do this round trips to each SYN, SYNACK, ACK, and SSL Verification in separate requests to the server. Instead of in the first request itself, it gets to know about the Server Security Information & as it is using UDP in its transport layer, no more connection establishment is needed that UDP is a connectionless protocol

In simple, we can say that

HTTP/2  = TCP (SYN, SYNACK, ACK) + TLS
HTTP/3 = QUIC

Which will remove the latency of those 2 processes in their first single request itself.

UDP Usage in QUIC

QUIC Protocol is running on the top of UDP. UDP is connection less & unreliable in data transmission. TCP standard is fame due to its reliablity. QUIC just extends the UDP as reliable connection provider here with some advanced techniques. So, due its fastness and reliable communication, the communication between the Client-server is both fasty and reliable. So, less data loss is there.

Along with that, due to its running on existing technology UDP, no more additional adoption is needed in the existing web technology world. most of the technology supports UDP. This is thing that adds more weight to the QUIC Protocol.

Steps to unable QUIC in the Browser

Now a days, by default QUIC Protocol is enabled in the recent versions of chromium based browsers such as Google Chrome, Microsoft Chromium Edge, Vivaldi, So if the site supports HTTP/3 website, the request took the HTTP/3 based protocol.

Using chromium experiments:

  • Open the Browser
  • Go to chrome://flags
  • Search for QUIC
  • There you can have option to Enable or disable to QUIC.

Using command line option:

  • <browser.exe> enable-quic –quic-version=h3-25
Eg: chrome.exe enable-quic --quic-version=h3-25

Enterprise Policy or registry:

  • This Policy will help to allow/block QUIC protocol in Enterprise level
  • Registry Key: [HKLM/HKCU]/SOFTWARE/Policies/Google/Chrome
  • QuicAllowed(REG-DWORD): 1(Allowed) or 0(Blocked)

Steps to see uses of QUIC for its communication in web Browser

  • Open Browser
  • In a new tab, open the devoper tools -> Network tab
  • Search for site (www.google.com)
  • Right Click the row header(Name, Status, ..), there you can find the header named Protocol -> choose it
  • If its http3 or h3, then it is using the QUIC Protocol for its communication.

View of Browser:

protoco_ref-min-min

Protocol Shows H3 – QUIC Protocol

QUIC took lesser time than TCP:

As we mentioned above, QUIC Took lesser time than TCP, to do this experiment, load the site www.google.com in H2 protocol & refer the latency time, then run in H3 Protocol and refer their latency. Then we can conclude the latency difference between H2 and H3.

QUIC’s time:

h3

H3 time taken

TCP time:

we can see that time taken by H2 (TCP/IP) = 284 ms where as time taken by H3 (QUIC) is 261 ms.

h2-new

H2 time taken

Pros of QUIC Protocol

  • Due to its running based on UDP, no such overwhelming adoption is needed.
  • Reliablity based UDP makes the connection faster.
  • Security mechanism is handled based on existing TLS mechanism.

Cons of QUIC Protocol

  • As it is a new protocol so, not all browser support it yet. This can leeds to compatibility issue.
  • This protocol is not based on traditional TCP so it may not support all the debugging tools, that will make a challage to Network administrator.
  • Flow control mechanism needs to be handled properly.
  • It’s congestion control mechanism is different from TCP that shows different behaviour in terms of Congestion-aware.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads