tcp windowing или скользящее окно TCP — техника, позволяющая отправителю выяснять способность получателя обрабатывать данные. Данные отправляются с максимальной возможной частотой.
tcp windowing- скользящее окно TCP
Размер окна может определяться автоматически. Проще всего понять принцип работы запустив копирование объемного файла из одного каталога в другой в Windows.
При запуске копирования система выводит окно в котором отображается ожидаемое время завершения операции.
Изначально значение может быть очень большим — год и более. Затем оно постепенно сокращается приближаясь к реальному.
Фактически tcp windowing — подбор оптимального и максимально возможного размера окна как для отправителя, так и для получателя.
TCP окно это количество TCP пакетов, передаваемых в единицу времени
Как известно tree way handshake и специфика протокола предполагает взаимодействие между отправителем и получателем. Послав SYN отправитель ждет SYN-ACK, только получив его и послав ACK он может установить соединение.
Принцип выбора окна TCP:
- оправляется небольшое количество пакетов — например, один SYN
- получатель обрабатывает данные и отвечает с SYN-ACK
- отправитель теперь знает, что другая сторона легко обработала запрос и начинает выполнять повторные отправки постепенно увеличивая количество пакетов.
- во второй раз это может быть 2 SYN
- всегда ожидается ответ и только затем выполняется новая отправка, как только отправитель поймет, что SYN-ACK перестали приходить — окно останется на последнем выбранном уровне
- таким образом находится значение, которое позволит максимально быстро передавать данные обеспечивая при этом доставку