[LARTC] __Very__ Low Bandwidth

Andy Furniss andy.furniss at dsl.pipex.com
Fri Apr 7 23:46:19 CEST 2006


Matthew Pearson wrote:
> I am using the script below to simulate a very low bandwidth connection. 
>  I found that I could turn the bandwidth knob down to about 4kbit, but 
> below that I didn't get any traffic through. I've had a look at this 
> generally, but couldn't find an answer. It doesn't even seem like the 
> first reply packet gets through. I have tried it with much bigger 
> buffers, but this doesn't help.
> 
> I found that if I put a web proxy on the machine that is running this, 
> then the minimum I can turn the bandwidth down to is 12kbit and below 
> that the web browser doesn't get anything back.
> 
> Is this because the delay is so great that things are getting thrown 
> away by the kernel? Could I munge the packets to turn up the TTL or 
> something similar?
> 
> Many thanks for some excellent tools.
> 
> Matthew Pearson
> 
> #!/bin/bash
> 
> CLIENT1=192.168.1.190/32
> CLIENT2=192.168.1.191/32
> OPER=add;
> DEV=eth0
> RATE=3kbit
> PEAKRATE=3kbit
> BUFFER1=10kb
> BUFFER2=10kb
> 
> echo -e "Attach Egress policy..."
> tc qdisc $OPER dev $DEV root handle 1:0 htb default 15
> tc class $OPER dev $DEV parent 1:0 classid 1:1 htb rate 240kbit
> 
> tc class $OPER dev $DEV parent 1:1 classid 1:2 htb rate 240kbit ceil 
> 240kbit
> tc class $OPER dev $DEV parent 1:1 classid 1:3 htb rate 240kbit ceil 
> 240kbit
> tc class $OPER dev $DEV parent 1:1 classid 1:15 htb rate 240kbit ceil 
> 240kbit
> 
> tc qdisc $OPER dev $DEV parent 1:2 handle 2:0 tbf rate $RATE burst $RATE 
> limit $BUFFER1 peakrate $PEAKRATE mtu 1600

I don't really get using tbf under htb - but it may be OK.

The reason it fails <12kbit is because you use it for burst - which is a 
buffer length so <12kbit won't pass a 1500 byte packet.

Andy.


More information about the LARTC mailing list