4 ms·
The difference is literally using UDP over TCP. The problem QUIC tries to solve is that many of TCP's design decisions were made in a different environment that
by Hamcha 6y ago
The difference is literally using UDP over TCP. The problem QUIC tries to solve is that many of TCP's design decisions were made in a different environment that the one we live today (eg. being able to switch between from 2 internet sources like Wi-Fi and mobile data while retaining connections).
Plus, it integrates TLS in it to reduce protocol overhead.
IIRC even UDP isn't ideal, the reason for choosing it over making a brand new protocol was to avoid network devices like routers dropping packets that they wouldn't recognize.
WebSockets is just an abstraction over a reliable protocol (TCP), therefore, WebSockets could theoretically work over QUIC too.
- chungus_khan 6y agoThe internet is a large cluster of workarounds for design decisions made in the 1970s, a truly beautiful time. A time before anyone imagined the need for a system to authenticate who is sending mail or from what server. A time when a "network connection" was a big ass permanent wire into a deeply imperfect network. A time where someone intercepting the communications on that wire was an afterthought. A time where even when things were encrypted, DES was considered an acceptable cipher. Unfortunately today's internet has needed to be a continuum of newer stuff that still has to work with the older stuff. Such is life.
- sippingjippers 6y agoThis is a fairly drastic simplification. There are a bunch of different pieces of QUIC, (not least, sorry I'm not authoritative either) - SSL and "TCP" handshake are collapsed into a single transaction - That transaction is worst case 1 network roundtrip, best case (returning user) 0 roundtrips - Anti-filtering baked in. Quic reveals almost nothing for middleboxes to filter on. There is not yet an accepted solution for encrypting the target server name (SSL SNI) but that's still being worked on AFAIK - "Modern" congestion control approach, where "modern" means "fuck any TCP connections sharing the link"