Re: [p2pi] One more proposed definition of fairness...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [p2pi] One more proposed definition of fairness...



On Jun 8, 2008, at 10:41 PM, Joe Touch wrote:
> ...
>> EG, the ISP can at a single bidirectional point in the network  
>> (admittedly keeping lots of state, but...) for a large group of  
>> users infer the congestion on each TCP flow,...
>
> That's the point, however, where things stop when someone uses  
> encrypted transport layers.

As long as the end point address is NOT encrypted, it doesn't matter.

> ...
>> Yes, this is a LOT of engineering work to get right [1], but I  
>> believe it is doable, and could accomplish the stated definition of  
>> fairness (or something very close to it).
>
> A key question is whether it's worth the state it will take to get  
> right. An endpoint might open a few thousand flows just to help  
> overload your system ;-)

a)  A few thousand is nothing.  You have to be talking tens of  
thousands to start with before I should start caring.


b)  There are some really nice structures that work for cheating.  EG,  
a 256k entry flow cache is probably sufficient, if you have a LRU  
policy, for even large networks since you are measuring short duration  
properties (to determine loss).

Looking at Berkeley's access network, I think a 256k entry or 512k  
entry cache would be sufficient to effectively never have evictions of  
flows in less than 2 seconds, and you could easily structure things so  
that if you lose a little precision through cache evictions, it  
doesn't matter.

Yes, tracking EXACTLY is very problematic.  But tracking approximately  
is far far easier.


c)  If a single host or small group of hosts starts doing behavior  
designed to disrupt the flow cache deliberately (eg, >10k ACTIVE TCP  
flows), I think the ISPs device can start doing some rate limiting on  
flow creation as well, as there is a strong case that such is  
suspicious behavior.


d)  "State is cheap, its ACCESSING state is expensive" if you look at  
modern memory technology.  DRAM is slow.  DRAM has awful latency.

But assuming a reasonable median packet size of about ~200B, you can  
still access one or maby two locations in DRAM even on a 10 GigE device.

Thus if you can have your algorithm so that it may have 1 GB of  
memory, but only needs to access one location (say a cache line) for a  
read/update, you can probably manage things.


>
>
>> Furthermore, you can resist the attacks you mentioned.  Because the  
>> ISP can prevent the user from minting new IP addresses (as they  
>> control the point of attachment), this prevents address forging.
>
> Sure - the local ISP can prevent that. You can't prevent someone  
> accessing multiple ISPs (cable, DSL, etc.), but presumably you don't  
> care about that?
>

Yeah, why should the ISP care?  Its because common congestion pretty  
much only occurs within the ISP, so it is the ISP's problem to  
mitigate, and in the ISP's interest to mitigate.

Someone who's using multiple ISPs to transfer more bits is paying for  
those extra bits, and it doesn't really matter.


_______________________________________________
p2pi mailing list
p2pi at ietf.org
https://www.ietf.org/mailman/listinfo/p2pi



Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.