Alternating bit protocol
<networking> (ABP) A simple data link layer protocol that retransmits
lost or corrupted messages.
Messages are sent from transmitter A to receiver B. Assume that the channel from
A to B is initialised and that there are no messages in transit. Each message
contains a data part, a checksum, and a one-bit sequence number, i.e. a value
that is 0 or 1.
When A sends a message, it sends it continuously, with the same sequence number,
until it receives an acknowledgment (ACK) from B that contains the same sequence
number. When that happens, A complements (flips) the sequence number and starts
transmitting the next message.
When B receives a message from A, it checks the checksum. If the message is not
corrupted B sends back an ACK with the same sequence number. If it is the first
message with that sequence number then it is sent for processing. Subsequent
messages with the same sequence bit are simply acknowledged. If the message is
corrupted B sends back an negative/error acknowledgment (NAK). This is optional,
as A will continue transmitting until it receives the correct ACK.
A treats corrupted ACK messages, and NAK messages in the same way. The simplest
behaviour is to ignore them all and continue transmitting.
Altair 8800 « Alta Vista « alt bit « Alternating
bit protocol » altmode » ALTRAN » alt.sources