Skip to main content

Що таке sliding window?

Sliding window (ковзне вікно) - це механізм TCP, який дозволяє надсилати кілька сегментів поспіль, не чекаючи підтвердження кожного, при цьому не перевантажуючи отримувача.

Просто і доступно: ковзне вікно - це обмеження на те, скільки даних можна надіслати «вперед», не дочекавшись ACK.


Навіщо потрібне sliding window

Без вікна TCP працював би так:

  • надіслав сегмент
  • почекав підтвердження
  • надіслав наступний

Це було б дуже повільно.

Sliding window дозволяє:

  • передавати дані потоком
  • ефективно використовувати пропускну здатність мережі

Як працює sliding window

1. Отримувач оголошує розмір вікна

Отримувач у кожному ACK повідомляє:

  • Window Size - скільки байтів він готовий прийняти

Це захист отримувача від перевантаження.


2. Відправник може надіслати дані в межах вікна

Відправник:

  • може надіслати кілька сегментів
  • поки їхній сумарний розмір не перевищує розмір вікна

Підтвердження кожного сегмента не обов'язкове одразу.


3. Вікно «ковзає»

Коли отримувач:

  • підтверджує отримання частини даних

вікно:

  • зсувається вперед
  • звільняючи місце для нових даних

Звідси й назва - sliding window.


Приклад для розуміння

  • Розмір вікна: 10 байт
  • Відправник може надіслати байти 1-10
  • Отримувач підтверджує байти 1-5
  • Вікно зсувається → тепер можна надіслати 11-15

Передача триває без зупинок.


Що саме контролює sliding window

Важливо. Sliding window в TCP відповідає за:

  • керування потоком (flow control)
  • не за маршрутизацію
  • не за виправлення помилок напряму

Втрати обробляються окремо - через:

  • ACK
  • тайм-аути
  • повторні передачі

Зв'язок з перевантаженням мережі

У TCP є два обмеження:

  1. Вікно отримувача (receiver window)
  • скільки може прийняти отримувач
  1. Вікно перевантаження (congestion window)
  • скільки дозволяє мережа

Фактично відправник використовує:

мінімум із цих двох значень


Чому це важливо для застосунків

Sliding window:

  • підвищує швидкість передачі
  • робить TCP масштабованим
  • дозволяє працювати однаково добре:
    • і в локальній мережі
    • і через Інтернет

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.