4 ms·
Am I understanding things correctly? Because QUIC ramps up its bandwidth estimate more aggressively, it fundamentally competes unfairly with TCP? Is that an inh
by _wmd 9y ago
Am I understanding things correctly? Because QUIC ramps up its bandwidth estimate more aggressively, it fundamentally competes unfairly with TCP? Is that an inherent property or something that can be fixed? Definitely it's too late to fix it on the TCP side
Nice to know 7% of Internet traffic isn't playing fair with the rest just so one company's content loads a few ms faster! Really don't know how I feel about TCP in general losing out to QUIC if it saw much wider deployment outside Google
And finally, it's incredibly disappointing to read these results from a third party, rather than having a balanced perspective as part of the original marketing
- trevyn 9y agoQUIC fundamentally competes on a different level because TCP is broken for modern networks. From a network usage standpoint, there isn't anything "unfair" about it -- QUIC runs atop UDP, which is also a perfectly acceptable and publicly available Internet protocol. And Chrome will happily use QUIC with non-Google hosts, the real problem is that production-quality QUIC server software is currently rare outside of Google.
- _wmd 9y agoOne of the major downsides to UDP is that it lacks any form of congestion control, so it's hard to justify QUIC's behaviour due to what it's built atop :) Meanwhile we're not talking about a small slice of bandwidth spent on SIP video calls playing unfairly, we're talking about 70% or more of all Internet traffic suddenly stampeding over every pre-existing protocol, they're the floodgates I'm worried about
- trevyn 9y agoIf this was actually a problem, it would be trivial for network operators to prioritize TCP packets over UDP packets. QUIC builds modern congestion control on top of UDP.
- solotronics 9y agoI think the problem is that currently there is no prioritizing within IP traffic and possibly this would cause TCP to suck while QUIC over UDP ran fine. This is just a guess based on how TCP congestion and sliding window work and I am very curious to see how these two interact at various percentages in the wild. If anyone knows how to simulate QUIC on Spirent or Ixia test gear please drop me a line and I will lab this up.
- fulafel 9y agoWe really don't want the prioritisation smarts in the network - End-to-end architecture of the internet, network neutrality and all that.
- IgorPartola 9y agoInternet traffic or web traffic? Last I saw, Netflix and streaming video were the biggest slices of the pie.
- vvanders 9y agoMy understanding is that most of that traffic is on the last mile due to them colocating the data at the ISP level[1]. [1] https://openconnect.netflix.com/en/ https://openconnect.netflix.com/en/
- gsich 9y agoWhy is TCP broken?
- pixl97 9y agoUse TCP on a lossy network. Keep adding more users till you are using a majority of the bandwidth. Watch the network fail in congestion collapse.
- glandium 9y agoUse TCP across continents. See how long it takes for the window size to ramp up until your bandwidth is fully used.
- wmf 9y agoDoes any other protocol do better? The Internet is not a truck.
- fulafel 9y agoAre you proposing a circuit-switched replacement for IP, or do you think the current network would serve better if there was no backoff in the face of congestion? The ATM effort was a while back, but who knows, maybe it's time to try again.
- apenwarr 9y agoThat's actually a misrepresentation. TCP actually works pretty well on crowded networks; a major feature of TCP is to avoid congestion collapse. It doesn't always fully saturate busy/lossy networks, which is an area for improvement, but it's not the same as congestion collapse. TCP BBR is an attempt to fix TCP congestion control so it can saturate busy/lossy networks more reliably. That doesn't require QUIC.
- fulafel 9y agoThis thinking is completely divorced from the principles and practice applied by the internet engineering community. The fairness benchmark is TCP, and if built on UDP, protocols are expected to respond to congestion & be fair to TCP streams.
- sebazzz 9y agoQUIC runs on UDP, does that mean it does not work on carrier grade NAT we see more and more these days?
- wmf 9y agoUDP works over virtually all NATs.
- jacksmith21006 9y agoGoogle makes QUIC available for others to use if desired. QUIC sits on top of UDP so any other service that uses UDP you could make a similar argument they are optimizing for their service. Which everyone should be doing. Your post sounds more like it is driven more by some issue you have with Google then QUIC.
- _wmd 9y ago> Your post sounds more like it is driven more by some issue you have with Google I'll ignore that and suggest instead you read up on what happened to the Internet in the early 90s, the last time congestion control literally broke everything
- chocolatebunny 9y agoAny chance you can point to a source about what happened in the 90s? I googled "congestion control what happened to the Internet in the early 90s" and it lead me no where.
- _wmd 9y agoThe relevant keyword fu is 'congestion collapse', and it seems I may be misremembering what you can read about in the opening of Van Jacobsen's paper on congestion control ( http://ee.lbl.gov/papers/congavoid.pdf http://ee.lbl.gov/papers/congavoid.pdf ) and some new algorithms that were introduced in the early-mid 90s, but perhaps someone with more clue knows what I was thinking of Finally it's not the first time Google did something foul like that in the protocols department. IIRC they deploy a modified TCP slow start which also doesn't play fair in the face of contention
- puzzle 9y agoCongestion collapse is what happened in the mid 80s that led to the creation of Jacobson's congestion control. He's at Google now, working on BBR (which their QUIC uses). Are you thinking of the early P2P days?
- jws 9y agoI’ve often wondered how much cheating goes on in TCP and who would notice. Many years ago my company made a VPN which tunneled through TCP† specifically designed for heavily loaded networks. I changed the Linux kernel to cap our back off time to something like 2 seconds because getting to a 2 minute back off just sucks badly when you are encapsulating a bunch of streams. Happy customers. Happy us, no more “the VPN hangs” complaints. ␄ † Yes, "don't do that", but when you have a mission critical unchangeable protocol sending enormous multi fragment UDP datagrams over a network path with a 10% packet loss rate, something has to give.
- charleslmunger 9y agoI'd like to know what the efficiency gap is - you can see in the graph that early on, quic is better saturating the connection, while TCP is still scaling up. The other problem is related to how TCP connections work with HTTP/1.1 or similar protocols - one TCP connection per concurrent HTTP request, where with quic any arbitrary number of requests are all part of the same quic stream. It doesn't seem unfair that adding more TCP connections doesn't make quic reduce its share of bandwidth, any more than adding 1000 concurrent http requests into the quic stream should reduce TCP's share of bandwidth.