Selective Repeat ARQ/Selective Reject ARQ is a specific instance of the
automatic repeat request
Automatic repeat request (ARQ), also known as automatic repeat query, is an error-control method for data transmission that uses acknowledgements (messages sent by the receiver indicating that it has correctly received a packet) and timeout ...
(ARQ) protocol used to manage sequence numbers and retransmissions in
reliable communications.
Summary
Selective Repeat is part of the automatic repeat request (ARQ). With selective repeat, the sender sends a number of frames specified by a window size even without the need to wait for individual ACK from the receiver as in
Go-Back-N ARQ
Go-Back-''N'' ARQ is a specific instance of the automatic repeat request (ARQ) protocol, in which the sending process continues to send a number of frames specified by a ''window size'' even without receiving an acknowledgement (ACK) packet fr ...
. The receiver may selectively reject a single frame, which may be retransmitted alone; this contrasts with other forms of ARQ, which must send every frame from that point again. The receiver accepts out-of-order frames and buffers them. The sender individually retransmits frames that have timed out.
Concept
It may be used as a protocol for the delivery and acknowledgement of message units, or it may be used 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
A frame is often a structural system that supports other components of a physical construction and/or steel frame that limits the construction's extent.
Frame and FRAME may also refer to:
Physical objects
In building construction
*Framing (co ...
specified by a ''window size'' even after a frame loss. Unlike
Go-Back-N ARQ
Go-Back-''N'' ARQ is a specific instance of the automatic repeat request (ARQ) protocol, in which the sending process continues to send a number of frames specified by a ''window size'' even without receiving an acknowledgement (ACK) packet fr ...
, the receiving process will continue to accept and
acknowledge frames sent after an initial error; this is the general case of the
sliding window protocol with both transmit and receive window sizes greater than 1.
The receiver process keeps track of the sequence number of the earliest frame it has not received, and sends that number with every
acknowledgement (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 packets that are present after timeouts are duplicates that are not recognized as such. The sender moves its window for every packet that is acknowledged.
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) in a process called
packet segmentation
In data communications networks, packet segmentation is the process of dividing a data packet into smaller units for transmission over the network. Packet segmentation happens at layer four of the OSI model; the transport layer. Segmentation m ...
. 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 ACK 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 linked.
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 re-transmission 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. Selective Repeat is implemented in UDP transmission.
Examples
The
Transmission Control Protocol
The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is common ...
uses a variant of
Go-Back-N ARQ
Go-Back-''N'' ARQ is a specific instance of the automatic repeat request (ARQ) protocol, in which the sending process continues to send a number of frames specified by a ''window size'' even without receiving an acknowledgement (ACK) packet fr ...
to ensure reliable transmission of data over the
Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
...
, which does not provide guaranteed delivery of packets; with Selective Acknowledgement (SACK) extension, it may also use Selective Repeat ARQ.
The
ITU-T
The ITU Telecommunication Standardization Sector (ITU-T) is one of the three sectors (divisions or units) of the International Telecommunication Union (ITU). It is responsible for coordinating standards for telecommunications and Information Commu ...
G.hn standard, which provides a way to create a high-speed (up to 1 Gigabit/s)
Local area network
A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, university campus or office building. By contrast, a wide area network (WAN) not only covers a larger ...
using existing home wiring (
power lines, phone lines and
coaxial cables), uses Selective Repeat ARQ to ensure reliable transmission over noisy media.
G.hn employs
packet segmentation
In data communications networks, packet segmentation is the process of dividing a data packet into smaller units for transmission over the network. Packet segmentation happens at layer four of the OSI model; the transport layer. Segmentation m ...
to sub-divide messages into smaller units, to increase the probability that each one is received correctly.
The
STANAG 5066
STANAG 5066 (Profile for High Frequency (HF) Radio Data Communication) is a NATO Standardization Agreement specification to enable applications to communicate efficiently over HF radio.
STANAG 5066 provides peer protocols that operate above an HF ...
PROFILE FOR HF RADIO DATA COMMUNICATIONS uses Selective Repeat ARQ, with a maximum window size of 128 protocol-data units (PDUs).
See also
*
Go-Back-N ARQ
Go-Back-''N'' ARQ is a specific instance of the automatic repeat request (ARQ) protocol, in which the sending process continues to send a number of frames specified by a ''window size'' even without receiving an acknowledgement (ACK) packet fr ...
*
Reliable Data Transfer
Reliable Data Transfer is a topic in computer networking concerning the transfer of data across unreliable channels. Unreliability is one of the drawbacks of packet switched networks such as the modern internet, as packet loss can occur for a v ...
*
Pipeline (software)
In software engineering, a pipeline consists of a chain of processing elements (processes, threads, coroutines, functions, ''etc.''), arranged so that the output of each element is the input of the next; the name is by analogy to a physical pip ...
*
Automatic repeat request
Automatic repeat request (ARQ), also known as automatic repeat query, is an error-control method for data transmission that uses acknowledgements (messages sent by the receiver indicating that it has correctly received a packet) and timeout ...
*
Computer networking
A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections ar ...
References
Further reading
*
*
*
{{DEFAULTSORT:Selective Repeat Arq
Logical link control
Error detection and correction
it:Selective repeat ARQ
ja:Selective Repeat ARQ