Протокол скользящего окна
-
Основы протокола скользящего окна
- Протокол скользящего окна используется для передачи данных по ненадежным каналам связи.
- Он основан на принципе «скользящего окна», где передатчик и приемник имеют фиксированные размеры окна для передачи и приема данных.
- Передатчик отправляет пакеты с порядковыми номерами, которые должны быть подтверждены приемником.
-
Работа передатчика
- Передатчик отправляет пакеты, начиная с номера 0, и увеличивает порядковый номер на единицу при каждом успешном приеме.
- Если пакет не принимается, он повторно отправляется с порядковым номером, увеличенным на единицу.
- Передатчик ожидает подтверждения для каждого пакета, отправленного в окно приема.
-
Работа приемника
- Приемник проверяет, находится ли полученный пакет в окне приема, и увеличивает порядковый номер при получении.
- Если порядковый номер пакета выходит за пределы окна приема, он отбрасывается.
- Приемник передает подтверждение с текущим порядковым номером, который может содержать дополнительную информацию о полученных пакетах.
-
Требования к порядковым номерам
- Порядковые номера могут быть ограничены конечным числом N, чтобы избежать двусмысленности при передаче данных.
- N должно быть достаточно большим, чтобы гарантировать однозначное декодирование порядковых номеров.
- Приемник может использовать порядковые номера для различения новых и повторных пакетов.
-
Примеры протоколов
- Протокол stop-and-wait является простейшей реализацией скользящего окна.
- Go-Back-N — это протокол с фиксированным окном приема и возможностью выборочного повтора.
- HDLC — это популярный протокол с выборочным повтором и поддержкой различных порядковых номеров.
-
Расширения протокола
- Протокол может быть расширен для поддержки переупорядочивания пакетов и обнаружения ошибок.
- Существуют упрощенные версии протокола, такие как SREJ-REJ ARQ, которые обеспечивают большую часть преимуществ при более простой реализации.
Полный текст статьи: