[Cerowrt-devel] [Cerowrt-users] QOS settings vs speedboost and random bandwidth

Marc MERLIN marc at merlins.org
Mon Nov 26 14:23:17 EST 2012


On Mon, Nov 26, 2012 at 01:11:47PM -0500, Michael Richardson wrote:
>     dpreed> I'd be happy to think about defining the pieces, but I
>     dpreed> really don't have time to code it, given all the other stuff
>     dpreed> I've done.  I wonder if by putting it in these modules, one
>     dpreed> can use existing kernel APIs. 
> 
> How precise timing do you think we need?
> 
> As I understand what you are saying, by periodically sending a few ICMP
> messages (does it help if they are back to back?) and looking when they 
> are returned, one can calculate the uplink bandwidth?

By the way, that was kind of what I had in mind.
Capping bandwidth on the router works great for DSL where line bandwidth is
known, but can't really be done right on a cable modem with effectively
variable bandwidth.

I kind of envisionned something where I'd enter the min and max bandwidth
expected, and just like an analog modem, the router would try higher speeds
first, look at how the latency is doing (vs line noise for a modem) and if
it's too high, tone it down.
Then, just like a modem, it could have some algorithm to try ramping back up
from time to time and see what happens (I see this over periods of minutes,
or even hours, not seconds). It wouldn't adapt super quickly, but at the
same time it would also do better than me changing the numbers in the web
interface every so often :)

"How the latency is doing" could indeed be done by sending a traceroute
like packet (TCP or UDP, whatever works) and an ICMP packet to the next hop
up that will reply. All 3 could be done maybe once a minute?

Now I'm not too sure how well that would work for seeing congestion on
uplink vs downlink, but if we know the data that is being shoved in each
direction and it's clearly asymetrical, it ought to be able to make a
reasonable guess that's correct most of the time, no?

Note, I'm not a TCP/IP congestion expert, sorry if what I just wrote isn't
possible for some reason that isn't obvious to me :)

Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/  



More information about the Cerowrt-devel mailing list