<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Alternating_bit_protocol</id>
	<title>Alternating bit protocol - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Alternating_bit_protocol"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Alternating_bit_protocol&amp;action=history"/>
	<updated>2026-04-23T20:33:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Alternating_bit_protocol&amp;diff=40424&amp;oldid=prev</id>
		<title>imported&gt;Kvng: foldoc attribution Template_talk:FOLDOC#It_doesn&#039;t_matter_whether_readers_care</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Alternating_bit_protocol&amp;diff=40424&amp;oldid=prev"/>
		<updated>2025-08-06T17:22:27Z</updated>

		<summary type="html">&lt;p&gt;foldoc attribution &lt;a href=&quot;/index.php?title=Template_talk:FOLDOC&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Template talk:FOLDOC (page does not exist)&quot;&gt;Template_talk:FOLDOC#It_doesn&amp;#039;t_matter_whether_readers_care&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Use American English|date = March 2019}}&lt;br /&gt;
{{Short description|Type of data link layer protocol about transmission fidelity}}&lt;br /&gt;
{{Use mdy dates|date = March 2019}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Alternating bit protocol&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;ABP&amp;#039;&amp;#039;&amp;#039;) is a simple [[network protocol]] operating at the [[data link layer]] ([[OSI model|OSI]] layer 2){{cn|reason=this looks more like a transport layer protocol|date=April 2023}} 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.&amp;lt;ref&amp;gt;{{cite book|last=Tel|first=Gerard|title=Introduction to distributed algorithms|year=2000|publisher=Cambridge|isbn=0521794838|pages=85}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
[[Message]]s are sent from [[transmitter]] A to [[Receiver (information theory)|receiver]] B. Assume that the [[Communication channel|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.&lt;br /&gt;
&lt;br /&gt;
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 [[Negation|complements]] (flips) the sequence number and starts transmitting the next message.&amp;lt;ref name=&amp;quot;foldoc&amp;quot;&amp;gt;{{foldoc|Alternating+bit+protocol}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Bounded Retransmission Protocol ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Bounded Retransmission Protocol&amp;#039;&amp;#039;&amp;#039; (BRP) is a variant of the alternating bit protocol introduced by [[Philips]].&amp;lt;ref&amp;gt;{{cite journal |last=Burnett |first=D.J. |author2=Sethi, H.R. |year=1977 |title=Packet Switching at Philips Research Laboratories |url=http://rogerdmoore.ca/PS/NPLPh/PhilipsA.html |url-status=dead |journal=Computer Networks |volume=1 |issue=6 |pages=341–348 |doi=10.1016/0376-5075(77)90010-1 |archive-url=https://web.archive.org/web/20131020142510/http://rogerdmoore.ca/PS/NPLPh/PhilipsA.html |archive-date=2013-10-20 |access-date=2013-08-30|url-access=subscription }}&amp;lt;/ref&amp;gt; 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.&amp;lt;ref&amp;gt;{{cite web|url=https://www.irif.fr/~sighirea//trex/demos/brp.html|title=TreX&amp;#039;s Examples -- Bounded Retransmission Protocol|website=www.irif.fr}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
[[Donald Davies|Donald Davies&amp;#039;]] team at the [[National Physical Laboratory (United Kingdom)|National Physical Laboratory]] introduced the concept of an alternating bit protocol in 1968 for the [[NPL network]].&amp;lt;ref name=&amp;quot;:3&amp;quot;&amp;gt;{{Cite journal |last=Cambell-Kelly |first=Martin |date=1987 |title=Data Communications at the National Physical Laboratory (1965-1975) |url=https://archive.org/details/DataCommunicationsAtTheNationalPhysicalLaboratory |journal=Annals of the History of Computing |language=en |volume=9 |issue=3/4 |pages=221–247 |doi=10.1109/MAHC.1987.10023 |s2cid=8172150}}&amp;lt;/ref&amp;gt; An ABP was used by the [[ARPANET]] and by the [[European Informatics Network]].&amp;lt;ref&amp;gt;{{Cite book|last=Davies|first=Donald Watts|url=https://archive.org/details/computernetworks00davi|title=Computer networks and their protocols|date=1979|publisher=Chichester, [Eng.] ; New York : Wiley|others=Internet Archive|pages=[https://archive.org/details/computernetworks00davi/page/206 206]|url-access=registration}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=ARPANET is now 50 years old {{!}} Inria |url=https://www.inria.fr/en/arpanet-now-50-years-old |access-date=2022-11-10 |website=www.inria.fr |language=en}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite book |last1=Brügger |first1=Niels |url=https://books.google.com/books?id=kqyJEAAAQBAJ&amp;amp;dq=gerard+le+lann+%22sliding+window%22+scheme&amp;amp;pg=PT82 |title=Oral Histories of the Internet and the Web |last2=Goggin |first2=Gerard |date=2022-10-25 |publisher=Taylor &amp;amp; Francis |isbn=978-1-000-79781-7 |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Acknowledge character]]&lt;br /&gt;
* [[Information theory]]&lt;br /&gt;
* [[Negative-acknowledge character]]&lt;br /&gt;
* [[Stop-and-wait ARQ]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Alternating Bit Protocol}}&lt;br /&gt;
[[Category:Network protocols]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Kvng</name></author>
	</entry>
</feed>