Повторна передача пакету () — це повторне надсилання пакетів, які були пошкоджені або втрачені. Повторна передача є одним з основних механізмів, що використовуються протоколами, які працюють у мережах із комутацією пакетів, для забезпечення надійного зв'язку (наприклад, такого, що забезпечується , як у випадку з TCP).

Такі мережі зазвичай є «ненадійними», тобто не надають жодних гарантій щодо того, що вони не затримуватимуть, не пошкоджуватимуть або не втрачатимуть пакети, а також не доставлятимуть їх у неправильному порядку. Протоколи, які забезпечують надійний зв'язок поверх таких мереж, використовують поєднання підтвердження отримання (тобто явного підтвердження від одержувача про отримання даних), повторної передачі втрачених або пошкоджених пакетів (зазвичай ініційованої тайм-аутом) та контрольних сум для забезпечення цієї надійності.

Підтвердження отримання

Існує кілька форм підтвердження, які можуть використовуватися окремо або разом у мережевих протоколах:

Позитивне підтвердження (): одержувач явно повідомляє відправника, які пакети, повідомлення або сегменти були отримані правильно. Таким чином, позитивне підтвердження також неявно інформує відправника про те, які пакети не були отримані, і надає відомості про пакети, які потрібно передати повторно.

Негативне підтвердження (, NACK): одержувач явно повідомляє відправника, які пакети, повідомлення або сегменти були отримані з помилками і тому можуть потребувати повторної передачі (RFC 4077).

Вибіркове підтвердження (, SACK): одержувач явно перелічує, які пакети, повідомлення або сегменти в потоці підтверджуються (позитивно або негативно). Позитивне вибіркове підтвердження є опцією в TCP (RFC 2018), що особливо корисна в системах супутникового Інтернету (RFC 2488).

Накопичувальне підтвердження (): одержувач підтверджує правильне отримання пакета, повідомлення або сегмента в потоці, що неявно інформує відправника про правильне отримання всіх попередніх пакетів. TCP використовує накопичувальне підтвердження разом зі своїм механізмом .

Повторна передача Щоразу, коли одна сторона надсилає щось іншій стороні, вона зберігає копію переданих даних доти, доки одержувач не підтвердить їх отримання. За різних обставин відправник автоматично повторно передає дані, використовуючи збережену копію. Причинами для повторного надсилання можуть бути:

якщо таке підтвердження не надходить протягом розумного проміжку часу — спрацьовує тайм-аут; відправник виявляє, часто за допомогою певних позасмугових засобів, що передача була невдалою; одержувач знає, що очікувані дані не надійшли, і повідомляє про це відправника; одержувач знає, що дані надійшли, але в пошкодженому стані, і повідомляє про це відправника.

Див. також Автоматичний запит повторної передачі ( (ARQ)) Виявлення та виправлення помилок Експоненційне відтермінування QSL-картка

Примітки