Я делаю тест IPERF3
. Клиентская команда:
iperf3 --client server_ip--port 22001 --cport 32001 --connect-timeout
9999 --set-mss 1400 -w 32M -n 512K --json --logfile filename
Но в отчете я обнаружил
"sum_sent": {
"start": 0,
"end": 0.33279991149902344,
"seconds": 0.33279991149902344,
"bytes": 1310720,
"bits_per_second": 31507700.686485216,
"retransmits": 0
},
"sum_received": {
"start": 0,
"end": 1.1867570877075195,
"seconds": 1.1867570877075195,
"bytes": 6940,
"bits_per_second": 46782.952109642763
},
Здесь есть разрыв между байтами sum_sent и sum_received. Я работаю в нестабильной среде, поэтому ожидается потеря пакетов.
Теперь мой вопрос: « Есть ли способ продолжить тест, пока все данные не будут подтверждены сервером? »
В качестве примера: Вот я отправляя 512 КБ данных, я хочу, чтобы клиент повторно передавал данные, если сегмент не подтвержден сервером, а также, если клиент видит потерю пакета, он должен уменьшить размер окна, а также повторно передать сегмент. И продолжайте передавать и повторно передавать сегменты, пока сервер не подтвердит все сегменты. Как это сделать?