Назад | Перейти на главную страницу

На Iperf3 странное поведение TCP

Я начинающий сетевой инженер.

Провел небольшой эксперимент с iperf3. Но я столкнулся с небольшой проблемой.

(1) Мой вопрос.

Я думаю, что поток TCP не работает должным образом, несмотря на контроль перегрузки.

Скорость потока уменьшается из-за перегрузки (скорость потока> пропускная способность канала).

Однако его cwnd постоянно увеличивается.

Как это могло случиться?

(2) Условия эксперимента

(3) Содержание эксперимента

Я создал поток со скоростью 130 Мбит / с, от H2 до H1.

Благодаря пропускной способности канала 100 Мбит / с,

Он должен снизить скорость со 130 Мбит / с до 100 Мбит / с из-за алгоритма перегрузки.

Я наблюдал это снижение и алгоритм перегрузки.


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) Мой вопрос подробно.

Не могли бы вы дать мне небольшой намек, чтобы понять эту странную вещь?

Спасибо за чтение!

Я нашел ответ.

Это не странное поведение. Я просто не понимаю.

До возникновения перегрузки переданные пакеты помещаются в очередь в буфере коммутатора.

По мере увеличения количества пакетов в буфере увеличивается и значение RTT.

Следовательно, скорость потока выглядит постоянной, хотя значение cwnd увеличивается.

Однако переполнение в буфере произойдет, когда значение cwnd больше и пакеты будут переданы достаточно, чтобы стоять в очереди в буфере.

Затем мы можем увидеть повторную передачу, потерю пакетов и переход состояния перегрузки TCP.