[p2p-hackers] Hard question...
dbarrett at quinthar.com
Mon Apr 3 06:38:13 UTC 2006
> -----Original Message-----
> From: Lars-Åke Larzon
> Subject: Re: [p2p-hackers] Hard question....
> > Um... most connections aren't saturated 24x7. Like, I have a 6Mbps
> > connection and sometimes I'm just using AIM. In this situation,
> > I'd like to
> > measure that 5.9Mbps is free. Any clever ideas on how to
> > accomplish this?
> Well, if you are absolutely sure that your own connection always is
> the path bottleneck, you could simply keep track of your observed
> peak capacities, calculate an estimated capacity X and assume that X-
> your current load should be available. Keeping that estimate X on the
> lower end would give you a good enough approximation. This can be a
> good strategy for low-bandwidth access networks that then won't have
> to ramp up as slowly as TCP slowstart dictates.
Excellent, this is precisely the sort of answer I'm looking to get.
The challenge with this strategy (as I see it) is resolving the "shared LAN"
problem: how does client A measure bottleneck utilization if client B is
also behind the same bottleneck?
Recall, the point is for a client to say "I want to use X% of excess
bottleneck capacity". This means knowing the "total capacity" and "current
A client could monitor its peak usage and infer that the total capacity is
at least this. And it can measure its current usage and infer the current
utilization is at least this. But if there's another client behind the same
bottleneck, it's only seeing a piece of the picture.
Now, as Serguei suggested, perhaps the whole attempt is moot and it's just
better to have a very conservative TCP-like stream, and trust that it'll
only grow to use excess capacity. And as Bob mentioned, bursty traffic
complicates this analysis. And clearly, as Lars said this only matters if
you're absolutely sure your own connection is the bottleneck.
But I'm curious if there are any other clever techniques out there (like
Michael's suggestion of CapProbe) that might be used to identify bottleneck
capacity and current utilization, irrespective of who you might contact on
the other side of the bottleneck, and irrespective of how many clients are
on this side of the bottleneck.
More information about the P2p-hackers