Здравствуйте, уважаемый Pzz, Вы писали:
Pzz>Окно — это не про размер пакетов, а про то, сколько байт может передать передатчик (байт, а не пакетов, не важно, каким количеством пакетов они уйдут), не дожидаясь подтверждения от приемника, что можно еще слать.
+100500
Ну так это — как раз в тему!
Значит, если мы говорим о блоке данных, то увеличение окна — уменьшает фрагментирование этого блока. Вполне логично.
При достаточной ширине окна — на приёме фрагментирования не будет — бесь блок поступит целиком (одним куском)!
AG>>Это объясняет ситуацию, почему для блоков текстовых данных — я видел порог в районе 14 KBytes,
AG>>а при обмене сериализованными данными — на порядок (да — именно в 10 раз) меньше!
Pzz>Для TCP нет никакой разницы между текстовыми и бинарными данными.
Хорошо, в статье:
https://tylercipriani.com/blog/2016/09/25/the-14kb-in-the-tcp-initial-window
приводится факт увеличения окна, для HTTP — когда передаются текстовые (гипертокстовые) данные.
Значит, при текстовых данных, я могу воспользоваться "окном" в десять раз шире?
Что и подтверждается моими экспериментами на Ubuntu 18.04!
До Windows 10 руки дойдут в ближайшие дни.
Но я НЕ УВЕРЕН, что это стабильно будет повторяться для разных комбинаций сетевого железа и для разных OS.
Pzz>Для Ethernet'а ее тоже нет. Никто из них не занимается компрессией данных.
Здесь ИМХО вопрос не в компрессии данных, а в выборе режимов работы TCP протокола.