QUIC – Next-generation multiplex transport over UDP
docs.google.com
docs.google.com
chrome://net-internals/#quic
like the slide says, but Chrome just says "QUIC Enabled: false" without any switch to turn it on. (Chrome 32 on OSX.)
Edit: turns out the answer is to go to chrome://flags/#enable-quic
Also, what web servers support QUIC? Is there some kind of Apache add-on in development? And how will Chrome know whether to try to connect via QUIC or not? If QUIC gets enabled in my Chrome, does this mean Chrome tries to establish both a QUIC and TCP connection to each server always?
Chrome looks for the "alternate-protocol:443:quic" response header (in non-QUIC requests). Once it sees this it will attempt to talk QUIC in future requests to the same domain.
And thanks for pointing out the omission of chrome://flags/#enable-quic in the slides. Have fixed this.
Google's right: it's bloody fast, with zero-latency crypto setup times. We love it. This is terrific tech for mobile devices and high-latency, cellular networks.
EDIT: Obviously, I didn't implement QUIC specifically, but something that's equivalent (for our own application). We used NaCl specifically for the cryptography, although there's more to it than just making library calls…
Not so fast (yet).
http://tech-beta.slashdot.org/story/13/11/08/1818258/taking-...
We like UDP+PK crypto because it gives us zero latency connection setup times, allows mobile devices to change IPs without disrupting their connections, and for us, our average message size is 256 bytes (think: Twitter), and never over 1400 bytes, so every message we send has zero fragmentation. That leaves message reordering and handling dropped packets, something that's trivial given the rest of our protocol.
Still, that doesn't explain the chart "Goodput as connection speed increases". Something must be capped in QUIC (or perhaps the benchmark setup)
If you think their methodology is flawed you can take a look at the source code maybe fork and improve it.
edit-1: quic geek faq contains some more details (https://docs.google.com/document/d/1lmL9EF6qKrk7gbazY8bIdvq3...)
also, may you please elaborate on your statement above ? thanks !
There's now an incarnation tunneled over UDP that's used in WebRTC. But tunneling rtp on dtls on sctp on udp sounds like a real protocol christmas tree...
https://code.google.com/p/chromium/codesearch#chromium/src/n...
and there's a demo server here:
https://code.google.com/p/chromium/codesearch#chromium/src/n...
However there is a roughly up to date wire spec here: https://docs.google.com/a/google.com/document/d/1WJvyZflAO2p...
and a much more detailed design doc here: https://docs.google.com/document/d/1RNHkx_VvKWyWg6Lr8SZ-saqs...