I am a newbie network engineer.
I did a small experiment with iperf3. But I run into a small problem.
(1) My question.
I think TCP flow do not act properly despite of its congestion control.
The flow decrease its rate due to congestion ( flow rate > link bandwidth).
However its cwnd is increasing continuously.
How can it happen?
(2) The experiment environment
Ubuntu 14.04
Mininet 2.3.0d5
: [TOPOLOGY] HOST1 -SWITCH1 - HOST2
Linux TC
atkernel version 4.4.0-148-generic
: Set all link bandwidth 100Mbps with proper MTU size
(3) The contents of experiment
I generated a flow having 130Mbps rate, from H2 to H1.
Due to the link bandwidth 100Mbps,
It has to decrease its rate from 130Mbps to 100Mbps due to its congestion algorithm
I observed this decrease and the congestion algorithm.
a. server : iperf3 -s -p 1212 -f m -A 7 -i 1
b. client : iperf3 -c 10.0.0.1 -p 1212 -t 10 -f m -b 130M -A 7 -l 63k -w 10M -i 1
Connecting to host 10.0.0.1, port 1212
[ 4] local 10.0.0.2 port 42010 connected to 10.0.0.1 port 1212
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 14.0 MBytes 118 Mbits/sec 0 570 KBytes
[ 4] 1.00-2.00 sec 15.5 MBytes 130 Mbits/sec 0 1.13 MBytes
[ 4] 2.00-3.00 sec 15.5 MBytes 130 Mbits/sec 0 1.69 MBytes
[ 4] 3.00-4.00 sec 12.7 MBytes 106 Mbits/sec 0 2.27 MBytes
[ 4] 4.00-5.00 sec 11.3 MBytes 95.0 Mbits/sec 0 2.84 MBytes
[ 4] 5.00-6.00 sec 11.4 MBytes 95.5 Mbits/sec 0 3.41 MBytes
[ 4] 6.00-7.00 sec 11.4 MBytes 95.4 Mbits/sec 0 3.98 MBytes
[ 4] 7.00-8.00 sec 11.3 MBytes 95.0 Mbits/sec 0 4.55 MBytes
[ 4] 8.00-9.00 sec 11.4 MBytes 95.3 Mbits/sec 0 5.12 MBytes
(4) My question in detail.
Due to its bandwidth ( 100Mbps ), I think the flow will experience a congestion and decrease its cwnd.
But it didn't. the cwnd of the flow is increasing continuously.
Furthermore, although it didn't decrease its cwnd, it decreased its rate. How can it happen? There is no re-transmission.
Could you give me a litte hint for understanding this weird thing?
Thank you for reading!