Проблема в размере приемного окна TCP. крутится в windows в реестре, по умолчанию - 16 кбайт. На медленных каналах в большим временем задержки его надо бы уменьшать. Ваш промежуточный буфер в 32к на FIFO делает только хуже, Приемная сторона видит отправку последовательной очереди из 32 кбайт, отправленных одним куском, считает что канал без потерь, и увеличивает окно, (при том что его надо бы уменьшить), а на следующей пачке передачи ждёт потерянные пакеты, посылая перезапросы только по истечении времени ожидания. читайте про bufferbloat.
Почему на стали делать GFP? Ведь он не слишком сложный, да ещё и через нефреймированный канал может работать.
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
|