I''ve set up Traffic Shaping on a Linux Router. Using HTB with SFQ, i''m trying to slow down heavy downloading for 20 subscribers over a 2048 kbit downlink. I''m classifying internet related traffic using iptables marking. bri0 is my local lan bridge, receiving egress traffic destined for subscribers. tc qdisc add dev bri0 root handle 1: htb default 2 tc class add dev bri0 parent 1: classid 1:1 htb rate 92129kbit ceil 102400kbit tc class add dev bri0 parent 1:1 classid 1:2 htb rate 90072kbit ceil 92129kbit tc class add dev bri0 parent 1:1 classid 1:3 htb rate 2048kbit ceil 92129kbit # Non-Internet Local Lan Traffic tc qdisc add dev bri0 parent 1:2 handle 2: sfq perturb 10 # Internet Traffic tc class add dev bri0 parent 1:3 classid 1:9 htb rate 50kbit ceil 100kbit # Unknown Internet Traffic tc qdisc add dev bri0 parent 1:9 handle 9: sfq perturb 10 # Known Subscribers, based on IP Address, ea. subscriber gets their own class, # starting with 1:10 (a script populates the classes for me) tc class add dev bri0 parent 1:3 classid 1:(10->X) htb rate 100kbit ceil 400kbit tc qdisc add dev bri0 parent 1:(10->X) handle (10->X): sfq perturb 10 Then the classifier: # Send Internet traffic, marked 3, to Class 1:3 tc filter add dev bri0 protocol ip parent 1: prio 1 handle 3 fw flowid 1:3 # Send traffic, based on dest. IP to their corresponding classes tc filter add dev bri0 protocol ip parent 1: prio 1 u32 match ip dst 10.200.0.(2->X)/32 flowid 1:((2->X) + 10) Does this look like a good solution? Can this really slow down heavy downloads, so all subscribers can at least get ..some.. traffic? Does traffic shaping, not policing, also drop packets when a HTB class exceeds it''s rate, or does it just wait until there are enough tokens? Thank you for any guidance.. Randy
Shaping on satellite can be a bad idea. Depends on who your provider is. Some satellite providers use SCPS http://www.scps.org/ as a means to increase performance. Simply put if you start shaping and drop ACK''s you will end up with connections hangs. I am really surprised we do not hear more about SCPS in this forum. On Thu, 2007-03-15 at 12:11 +0300, Randy Wallace wrote:> I''ve set up Traffic Shaping on a Linux Router. > Using HTB with SFQ, i''m trying to slow down > heavy downloading for 20 subscribers over > a 2048 kbit downlink. I''m classifying internet related > traffic using iptables marking. > > bri0 is my local lan bridge, receiving egress traffic destined for subscribers. > > tc qdisc add dev bri0 root handle 1: htb default 2 > tc class add dev bri0 parent 1: classid 1:1 htb rate 92129kbit ceil 102400kbit > tc class add dev bri0 parent 1:1 classid 1:2 htb rate 90072kbit ceil 92129kbit > tc class add dev bri0 parent 1:1 classid 1:3 htb rate 2048kbit ceil 92129kbit > # Non-Internet Local Lan Traffic > tc qdisc add dev bri0 parent 1:2 handle 2: sfq perturb 10 > # Internet Traffic > tc class add dev bri0 parent 1:3 classid 1:9 htb rate 50kbit ceil 100kbit > # Unknown Internet Traffic > tc qdisc add dev bri0 parent 1:9 handle 9: sfq perturb 10 > # Known Subscribers, based on IP Address, ea. subscriber gets their own class, > # starting with 1:10 (a script populates the classes for me) > tc class add dev bri0 parent 1:3 classid 1:(10->X) htb rate 100kbit ceil 400kbit > tc qdisc add dev bri0 parent 1:(10->X) handle (10->X): sfq perturb 10 > > Then the classifier: > # Send Internet traffic, marked 3, to Class 1:3 > tc filter add dev bri0 protocol ip parent 1: prio 1 handle 3 fw flowid 1:3 > # Send traffic, based on dest. IP to their corresponding classes > tc filter add dev bri0 protocol ip parent 1: prio 1 u32 match ip dst > 10.200.0.(2->X)/32 flowid 1:((2->X) + 10) > > Does this look like a good solution? Can this really slow down heavy downloads, > so all subscribers can at least get ..some.. traffic? Does traffic > shaping, not > policing, also drop packets when a HTB class exceeds it''s rate, or does it just > wait until there are enough tokens? > > Thank you for any guidance.. > Randy > _______________________________________________ > LARTC mailing list > LARTC@mailman.ds9a.nlhttp://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
Well, so far as I can tell, there have not been any major problems with dropped ACK''s. Our biggest gain, at least in the last 36 hours, is that during peak hours, subscribers have not been able to download at as high a rate as they could before. That, and when the subscribers who only wish to look at web pages and do Instant Messaging try to, they can, and at better, faster rates. I have no way of knowing if our service provider uses SCPS, HughesNet is a maze of customer support personnel who don''t know what a router is ;) My question is this: Is it normal, or desired, for some of my classes to possess negative tokens (HTB)? Does this mean that those classes are grossly abusing their rates? Thank you! On 3/15/07, Oscar Mechanic <oscar@ufomechanic.net> wrote:> > Shaping on satellite can be a bad idea. Depends on who your provider is. > Some satellite providers use SCPS http://www.scps.org/ as a means to > increase performance. Simply put if you start shaping and drop ACK''s you > will end up with connections hangs. > > I am really surprised we do not hear more about SCPS in this forum. > > > On Thu, 2007-03-15 at 12:11 +0300, Randy Wallace wrote: > > I''ve set up Traffic Shaping on a Linux Router. > > Using HTB with SFQ, i''m trying to slow down > > heavy downloading for 20 subscribers over > > a 2048 kbit downlink. I''m classifying internet related > > traffic using iptables marking. > > > > bri0 is my local lan bridge, receiving egress traffic destined for subscribers. > > > > tc qdisc add dev bri0 root handle 1: htb default 2 > > tc class add dev bri0 parent 1: classid 1:1 htb rate 92129kbit ceil 102400kbit > > tc class add dev bri0 parent 1:1 classid 1:2 htb rate 90072kbit ceil 92129kbit > > tc class add dev bri0 parent 1:1 classid 1:3 htb rate 2048kbit ceil 92129kbit > > # Non-Internet Local Lan Traffic > > tc qdisc add dev bri0 parent 1:2 handle 2: sfq perturb 10 > > # Internet Traffic > > tc class add dev bri0 parent 1:3 classid 1:9 htb rate 50kbit ceil 100kbit > > # Unknown Internet Traffic > > tc qdisc add dev bri0 parent 1:9 handle 9: sfq perturb 10 > > # Known Subscribers, based on IP Address, ea. subscriber gets their own class, > > # starting with 1:10 (a script populates the classes for me) > > tc class add dev bri0 parent 1:3 classid 1:(10->X) htb rate 100kbit ceil 400kbit > > tc qdisc add dev bri0 parent 1:(10->X) handle (10->X): sfq perturb 10 > > > > Then the classifier: > > # Send Internet traffic, marked 3, to Class 1:3 > > tc filter add dev bri0 protocol ip parent 1: prio 1 handle 3 fw flowid 1:3 > > # Send traffic, based on dest. IP to their corresponding classes > > tc filter add dev bri0 protocol ip parent 1: prio 1 u32 match ip dst > > 10.200.0.(2->X)/32 flowid 1:((2->X) + 10) > > > > Does this look like a good solution? Can this really slow down heavy downloads, > > so all subscribers can at least get ..some.. traffic? Does traffic > > shaping, not > > policing, also drop packets when a HTB class exceeds it''s rate, or does it just > > wait until there are enough tokens? > > > > Thank you for any guidance.. > > Randy > > _______________________________________________ > > LARTC mailing list > > LARTC@mailman.ds9a.nlhttp://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc > >
hi randy, On Fri, 2007-03-16 at 09:55 +0300, Randy Wallace wrote: <snip>> I have no way of knowing if our service provider > uses SCPS, HughesNet is a maze of customer support personnel > who don''t know what a router is ;)this is really critical to try to do any shaping ... many indoor units have proprietary backbone protocols -- the indoor unit can potentially be spoofing ACKs and renegotiating tcp sessions and much more. if you''ve got one these, about the most you can do is allocate the bandwidth to clients, but not "optimize" the satellite connection -- the modem can potentially be doing that. this thesis is a bit old, but is still an excellent read: http://www.tomh.org/thesis/thesis_front.pdf cheers charles