Что означают timeout и retransmit в сетевом взаимодействии
Краткий ответ
Timeout — это ограниченный интервал ожидания ответа, после которого система предпринимает корректирующие действия. Retransmit — повторная отправка данных, если подтверждение не получено в пределах таймаута.
Развёрнуто
Краткий ответ
Timeout — это заранее установленное время ожидания отклика от другого узла или компонента. Если за это время ответ не поступил, запускается процедура обработки ошибки или повторной отправки (retransmit). Retransmit — это механизм повторной передачи данных для обеспечения их доставки при потере или отсутствии подтверждения.
Как это работает
В сетевых протоколах, например в TCP, timeout задаёт максимальный интервал, в течение которого отправитель ждёт подтверждение получения данных (ACK). Если подтверждение не приходит, происходит retransmit — повторная отправка тех же данных для гарантии доставки.
- Timeout предотвращает бесконечное ожидание ответа.
- Retransmit повышает надёжность передачи, компенсируя потери пакетов.
| Понятие | Описание |
|---|---|
| Timeout | Время ожидания ответа перед признанием ошибки |
| Retransmit | Повторная отправка данных при отсутствии ответа |
Пример
Отправитель посылает пакет с данными и запускает таймер таймаута.
Если в течение 3 секунд не приходит подтверждение (ACK),
происходит retransmit — повторная отправка того же пакета.
Что важно знать на собеседовании
- Timeout помогает системе не зависать в ожидании ответа.
- Retransmit необходим для обеспечения надёжности и целостности данных.
- Параметры timeout настраиваются в зависимости от условий сети.
- В протоколах с подтверждениями (например, TCP) retransmit — ключевой механизм.
- Неправильные настройки timeout могут привести к лишним повторным передачам или задержкам.
Тема: Сети и протоколы | Уровень: junior