Я тестирую программу GNU Radio, которая может туннелировать TCP-трафик по беспроводной связи. У нас есть некоторые странные результаты при тестировании, и при поиске виновника мне было любопытно узнать о несогласованной задержке.
Как непоследовательная задержка может повлиять на приложения TCP? Под несогласованным я подразумеваю сильно различающиеся RTT для ACK в соединении. Некоторое время кажется, что ACK приходят с нормальной скоростью, затем они исчезают, и у нас есть повторные передачи, за которыми следует «отложенный» ACK.
Например, предположим, что первые несколько полученных ACK имеют одинаковый RTT. Что произойдет, если следующий ACK не будет получен с удвоенным RTT по сравнению с предыдущими ACK? Какой бы ни была проблема, я вижу много повторных передач после долгого ожидания ACK.
Теперь, более конкретно, как могут RTT для ACK, которые перескакивают между быстрым и медленным, влиять на TCP-соединение?
Сказав это, есть ли способ настроить стек IP для лучшей обработки этой среды?