Alternating bit protocol

From Wikipedia, the free encyclopedia

Alternating bit protocol (ABP) is a simple network protocol operating at the data link layer (OSI layer 2)[citation needed] that retransmits lost or corrupted messages using FIFO semantics. It can be seen as a special case of a sliding window protocol where a simple timer restricts the order of messages to ensure receivers send messages in turn while using a window of 1 bit.[1]


Messages are sent from transmitter A to receiver B. Assume that the channel from A to B is initialized and that there are no messages in transit. Each message from A to B contains a data part and a one-bit sequence number, i.e., a value that is 0 or 1. B has two acknowledge codes that it can send to A: ACK0 and ACK1.

When A sends a message, it resends it continuously, with the same sequence number, until it receives an acknowledgment 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 that is not corrupted and has sequence number 0, it starts sending ACK0 and keeps doing so until it receives a valid message with number 1. Then it starts sending ACK1, etc.

This means that A may still receive ACK0 when it is already transmitting messages with sequence number one. (And vice versa.) It treats such messages as negative-acknowledge codes (NAKs). The simplest behaviour is to ignore them all and continue transmitting.

The protocol may be initialized by sending bogus messages and acks with sequence number 1. The first message with sequence number 0 is a real message.

Bounded Retransmission Protocol[edit]

Bounded Retransmission Protocol (BRP) is a variant of the alternating bit protocol introduced by Philips.[2] The service it delivers is to transfer in a reliable manner, if possible, large files (sequence of data of arbitrary length) from a sender to a receiver. Unlike ABP, BRP deals with sequence numbers of datum in the file and interrupts transfer after fixed number of retransmissions for a datum.[3]


Donald Davies' team at the National Physical Laboratory introduced the concept of an alternating bit protocol in 1968 for the NPL network.[4] An ABP was used by the ARPANET and by the European Informatics Network.[5][6][7]

See also[edit]


  1. ^ Tel, Gerard (2000). Introduction to distributed algorithms. Cambridge. p. 85. ISBN 0521794838.
  2. ^ Burnett, D.J.; Sethi, H.R. (1977). "Packet Switching at Philips Research Laboratories". Computer Networks. 1 (6): 341–348. doi:10.1016/0376-5075(77)90010-1. Archived from the original on October 20, 2013. Retrieved August 30, 2013.
  3. ^ "TreX's Examples -- Bounded Retransmission Protocol".
  4. ^ Cambell-Kelly, Martin (1987). "Data Communications at the National Physical Laboratory (1965-1975)". Annals of the History of Computing. 9 (3/4): 221–247. doi:10.1109/MAHC.1987.10023. S2CID 8172150.
  5. ^ Davies, Donald Watts (1979). Computer networks and their protocols. Internet Archive. Chichester, [Eng.] ; New York : Wiley. pp. 206.
  6. ^ "ARPANET is now 50 years old | Inria". Retrieved November 10, 2022.
  7. ^ Brügger, Niels; Goggin, Gerard (October 25, 2022). Oral Histories of the Internet and the Web. Taylor & Francis. ISBN 978-1-000-79781-7.