Is QUIC on its way to becoming the transport of modern Internet?
QUIC (quick UDP Internet connections) protocol was introduced back in 2012 and the first standard draft was submitted to the Internet Engineering Task Force (IETF) in 2015. In this brief study, we will examine the adoption of the protocol. We used a subset of ‘Cisco Umbrella 1 Million’ (a free list of top 1 million most popular domains) for the experiment. Thanks to high parallelism of AWS Lambda, it is easier than ever to run such a test fast and cheap.
Since this protocol attracts a lot of attention, it was interesting to survey its adoption at this point.
To extract handshake information, a combination of a few open source projects was needed:
- Popular QUIC implementation augmented with additional debug output
- Lambda function that invokes it and saves results to AWS s3
- REST API endpoint facilitated by the API Gateway to submit a list of hosts to try, and a lambda function that will asynchronously invoke as many worker lambdas as needed to attempt the connection. Typically, 1000 parallel executions are allowed, which can be further enhanced by multiple threads in each lambda.
As Go binaries are self-sufficient, you can run it from any lambda environment - Python, Node.js or Go. If you are familiar with Python, you can call go binary using a subprocess module.
Given a small number of successful connections, I decided not to run it on a whole million, and stopped it after first thousand.
Taking the top 1000 sites from the list shows that 13.4% currently support some version of QUIC.
If we break it down by top-level domains, only 5.5% of domains support QUIC.
If we look deeper, those 17 domains that support QUIC belong to only 4 known corporations, and ownership of 2 is not immediately obvious. The good news is that it’s not just Google—notably, some host names within windowsupdate.com and nflximg.com support it.
Most sites advertise support for multiple versions of the QUIC protocol.
According to https://github.com/quicwg/base-drafts/wiki/QUIC-Versions, it looks like only Google’s versions are being encountered.
From the analyzed results, it’s safe to assume that Google is the biggest proponent of QUIC, while other big corporations are slowly following suite. In the past, we have seen several technologies gaining wide-spread adoption, especially in the HTTP/HTTPS space, when Google puts its weight behind it. QUIC has a long way to go as far as being the preferred transport protocol of the Internet and it’s a long way from beating TCP or UDP as of now. However, it definitely has a great start and we will be following it closely in its journey.