Это сложный вопрос, потому что он зависит от многих других факторов. Попытка получить очень конкретный ответ будет трудно и даже труднее, по крайней мере для меня, попытаться объяснить.
Предполагая, что сквозная связь достаточно стабильна, чтобы окно масштабировалось до максимума, мы можем сказать, что нам нужен один ACK на каждый максимальный размер окна. Типичный максимальный размер окна составляет 64 КБ, по крайней мере, я думаю, что это значение по умолчанию для Windows ... это устанавливается ключом реестра.
Зная это, теперь нам нужно знать, каково время прохождения туда-обратно, потому что вы будете получать только один максимальный размер окна данных на каждый RTT; один способ получить данные и получить ACK. Теперь мы будем играть так, как будто пытаемся вычислить необходимый восходящий поток для одного сокета TCP через спутник.
RTT = ~ 500 мс
Максимальный размер окна = 64 КБ
(64 КБ * 8)/. 5 = Максимальная загрузка будет 1 Мбит / с. Время 8 должно было, конечно, превратить наше значение байта в биты.
Кстати, часто вы видите размер окна, называемого буфером, и видите вычисление пропускной способности TCP, заданное как (RxBuffer/RTT = Througput). Теперь нам нужно рассчитать добычу. Надеемся, что со всем вышеперечисленным ответ очевиден, нам нужно два ACK в секунду, чтобы вернуться к отправителю. Эти ACK составляют 20Bs + 20Bs * 8 (заголовок IP + TCP), 320 бит / с. Таким образом, для соединения с 500 мс RTT и максимальным RxBuffer 64 КБ мы должны ожидать не более 1 Мбит / с и 640 Ббит / с.
Надеюсь, что вы на правильном пути. Читая это, я запутался ...