This is pretty cool, but I would have liked to see more benchmarks around phones to servers instead of Linux box to Linux box.
UDP and QUIC are most effective serving traffic from phones to servers, not from Linux box to Linux box.
Linux boxes are typically either servers or behind a corporate firewall as e.g user laptops such as the one I use at work. There are distinct disadvantages to running QUIC in that environment:
* UDP is often blocked by default by corporate firewalls.
* Having everything in user space means having to actually update the user software before getting a security patch deep in the transport layer. Compared with getting a kernel patch to fix a TCP vulnerability, which typically happens more often on a Linux box and is more stable than updating userspace software.
* TCP throughput in a data center or behind a corporate firewall is typically fast enough for most needs.
However, from a phone on a cell tower, QUIC starts to make sense:
* Having everything in user space means I can update for security patches every time I update the app, which is much more frequent than OS updates on for example Android.
* Having everything over UDP means I can get the usual non head of line blocking benefits so often touted, with top notch security as well.
> UDP is often blocked by default by corporate firewalls.
I mean, that sounds a lot like a “them problem”. Kind of like the people that can’t use grpc because their silly corporate firewall MITM’s the encryption. The rest of us aren’t beholden to archaic IT decisions.
> TCP throughput in a data center or behind a corporate firewall is typically fast enough for most needs
Yeah but if I can go even faster, why wouldn’t I? Quic gives per-sub-stream back pressure, out of the box that’s so useful! No HoL blocking, substreams, out-of-order reassembly, there’s so many neat features, why wouldn’t you want to use it, given the chance?
> Having everything in user space…
Means we basically get “user space networking for the rest of us” and that we can run Quic implementations that fit our own applications requirements.
Regarding kernel patches coming more often than userspace updates, presumably you mean in the context of random third-party apps not maintained as well as the major browsers. That's fair, but if QUIC becomes popular enough, I imagine we'll see distros including QUIC dlls that these minor apps link against.
UDP and QUIC are most effective serving traffic from phones to servers, not from Linux box to Linux box.
Linux boxes are typically either servers or behind a corporate firewall as e.g user laptops such as the one I use at work. There are distinct disadvantages to running QUIC in that environment:
* UDP is often blocked by default by corporate firewalls.
* Having everything in user space means having to actually update the user software before getting a security patch deep in the transport layer. Compared with getting a kernel patch to fix a TCP vulnerability, which typically happens more often on a Linux box and is more stable than updating userspace software.
* TCP throughput in a data center or behind a corporate firewall is typically fast enough for most needs.
However, from a phone on a cell tower, QUIC starts to make sense:
* Having everything in user space means I can update for security patches every time I update the app, which is much more frequent than OS updates on for example Android.
* Having everything over UDP means I can get the usual non head of line blocking benefits so often touted, with top notch security as well.