Jump to content

Alternating bit protocol

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ellmist (talk | contribs) at 20:45, 4 July 2002 (new). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Alternating bit protocol (ABP) means 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.

See also:

This article (or an earlier version of it) contains material from FOLDOC, used with permission. Modify if needed.