- Selective Repeat ARQ
Selective Repeat ARQ is a specific instance of the Automatic Repeat-reQuest (ARQ) Protocol. It may be utilized as a protocol for the delivery and acknowledgement of message units, or it may be utilized as a protocol for the delivery of subdivided message sub-units.
When used as the protocol for the delivery of messages, the sending process continues to send a number of frames specified by a "window size" even after a frame loss. Unlike
Go-Back-N ARQ , the receiving process will continue to accept and acknowledge frames sent after an initial error.The receiver process keeps track of the sequence number of the earliest frame it has not received, and sends that number with every ACK it sends. If a frame from the sender does not reach the receiver, the sender continues to send subsequent frames until it has emptied its "window". The receiver continues to fill its receiving window with the subsequent frames, replying each time with an ACK containing the sequence number of the earliest missing frame. Once the sender has sent all the frames in its "window", it re-sends the frame number given by the ACKs, and then continues where it left off.
The size of the sending and receiving windows must be equal, and half the maximum sequence number (assuming that sequence numbers are numbered from 0 to n-1) to avoid miscommunication in all cases of packets being dropped. To understand this, consider the case when all ACKs are destroyed. If the receiving window is larger than half the maximum sequence number, some, possibly even all, of the packages that are resent after timeouts are duplicates that are not recognized as such. The sender moves its window for every packet that is acknowledged. [Tanenbaum, Andrew S., "Computer Networks 4th ed.", ISBN 0-13-066102-3, Prentice Hall, 2002]
When used as the protocol for the delivery of subdivided messages it works somewhat differently. In non-continuous channels where messages may be variable in length, standard ARQ or Hybrid ARQ protocols may treat the message as a single unit. Alternately selective retransmission may be employed in conjunction with the basic ARQ mechanism where the message is first subdivided into sub-blocks (typically of fixed length). The original variable length message is thus represented as a concatenation of a variable number of sub-blocks. While in standard ARQ the message as a whole is either acknowledged (ACKed) or negatively acknowledged (NAKed), in ARQ with selective transmission the NAKed response would additionally carry a bit flag indicating the identity of each sub-block successfully received. In ARQ with selective retransmission of sub-divided messages each retransmission diminishes in length, needing to only contain the sub-blocks that were NAKed.
In most channel models with variable length messages, the probability of error-free reception diminishes in inverse proportion with increasing message length. In other words it's easier to receive a short message than a longer message. Therefore standard ARQ techniques involving variable length messages have increased difficulty delivering longer messages, as each repeat is the full length. Selective retransmission applied to variable length messages completely eliminates the difficulty in delivering longer messages, as successfully delivered sub-blocks are retained after each transmission, and the number of outstanding sub-blocks in following transmissions diminishes.
References
* Tanenbaum, Andrew S., "Computer Networks 4th ed.", ISBN 0-13-066102-3, Prentice Hall, 2002
* R.A.Comroe and D.J.Costello. "ARQ schemes for data transmission in mobile radio systems". IEEE J. Select. Areas Commun., 2:472-481, July 1984.Notes
External links
* [http://www.macs.hw.ac.uk/~pjbk/nets/protocolsimulations/selectiverepeat.html Selective Repeat ARQ java demo]
* [http://media.pearsoncmg.com/aw/aw_kurose_network_3/applets/SelectRepeat/SR.html Selective Repeat ARQ demonstration in Java applet]
Wikimedia Foundation. 2010.