Протокол чередующихся битов ( ABP ) — это простой сетевой протокол , работающий на уровне канала передачи данных ( уровень OSI 2) [ требуется ссылка ] , который повторно передает потерянные или поврежденные сообщения с использованием семантики FIFO. Его можно рассматривать как особый случай протокола скользящего окна , где простой таймер ограничивает порядок сообщений, чтобы гарантировать, что получатели отправляют сообщения по очереди, используя окно в 1 бит. [1]
Сообщения отправляются от передатчика A к приемнику B. Предположим, что канал от A к B инициализирован и нет сообщений в пути. Каждое сообщение от A к B содержит часть данных и однобитный порядковый номер, т. е. значение, равное 0 или 1. B имеет два кода подтверждения, которые он может отправить A: ACK0 и ACK1.
Когда A отправляет сообщение, он постоянно пересылает его с тем же порядковым номером, пока не получит подтверждение от B, содержащее тот же порядковый номер. Когда это происходит, A дополняет (переворачивает) порядковый номер и начинает передавать следующее сообщение.
Когда B получает сообщение, которое не повреждено и имеет порядковый номер 0, он начинает отправлять ACK0 и продолжает делать это до тех пор, пока не получит действительное сообщение с номером 1. Затем он начинает отправлять ACK1 и т. д.
Это означает, что A может по-прежнему получать ACK0, когда он уже передает сообщения с порядковым номером один. (И наоборот.) Он обрабатывает такие сообщения как коды отрицательного подтверждения (NAK). Самое простое поведение — игнорировать их все и продолжать передачу.
Протокол может быть инициализирован путем отправки поддельных сообщений и подтверждений с порядковым номером 1. Первое сообщение с порядковым номером 0 является настоящим сообщением.
Протокол ограниченной повторной передачи (BRP) — это вариант протокола чередующихся битов, представленный Philips . [2] Предоставляемая им услуга заключается в надежной передаче, если это возможно, больших файлов (последовательности данных произвольной длины) от отправителя к получателю. В отличие от ABP, BRP имеет дело с порядковыми номерами данных в файле и прерывает передачу после фиксированного числа повторных передач для данных. [3]
Команда Дональда Дэвиса в Национальной физической лаборатории представила концепцию протокола чередующихся битов в 1968 году для сети NPL . [4] Протокол ABP использовался в ARPANET и Европейской информационной сети . [5] [6] [7]