[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