Live data from Hacker News

QUIC is now RFC 9000

fastly.com

121–130 of 246 posts

Re: QUIC is now RFC 9000

#121
post #68

Earlier quoted context omitted.

There are less than 100 Internet Standards ( https://www.rfc-editor.org/standards ).

With hindsight, it's kind of funny that 8 of them are about telnet.

I've been dealing with various things that uses Telnet, mostly "legacy" services that has always used Telnet and there is no reason to switch them. Why is it funny? Telnet is still widely used and has been widely used for a long long time.

Re: QUIC is now RFC 9000

#122

After all the TCP and UDP specific attacks (SYN Floods and Reflection-Amplification), I am really curious which QUIC-specific DoS attacks will be created by some talented hackers. At least the security considerations of the QUIC RFC are ~18 pages long, so this might take some time.

A core intent is that you should not be able to cause a QUIC peer to spew vast quantities of stuff to somebody it hasn't authenticated, so that it can't be used for a large amplification attack. If you emit even very small malformed packets perhaps from a forged address, a QUIC peer is still more or less obliged† to tell you there's a problem, and so if the malformed packet's origin address was forged, the real owner of that address gets an unexpected QUIC message saying there's a problem, and it might respond in kind - it's important this doesn't end up like two half-deaf retirees both shouting "What?!" at each other forever because one of them thought the other said something.

† What WireGuard does here is just ignore everything that doesn't authenticate. This makes diagnostics tricky. Why doesn't it work? No idea. Maybe try again?

Re: QUIC is now RFC 9000

#123
post #36

Earlier quoted context omitted.

Curious, why isn't it numbered the other way? My programming brain is telling me that if you're reading rfc9000 you can't reference rfc9001 because it hasn't been initialized yet. :D

It's in a lot of ways more about not being defined (but possibly declared) yet, rather than initialized. You'd be super sad if you could not reference a function defined later in a source file. Yeah, I'm absolutely great at parties!

> You'd be super sad if you could not reference a function defined later in a source file.

Would you? Most of the environments I'm in requires you to define the thing before you can use it, I'm not that sad about that. In fact, that seems to make a lot more sense than that you can define something after you use it, I'd expect that to lead to a compiler/interpreter error.

Re: QUIC is now RFC 9000

#124
post #36

Earlier quoted context omitted.

It's in a lot of ways more about not being defined (but possibly declared) yet, rather than initialized. You'd be super sad if you could not reference a function defined later in a source file. Yeah, I'm absolutely great at parties!

> You'd be super sad if you could not reference a function defined later in a source file. Would you? Most of the environments I'm in requires you to define the thing before you can use it, I'm not that sad about that. In fact, that seems to make a lot more sense than that you can define something after you use it, I'd expect that to lead to a compiler/interpreter error.

So no recursion?

Re: QUIC is now RFC 9000

#125

Earlier quoted context omitted.

The “ossification” that QUIC deals with is primarily about internet routers who decide to dig into their IP packets. https://http3-explained.haxx.se/en/why-quic/why-ossification Many have optimisations around TCP and long-standing TCP characteristics, which they are able to do because the TCP headers are unencrypted. This led to TCP being difficult to improve, because of all the implementations out there making assum…

> The “ossification” that QUIC deals with is primarily about internet routers who decide to dig into their IP packets. Being 'opaque' to the network is not a foolproof choice, since it also makes stuff like NAT, congestion control and QoS a lot less robust. By exposing connection identifiers to the network, SCTP gains a lot of flexibility wrt. such scenarios compared to QUIC.

NAT is a hack that only ever existed due to IP address exhaustion, and I’ve yet to find a good reason why congestion control and QoS handling in a router needs anything beyond what is already in the IP headers. SCTP’s flexibility is irrelevant since nobody uses it, arguably because of how much the Internet has ossified around TCP and UDP.

Re: QUIC is now RFC 9000

#126
post #107

I am still wondering, isn't TCP hardware accelerated? Maybe QUIC would also mean the CPU working harder, but I'm not really sure. I would be nice to have a thoughtful conversation about the security implication of QUIC: Wikipedia says packets are encrypted individually. I'm also curious: is QUIC exclusively aimed towards HTTP2 or can it be used for real time applications, like real time gaming or video conferencing?

For UDP, Linux supports GSO and GRO, allowing applications to send and receive "super"-packets which are split up and reassembled by the kernel or NIC, depending on what's available. Whether or not QUIC implementations utilize it, I'm not sure.

Re: QUIC is now RFC 9000

#127

> QUIC was developed through a collaborative and iterative standardization process at the IETF after almost five years, 26 face-to-face meetings, 1,749 issues, and many thousands of emails. 26 face-to-face meeting in 5 years is an extremely low number; I'm glad to see that the developers of the Internet embrace remote work :)

These face-to-face meetings are probably the IETF meetings (https://www.ietf.org/how/meetings/), which seem to be around 3 per year (https://www.ietf.org/how/meetings/past/), plus a few extra quic-specific meetings (https://www.ietf.org/how/meetings/interim/).

Re: QUIC is now RFC 9000

#128

Earlier quoted context omitted.

The “ossification” that QUIC deals with is primarily about internet routers who decide to dig into their IP packets. https://http3-explained.haxx.se/en/why-quic/why-ossification Many have optimisations around TCP and long-standing TCP characteristics, which they are able to do because the TCP headers are unencrypted. This led to TCP being difficult to improve, because of all the implementations out there making assum…

> The “ossification” that QUIC deals with is primarily about internet routers who decide to dig into their IP packets. Being 'opaque' to the network is not a foolproof choice, since it also makes stuff like NAT, congestion control and QoS a lot less robust. By exposing connection identifiers to the network, SCTP gains a lot of flexibility wrt. such scenarios compared to QUIC.

I'm happy whenever anyone brings up SCTP. Such a maligned protocol. Congestion control and QoS, however, are a loser's game. If you're running into realistic issues meeting demand due to statistical multiplexing breaking down to the point you must rely on caring about the internal state of traffic streams, you should have thrown more link hardware at the problem long ago. Many dumb pipes > fewer smarter pipes.

>NAT

Oh, didn't you know, IPv6 was going to solve everything. No more NAT. We're just going to assign everyone an IP at birth so people can continue to ignore the User-Agent/User distinction.

Re: QUIC is now RFC 9000

#129
post #24

Earlier quoted context omitted.

Is QUIC really worthy of the over 9000 meme? I can’t help but feel we wasted a once in a lifetime opportunity.

To be used as 9000 meme it should have been "over 9000" https://en.wikipedia.org/wiki/It%27s_Over_9000 !

As GP’s edit pointed out, it actually is RFC 8999-9002 - so yes, it’s over 9000.

Re: QUIC is now RFC 9000

#130
post #80

Earlier quoted context omitted.

I would start by: - Not allocating giant slices of IPv6/4 space to corporations or government agencies. Everything must be IPv6. - Adding proper authentication to BGP. - Taking off the super powers of CAs - Not piling up standards on DNS. - Killing ICANN because it turned out to be a greedy senseless organization. - HTTPS is the standard, and email servers just follow the auth/encryption just like HTTPS. - Curve/Ed25…

Well, I expected more radical/foundational changes than "upgrade to $modern standards" :P e.g change TCP to $YOLO PROTOCOL, get rid of OSI for something different

My own radical ideas would be:

1. Change the order of the header fields to have the destination first, then the source;

2. Make the behavior on too large packets be "truncate but still forward" (setting a flag saying this was done), instead of fragmenting or dropping with an ICMP message.

Post reply on HN