Skip to content

QUIC#

QUIC is interesting because it does away with TCP in the context of web (HTTP) services.

If you think back to when we covered TCP and UDP, I told you UDP is a faster protocol. It's faster because it has near zero overheads compared to TCP. QUIC is attempting to take advantage of this by developing a new HTTP standard over UDP.

Going back to our OS basics section where we talked about OS kernels, this piece about QUIC is interesting:

"It also moves congestion control algorithms into the user space at both endpoints, rather than the kernel space" - Wikipedia

The TCP, UDP, and IP stacks are handled on your system via the kernel. This is often referred to as the "TCP/IP Stack". What QUIC is aiming to do is move the handling of a part of this stack into user space - where your browser runs. At this level, the code that executes and runs the "congestion control algorithms" can be updated daily if need be, without having to issue a patch to the kernel.

Check out how efficient the handshake is versus what we use today with TCP:

TCP vs QUIC TCP vs QUIC

TCP vs QUIC

It's a lot of overhead reduced which in the long term saves a lot of time and bandwidth.

For the time being QUIC is simply something to be aware of.