News for hackers. Stuff that matters.
Re:QUIC Is Not a TCP Replacement by WorldMaker on Monday September 26, 2022 @05:06PM (#32988416)
I think some of the argument you aren't seeing is in all the "narrow waist" implications and some of the links out from this article nearby that.

The "narrow waist" concept was originally that the only protocol that the internet required every network to speak natively or directly was IP. TCP and UDP were intended to be two protocols among many at the next layer up, but through various factors and accidents things got ossified to just those two protocols at that layer and even that so much so that increasingly in the last few decades TCP/IP is seen as the "real internet" (the "waist" expanded).

From that perspective QUIC looks like a hack: it's built at the next layer up (on top of UDP rather than a true peer among UDP and TCP) because building at the right layer level is "no longer allowed" (thanks to decades of firewalls, middleboxes, routers with bad assumptions baked in, etc).

Those things that ossified TCP, though, are also many of the reasons that QUIC can't compete with TCP and that TCP is inherently special on the modern internet as one of only two "approved" protocols and something of a "last man standing" even among them. As an example, pointed to in that RFC list, QUIC has to define its own congestion control, and it's something of an application-level service. TCP has decades of congestion control tech in the wild, some of it baked incredibly low level into routers, so much so that a lot of it is just "automatic" and "magic". Applications don't need to do any work to opt-in to it. It's sad that that work is hard-coded specifically to TCP and only TCP and cannot be easily applied to new network protocols, but that's just the reality of the modern internet.

Re:QUIC Is Not a TCP Replacement by drbruced on Monday September 26, 2022 @07:08PM (#32989803)
Author of the post here. Good comments. I was being deliberately provocative in the title to make a point. As I note in the article, it may or may not turn out that QUIC replaces TCP; the main point is that we didn't need a "TCP replacement" as much as we needed something new to meet the requirements of RPC (and HTTP in particular) and QUIC is doing that nicely. It may turn out that is all we need and TCP disappears, but as you say, there are reasons to doubt that including the extent to which TCP is baked in to existing systems.
Re:QUIC Is Not a TCP Replacement by tengwar2 on Tuesday September 27, 2022 @08:41AM (#32994577)
If we did not have to deal with the two problems you identify (direct communication peer to peer - effectively the NAT problem with IPv4 - and current firewall practice), then SCTP would be worth a look. I'm not a low-level network expert, and I haven't looked at QUIC in detail, but from the article it seems that SCTP addresses the issues raised in the article. It is a transport protocol on the same level as TCP and UDP, and originally devised for telecoms to transport SS7 signalling information. It's a very good fit to SIP, which is where I came across it.

A long-term connection is established between peers, as for TCP, but this can use multiple redundant paths rather than a single path. Within that connection, multiple independent streams with reliable transmission can exist - which relates to the RPC problem raised in the article, and to situations such as requesting parts of a web page in parallel.

NAT might not be a huge problem, as the protocol does have source and destination ports. One could also envision a proxy on a client device to translate HTTP/TCP to HTTP/SCTP for browsers not yet using SCTP directly. However home routers would probably be an insurmountable obstacle to widespread adoption, and neither Windows nor MacOS currently support SCTP.

Re:QUIC Is Not a TCP Replacement by WorldMaker on Tuesday September 27, 2022 @12:27PM (#32997553)
My understanding here is that some of why QUIC is built the way it is (on top of UDP) is in somewhat direct response to lessons learned from SCTP, including and especially how hard it is route SCTP in practice on today's internet.
Re:QUIC Is Not a TCP Replacement by rektide on Monday September 26, 2022 @07:32PM (#32990001)
> Those things that ossified TCP, though, are also many of the reasons that QUIC can't compete with TCP and that TCP is inherently special on the modern internet as one of only two "approved" protocols and something of a "last man standing" even among them.

If anything, the fact that a billion crappy unadjustable unmoving assumptions arent built into QUIC seems like an obvious win. TCP itself has a bunch of modern re-spins on what traffic control might possibly be better (bbr2 being a recent notable), yet there's so many legacy systems which already impeded progress & growth & basic modernization...

Conversely with QUIC, Broken shitty networking gear is about to get found out & replaced, when the modern QUIC internet takes over the vast majority of traffic & is just better. The "smart" middleboxes have long been more problems than aids, & their ancient cruft auto-magic is more hinderances in most places than than help.

Dropping & throttling UDP better will be a fine middleground, one where middleboxes have less control, but the end to end rather than hop to hop to hop protocol will adapt better.

Re:QUIC Is Not a TCP Replacement by WorldMaker on Monday September 26, 2022 @07:39PM (#32990052)
It is fair to suggest that some of that TCP-specific infrastructure impedes progress.

However, I don't think it is fair to suggest that QUIC will do anything to fix that infrastructure. QUIC, for better and worse, intentionally kicks the can further down the road by hopping around on top of UDP infrastructure. Maybe some QUIC successor will have the guts to move things to a proper top-level protocol, but QUIC itself isn't yet that step.

Re:QUIC Is Not a TCP Replacement by comex on Tuesday September 27, 2022 @01:28AM (#32991801)
Even on top of UDP, it still bypasses TCP-specific infrastructure. It will still be subject to any UDP-specific infrastructure, but that has a significantly smaller scope, at least if you exclude measures that (for better or worse) middleboxes could just as easily apply to traffic using a new top-level protocol.