tcp windowing

tcp windowing или скользящее окно TCP — техника, позволяющая отправителю выяснять способность получателя обрабатывать данные. Данные отправляются с максимальной возможной частотой.

 

 

tcp windowing- скользящее окно TCP

Размер окна может определяться автоматически. Проще всего понять принцип работы запустив копирование объемного файла из одного каталога в другой в Windows.

 

При запуске копирования система выводит окно в котором отображается ожидаемое время завершения операции.

Изначально значение может быть очень большим — год и более. Затем оно постепенно сокращается приближаясь к реальному.

 

tcp windowing
 
Фактически tcp windowing — подбор оптимального и максимально возможного размера окна как для отправителя, так и для получателя.

 

TCP окно количество TCP пакетов, передаваемых в единицу времени

 

 

Как известно tree way handshake и специфика протокола предполагает взаимодействие между отправителем и получателем. Послав SYN отправитель ждет SYN-ACK, только получив его и послав ACK он может установить соединение.

 

 

 

Принцип выбора окна TCP:
  • оправляется небольшое количество пакетов — например, один  SYN
  • получатель обрабатывает данные и отвечает с SYN-ACK
  • отправитель теперь знает, что другая сторона легко обработала запрос и начинает выполнять повторные отправки постепенно увеличивая количество пакетов.
  • во второй раз это может быть 2 SYN
  • всегда ожидается ответ и только затем выполняется новая отправка, как только отправитель поймет, что SYN-ACK перестали приходить — окно останется на последнем выбранном уровне
  • таким образом находится значение, которое позволит максимально быстро передавать данные обеспечивая при этом доставку