Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Як TCP виявляє втрату сегментів?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**TCP виявляє втрату сегментів двома основними способами**: за **тайм-аутом** і за **повторюваними підтвердженнями (duplicate ACK)**. **Ключове:** якщо підтвердження не прийшло вчасно або отримувач кілька разів повідомляє про той самий байт - TCP вважає сегмент втраченим.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**TCP виявляє втрату сегментів двома основними способами**: 1. за **тайм-аутом**, 2. за **повторюваними підтвердженнями (duplicate ACK)**. Простіше: **якщо підтвердження не прийшло вчасно або отримувач кілька разів повідомляє про той самий байт - TCP вважає сегмент втраченим**. --- ## Спосіб 1. Тайм-аут (Retransmission Timeout, RTO) ### Як це працює - TCP надсилає сегмент і **запускає таймер** - якщо **ACK не прийшов за очікуваний час**: - сегмент вважається втраченим - TCP **надсилає його повторно** ### Особливості - спрацьовує **завжди**, навіть якщо мережа «мовчить» - більш **повільний**, тому що потрібно чекати тайм-аут - надійний як «остання лінія захисту» --- ## Спосіб 2. Повторювані ACK (Duplicate ACK → Fast Retransmit) ### Як це працює - TCP очікує дані **по порядку** - якщо отримувач отримав сегменти **після пропуску**, він: - **кілька разів підтверджує той самий номер ACK** - коли відправник отримує **3 однакових ACK поспіль**: - робить висновок, що сегмент **між ними втрачено** - **одразу** переотправляє його (без очікування тайм-ауту) ### Чому це швидко - не потрібно чекати закінчення таймера - втрата виявляється **за поведінкою отримувача** - значно прискорює відновлення передачі --- ## Наочний приклад 1. Надіслано сегменти: `1, 2, 3, 4` 2. Сегмент `2` загубився 3. Отримувач отримав `3` і `4`, але чекає `2` 4. Він надсилає **ACK = 2** кілька разів 5. Відправник бачить **3 однакових ACK** 6. Робить **Fast Retransmit** сегмента `2` --- ## Що важливо пам'ятати - TCP **не отримує явного повідомлення «пакет втрачено»** - він **робить висновки опосередковано**: - за часом - за повторюваними ACK - після втрати TCP: - зменшує швидкість передачі - намагається не перевантажувати мережу --- ## Коротко для співбесіди > **TCP виявляє втрату сегментів за тайм-аутом відсутності підтвердження і за повторюваними ACK (механізм Fast Retransmit), що дозволяє вчасно переотправляти втрачені дані.**Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.