ArticleslgStudy

science

Selective Repeat ARQ

Selective Repeat ARQ is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Selective Repeat ARQ rather than just read about it. In short: Selective Repeat ARQ or Selective Reject ARQ is a specific instance of the automatic repeat request (ARQ) protocol used to manage sequence numbers and retransmissions in reliable communications. Summary Selective Repeat is part of the automatic repeat request (ARQ).

Key takeaways

  • Selective Repeat ARQ belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Selective Repeat ARQ to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Selective Repeat ARQ from memory before moving on to harder problems.

Reference excerpt

Selective Repeat ARQ or Selective Reject ARQ is a specific instance of the automatic repeat request (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. 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 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; 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. 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.

Pseudocode These examples assume an infinite number of sequence and request numbers.

N := window size Rn := request number Sn := sequence number Sb := sequence base Sm := sequence max buffer[] := buffer to store out-of-order packets

function receiver is Rn := 0 buffer := empty Do the following forever: if the packet received is error-free and Sn = Rn then Accept the packet and send it to a higher layer Rn := Rn + 1

while buffer[Rn] exists do Accept the packet from the buffer and send it to a higher layer Remove packet Rn from the buffer Rn := Rn + 1 else if the packet received is error-free and Sn > Rn then Buffer the packet at position Sn else Ignore packet Send a Request for Rn

function sender is Sb := 0 Sm := N + 1 buffer := empty

Repeat the following steps forever: if you receive a request number where Rn > Sb then Sm := (Sm − Sb) + Rn Sb := Rn

Remove packets with Sn < Rn from the buffer

if no packet is in transmission then Transmit a packet where Sb ≤ Sn < Sm Store the transmitted packet in the buffer

for each packet Sn in buffer do if packet Sn timeout occurred then Retransmit packet Sn

Choosing a window size (N) There are a few things to keep in mind when choosing a value for N in Selective Repeat ARQ:

The sender must not transmit faster than the receiver can handle. N should be bounded by the receiver’s capacity to process and buffer out-of-order packets. N must be less than half the total number of sequence numbers (if they are numbered from zero to the maximum value of the sequence number space) to avoid ambiguity in detecting duplicate packets and dropped acknowledgments. Considering the constraints in (1) and (2), choose N to be as large as possible to maximize throughput.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Selective Repeat ARQ

Start with the simplest possible case. Write down what Selective Repeat ARQ claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Selective Repeat ARQ before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Selective Repeat ARQ ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Selective Repeat ARQ

In research
Selective Repeat ARQ appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Selective Repeat ARQ in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Selective Repeat ARQ is common in secondary-school and first-year university syllabi. It links to neighbouring topics Error detection and correction, Logical link control, so understanding it makes those chapters shorter.
In everyday life
Look for Selective Repeat ARQ outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Selective Repeat ARQ” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Selective Repeat ARQ in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Selective Repeat ARQ means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Selective Repeat ARQ out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Selective Repeat ARQ in simple terms?

Selective Repeat ARQ or Selective Reject ARQ is a specific instance of the automatic repeat request (ARQ) protocol used to manage sequence numbers and retransmissions in reliable communications. Summary Selective Repeat is part of the automatic repeat request (ARQ).

Why does Selective Repeat ARQ matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Selective Repeat ARQ?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Selective Repeat ARQ.

Tags

  • Error detection and correction
  • Logical link control

Keep exploring