> On 20. mar. 2015, at 19.25, David Lang <da...@lang.hm> wrote:
> 
> On Sat, 21 Mar 2015, Steinar H. Gunderson wrote:
> 
>> On Fri, Mar 20, 2015 at 05:03:16PM -0700, David Lang wrote:
>>> 1. If you mark packets as congested if they have ECN and drop them
>>> if they don't, programmers will mark everything ECN (and not slow
>>> transmission) because doing so gives them an advantage over
>>> applications that don't mark their packets with ECN
>> 
>> I'm not sure if this is actually true. Somehow TCP stacks appear to be tricky
>> enough to mess with that the people who are capable of gaming congestion
>> control algorithms are also wise enough not to do so. Granted, we are seeing
>> some mild IW escalation, but you could very well make a TCP that's
>> dramatically unfair to everything else and deploy that on your CDN, and
>> somehow we're not seeing that.
> 
> It doesn't take deep mucking with the TCP stack. A simple iptables rule to OR 
> a bit on as it's leaving the box would make the router think that the system 
> has ECN enabled (or do it on your local gateway if you think it gives you 
> higher priority over the wider network)
> 
> If you start talking about ECN and UDP things are even simpler, there's no 
> need to go through the OS stack at all, craft your own packets and send the 
> raw packets
> 
>> (OK, concession #2, “download accelerators” are doing really bad things with
>> multiple connections to gain TCP unfairness, but that's on the client side
>> only, not the server side.)
>> 
>> Based on this, I'm not convinced that people would bulk-mark their packets as
>> ECN-capable just to get ahead in the queues.
> 
> Given the money they will spend and the cargo-cult steps that gamers will do 
> in the hope of gaining even a slight advantage, I can easily see this 
> happening
> 
>> It _is_ hard to know when to
>> drop and when to ECN-mark, though; maybe you could imagine the benefits of
>> ECN (for the flow itself) to be big enough that you don't actually need to
>> lower the drop probability (just make the ECN probability a bit higher),
>> but this is pure unfounded speculation on my behalf.
> 
> As I said, there are two possibilities
> 
> 1. if you mark packets sooner than you would drop them, advantage non-ECN

Agreed, with a risk of starvation of ECN flows as we've seen - this is not easy 
to get right and shouldn't be "just done somehow".


> 2. if you mark packets and don't drop them until higher levels, advantage 
> ECN, and big advantage to fake ECN

Same level as you would normally drop is what the RFC recommends. Result: 
advantage ECN mostly because of the end-to-end effects I was explaining 
earlier, not because of the immediate queuing behavior (as figure 14 in 
https://www.duo.uio.no/handle/10852/37381 shows). "Big advantage to fake ECN" 
is the part I don't buy; I explained in more detail in the AQM list.

Cheers,
Michael

_______________________________________________
Bloat mailing list
Bloat@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/bloat

Reply via email to