Что может вызвать различные скорости потери пакетов между клиентом и сервером в UDP?

0

Если я реализовал надежный протокол передачи файлов UDP и у меня есть файл, который намеренно отбрасывает процент пакетов при передаче, почему будет более очевидно, что время передачи увеличивается с увеличением процента потери пакетов при переходе от клиента к серверу по мере в противоположность серверу клиенту? Это то, что может быть объяснено в результате протокола?

Вот мои цифры из двух отдельных экспериментов. Я сохранил максимальный размер пакета до 500 байт и потерю пакета в противоположном направлении до 5% с файлом размером 1 мегабайт:

Процент потерь от сервера к клиенту варьировался:

Файл 1 МБ, сегменты 500 б, потери от клиента к серверу 5%

1%: 17253 мс

3%: 3388 мс

5%: 7252 мс

10%: 6229 мс

11%: 12346 мс

13%: 11282 мс

15%: 9252 мс

20%: 11266 мс


Процент потерь от клиента к серверу изменился

Файл 1 МБ, сегменты 500 б, потери от сервера к клиенту 5%

1%: 4227 мс

3%: 4334 мс

5%: 3308 мс

10%: 31350 мс

11%: 36398 мс

13%: 48436 мс

15%: 65475 мс

20%: 120515 мс

Вы можете ясно видеть экспоненциальный рост числа клиентов в группе серверов.

mighty_squash
источник
В каком направлении шел файл?
Дэвид Шварц
От клиента к серверу, обратно к клиенту (мой исходящий сервер был 127.0.0.1)
mighty_squash
Таким образом, клиент говорит серверу 1 МБ, а сервер отправляет 1 МБ обратно? Или они перекрываются?
Дэвид Шварц
Моя реализация является итеративной, поэтому я (клиент) отправляю в файл 127.0.0.1 (me) через сервер, поэтому, по сути, он возвращает мне файл обратно.
mighty_squash
Это звучит достаточно симметрично, поэтому нет причин, по которым падение в одном направлении должно вести себя иначе, чем в другом. Но это трудно понять без понимания деталей реализации протокола.
Дэвид Шварц