> On Nov 3, 2019, at 00:38, Hal Murray <[email protected]> wrote:
> 
> 
> Sebastian Moeller said:
>> Interestingly, the naive expectation in the vice text is equal sharing
>> between all concurrent flows, if only we had a system that could actually
>> help achieving this kind of set-up that is fair to each flow... 
> 
> Is there consensus on what a flow is?  

        I believe yes, a "flow" is the set of packets that all share the same 
[5|3]-tuple of source and destination address as well as the protocol and if 
they exist source and destination port numbers.
 But as you point out that is not necessarily to only useful flow definition 
for the purpose of link-sharing.


> Or what the unit of traffic that 
> fairness measures should be?

        I would say the consensus is that the status quo, "no fairness 
guarantee of any kind (as long as nobody gets starved)" is decidedly not what 
users expect. In a sense any better definition will be an improvement.

> 
> It seems to me that it depends on where you are located.

        Sure, except the current anything goes is also not optimal for any 
party (well those that push large aggregate traffic volumes are fine with the 
status quo I would guess, as almost everything else will require more 
resources).

> 
> Consider upstream traffic:
> 
> If I'm a workstation or server, I probably want to give equal weight to each 
> connection.

        Yes, but then just do equal weight scheduling on your egress, no?

> 
> If I'm an exit router at a residence, I probably want to give equal weight to 
> each IP Address.

        But which one the src or dest one?

>  If not, pigs can game the system by making multiple 
> connections.

        Which is, as I might add not worse than what we have right now, 
multiple connections already give an improvement in the current system (witness 
those download managers that use multiple parallel TCP connections). And 
sending more packets into the network will cause congestion that affects 
everybody else already, 5-tuple fairness actually increases the difficulty of 
gaming the system (not by much, but the attacker now needs to put some 
randomness into the packet headers). Using less header information will make 
the attackers work more and more challenging, even though attacks will always 
be possible, but IMHO the valie od per-flow-fairness is not increased 
robustness against attacks, but rather a better predictable performance under 
normal conditions.
        As a "transit" provider, I would probably look only at the IP header, 
which means either source, destination, or source and destination addresses or 
prefixes for IPv6  as flow defining entities (in that case just randomizing 
port numbers will not gain much for an attacker, now IP addresses need to be 
randomized).


>  But if I have a server, maybe I want to reserve or limit the 
> bandwidth it gets - reserve to keep the workstation/laptop traffic from 
> killing the server and limit so the workstation/laptop people can get some 
> work done when the server is busy.

        And nothing in a default per-flow fairness world will prohibit you 
doing this, just as it is possible in the current anything goes world, no?

> 
> If I'm an ISP customer facing router, I probably want to give equal weight to 
> each customer, probably scaled by how much bandwidth they are paying for.
> 
> I don't know how to handle backbone routers.  You probably want to treat each 
> customer as a flow, again scaled by how much bandwidth they are paying for.  

        In theory perhaps, in practice that scaling either requires to tag each 
packet with the bandwidth allotment or a costly lookup. As far as I can tell 
the current solution is to restrict enduser rates at the first viable choke 
point, the internet access link and simply not care in the back-bone or at 
peerings. IMHO using any flw definition at back-bone or peering links will be a 
big improvement over the status quo, so I believe the actual choice is not that 
inmportant as long as one is chosen.


> But an IP level packet doesn't tell you anything about which customer it came 
> from.

        Well yes and no, unless spoofed, the source IP-address pretty much 
tells you the source "customer", in IPv6 its is going to be the prefix for most 
end users on IPv4 it will be the full /32. IMHO the goal should not not to find 
the optimal solution (which heavily depends on the optimization criterium), the 
goal should be to improve upon the status quo, and make network performance 
easier to predict.

> 
> If this is old news, please point me at a good writeup.

        I have no write-up of this available, but none of my points above are 
original in any way, so I am sure must be write-ups somewhere.

Best Regards
        Sebastian


> 
> 
> 
> -- 
> These are my opinions.  I hate spam.
> 
> 
> 
> _______________________________________________
> Bloat mailing list
> [email protected]
> https://lists.bufferbloat.net/listinfo/bloat

_______________________________________________
Bloat mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/bloat

Reply via email to