[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20120309215037.GI2539@paperino>
Date: Fri, 9 Mar 2012 22:50:37 +0100
From: Davide Gerhard <rainbow@....it>
To: netdev@...r.kernel.org
Subject: troubles with congestion (tbf vs htb)
Hi,
I am a master's student from the university of Trento, I have been doing a
project, for the course of advanced networking (In a group of 2), focused
on the TCP congestion control. I used tc with htb to simulate a link with
10mbit/s using a 100mbit/s real ethernet lan. Here is the code I used:
tc qdisc add dev $INTF root handle 1: netem $DELAY $LOSS $DUPLICATE
$CORRUPT $REORDENING
tc qdisc add dev $INTF parent 1:1 handle 10: htb default 1 r2q 10
tc class add dev $INTF parent 10: classid 0:1 htb rate ${BANDW}kbit ceil
${BANDW}kbit
and here is the topology
client -->| |--> server with iperf -s
| |
| |
+ +
eth0
CONGESTION machine
The congestion machine have the following configurations:
- kernel 3.0
- echo 1 > /proc/sys/net/ipv4/ip_forward
- echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
- echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
- echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
- echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
The client captures the window size and ssthresh with tcp_flow_spy but we do
not see any changes in the ssthresh and the window size is too large
compared to the bandwidth*latency product (see attachment). In a normal scenario,
this would be acceptable (I guess), but in order to obtain some relevant
results for our work, we need to avoid this "buffer" and to activate
the ssthresh. I have already tried to change backlog but this does
not change anything. I have also tried to use tbf with the following command:
tc qdisc add dev $INTF parent 1:1 handle 10: ftb rate ${BANDW}kbit burst 10kb
latency 1.2ms minburst 1540
In this case, the congestion works correctly as we expect, but if we use
netem I have to recalculate again all the needed values (correct?). Are there
any other solutions?
Best regards.
/davide
P.S Here follows the sysctl parameters used in the client:
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_sack=1
net.ipv4.tcp_dsack=1
--
"The abdomen, the chest, and the brain will forever be shut from the intrusion
of the wise and humane surgeon." - Sir John Eric Ericksen, British surgeon,
appointed Surgeon-Extraordinary to Queen Victoria 1873
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists