0

I want to share the following issues.

In iperf3, the default TCP window size is automatically managed by the operating system unless you explicitly specify a window size using the -w flag.

I want to share the following cases. The first case is when we do not set the window size, but for some unclear reason, retransmissions of packets (or Retr) are high, which may indicate packet loss.

Case A

iperf3 -c 34.32.23.4 -t 30 Connecting to host 34.32.23.4, port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 165 MBytes 1.38 Gbits/sec 2455 294 KBytes [ 4] 1.00-2.00 sec 109 MBytes 912 Mbits/sec 4250 352 KBytes [ 4] 2.00-3.00 sec 81.2 MBytes 682 Mbits/sec 3605 352 KBytes [ 4] 3.00-4.00 sec 111 MBytes 933 Mbits/sec 3465 308 KBytes [ 4] 4.00-5.00 sec 111 MBytes 933 Mbits/sec 4431 386 KBytes [ 4] 5.00-6.00 sec 81.2 MBytes 682 Mbits/sec 2370 392 KBytes [ 4] 6.00-7.00 sec 90.0 MBytes 755 Mbits/sec 1096 207 KBytes [ 4] 7.00-8.00 sec 92.5 MBytes 776 Mbits/sec 5132 331 KBytes [ 4] 8.00-9.00 sec 80.0 MBytes 671 Mbits/sec 5520 379 KBytes . . . [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-30.00 sec 2.81 GBytes 803 Mbits/sec 23309 sender [ 4] 0.00-30.00 sec 2.72 GBytes 780 Mbits/sec receiver 

Case B

But if I set the window size as follows:

iperf3 -c 34.32.23.4 -t 30 -w 1M [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 113 MBytes 951 Mbits/sec 0 291 KBytes [ 4] 1.00-2.00 sec 111 MBytes 927 Mbits/sec 0 382 KBytes [ 4] 2.00-3.00 sec 110 MBytes 926 Mbits/sec 0 461 KBytes [ 4] 3.00-4.00 sec 111 MBytes 935 Mbits/sec 0 508 KBytes [ 4] 4.00-5.00 sec 94.5 MBytes 793 Mbits/sec 0 242 KBytes [ 4] 5.00-6.00 sec 70.8 MBytes 594 Mbits/sec 0 202 KBytes [ 4] 6.00-7.00 sec 14.3 MBytes 120 Mbits/sec 0 238 KBytes [ 4] 7.00-8.00 sec 55.3 MBytes 464 Mbits/sec 0 355 KBytes [ 4] 8.00-9.00 sec 108 MBytes 904 Mbits/sec 0 472 KBytes [ 4] 9.00-10.00 sec 112 MBytes 937 Mbits/sec 0 500 KBytes [ 4] 10.00-11.00 sec 113 MBytes 945 Mbits/sec 0 500 KBytes [ 4] 11.00-12.00 sec 113 MBytes 944 Mbits/sec 0 500 KBytes [ 4] 12.00-13.00 sec 113 MBytes 950 Mbits/sec 0 500 KBytes [ 4] 13.00-14.00 sec 113 MBytes 944 Mbits/sec 0 502 KBytes [ 4] 14.00-15.00 sec 107 MBytes 900 Mbits/sec 0 328 KBytes [ 4] 15.00-16.00 sec 90.4 MBytes 758 Mbits/sec 0 200 KBytes [ 4] 16.00-17.00 sec 81.3 MBytes 682 Mbits/sec 0 351 KBytes [ 4] 17.00-18.00 sec 96.4 MBytes 808 Mbits/sec 0 378 KBytes 

In Case B, when I set the window size, the Retr (retransmissions) is 0 or Retr = 0

So, why is this happening? What could be the reason for these gaps?

1
  • You're going to have to capture traffic on both sides and look at those retransmissions. What's particular about them? Window Size too big and remote could not cope so asked to reduce Window Size? eventually "client" keeps increasing Windows Size again until again we hit a wall? Just a theory :) you really need to capture traffic on both sides. Commented May 9 at 9:45

1 Answer 1

0

The iperf3 -w option sets the SO_RCVBUF/SO_SNDBUF socket buffer size. In general, larger receive buffers allow to reduce the number of retries. This is because there is more place to store received packets, event if the receiver was not able to handle all the data received previously.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.