[Cerowrt-devel] [Cerowrt-users] QOS settings vs speedboost and random bandwidth
dpreed at reed.com
dpreed at reed.com
Mon Nov 26 11:37:43 EST 2012
Michael - My kludge code predated all of the "bloat" activity (I wrote it in 2002, when I had a Linux box as my home router, and I stopped using it because as a practical matter it was easier to use off-the-shelf home routers to support my family when I travel). It was a complete kludge using a modified kernel, etc. Not the right way to do it, and probably impossible to understand.
But I've thought about coding it again for cerowrt. Where to modularly slot it in seems to be worth thinking about. Perhaps in two key pieces: an iptables/xfilter module and a routing/traffic control module - with some direct interaction between the two using some appropriate intermodule bus/link/coordination link.
I'd be happy to think about defining the pieces, but I really don't have time to code it, given all the other stuff I've done. I wonder if by putting it in these modules, one can use existing kernel APIs.
-----Original Message-----
From: "Michael Richardson" <mcr at sandelman.ca>
Sent: Monday, November 26, 2012 10:38am
To: dpreed at reed.com
Cc: cerowrt-users at lists.bufferbloat.net, cerowrt-devel at lists.bufferbloat.net
Subject: Re: [Cerowrt-devel] [Cerowrt-users] QOS settings vs speedboost and random bandwidth
>>>>> "dpreed" == dpreed <dpreed at reed.com> writes:
dpreed> You can use a small fraction of the capacity of the cable
dpreed> uplink path to measure its queueing delay dynamically, and
dpreed> when it gets longer than latency*"expected bitrate", reduce
dpreed> "expected bitrate".
dpreed> You want to do this *as quickly as possible*, so what you do
dpreed> is insert a "link monitor" task in the driver that sends
dpreed> tiny probe packets addressed to the nearest "loopback point"
dpreed> you can find/create on the other side, and measure the RTT.
dpreed> You can use, for example, the technique used by traceroute,
dpreed> which is to set the hop count to the smallest number that
dpreed> causes a return ICMP packet to be sent, and send one of
dpreed> those periodically.
As I understand it, you can do this with 802.1ag
http://en.wikipedia.org/wiki/IEEE_802.1ag,
with the Loop-back frames as well.
Whether or not any of this is enabled on typical broadband networks, I
have no idea.
dpreed> I used this specific technique to cause my uplink queue to
dpreed> move back into my router, where I could manage it. You can
dpreed> also use it for the downlink queue measurement, but it
dpreed> doesn't move the queue into the router smoothly, instead you
dpreed> have to drop/ECN-mark the IP frames coming in.
dpreed> This can all be done between the IP layer and layer 2.
dpreed> Since it exploits speedboost better, it might be worth
dpreed> adding as an option to cerowrt, so you don't have to set a
dpreed> speed limit explicitly when you have a single connection to
dpreed> the public Internet.
wow, this would be awesome... code??
--
] He who is tired of Weird Al is tired of life! | firewalls [
] Michael Richardson, Sandelman Software Works, Ottawa, ON |net architect[
] mcr at sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[
Kyoto Plus: watch the video <http://www.youtube.com/watch?v=kzx1ycLXQSE>
then sign the petition.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cerowrt-devel/attachments/20121126/a774d440/attachment-0002.html>
More information about the Cerowrt-devel
mailing list