Automatic Repeat reQuest
• Automatic Repeat reQuest (ARQ)
• A Protocol to control error on unreliable
data transmission lines
• Uses timeouts & ACKs (or NAKs) for each
data packet
• In case timeout expires before sender
receives an ACK from the receiver, sender
resends the packet
• Receiver will not send an ACK if
– Data packet is lost in transmission
– An error in the packet is detected
• Three Types of ARQ
ACKs are messages
sent by a receiver
to acknowledge
that it has
correctly received
a data packet.
Negative ACKs or
NAKs are their
counterpart.
When Data is to be
transmitted it is
broken down into
like data structures
also called data
packets. They are
reassembled at
destination.
CRC stands for
cyclic redundancy
code and is an
error-detecting
code attached here
with both the
packet and the
ACK
The header is
required as a
sequence number.
When an ACK is
transmitted, it tells
the sender to
which data packet
is next in sequencePacket
Sequence
Information frames
Control frames
Error-free
Packet
Sequence
CRC
Information
packet
Header
CRCHeader
Transmitter Receiver
0 11
Stop-And-Wait ARQ
• In this method the transmitter and receiver work on
delivering one frame at a time through an alteration of
actions.
Here B receives
error free F4, but
its ACK is lost in
transmission. After
timeout, A resends
F4, B recognizes it
has received a
double, deletes
one and resends
the ACK for F4
F0 process was
successful. F1 is
sent. There is an
error so B sends no
ACK. After
Timeout, A resends
F1. This time ACK
is received so A
sends F2.
TimeA
B
F0
ACK1
F1 F1 F2
ACK2 ACK3
TimeA
B
F3
ACK4
F4 F4 F5
ACK5 ACK6ACK5
Timeout
Timeout
error
Go-Back-N ARQ
• Here, the transmitter continues sending frames unlike
‘stopping and waiting’ for the ACK to arrive and then
proceed. Thus the transmission line is kept busy and
more data is transferred if line remains reliable
• Called a sliding window protocol as with each arriving
error free frame the receive window slides forward.
When the number
of outstanding
frames crosses N
(Here N=3) the
sender is forced to
‘go back N’ frames.
Thus here it will
retransmit frames
from F2 onwards.
A sends F0.
Without waiting
for an ACK, it sends
F1 and then F2. F2
encounters an
error. B sends no
ACK and then
continues to
ignore later frames
TimeA
B
F0
ACK1
F1 F2 F3 F4 F2 F3 F4 F5
ACK2
ACK3
ACK4
Three Frames Outstanding;
Go Back 3
Out-of-sequence
frames
error
Compare and Contrast
Stop-and-Wait ARQ
• Error causes loss of
transmission time equal to
timeout period.
• Utilization and thus transfer
speed is low even with no
error as sender waits for
ACK before sending new F.
Go-Back-N ARQ
• Error causes loss in
transmission time equal to
N frames.
• When no error occurs,
utilization is nearly 100%.
Transfer speeds are thus
high on relatively reliable
connections.
Selective Repeat ARQ
• Unlike Go-Back-N, here a NAK is sent by the receiver if
sees a skipped frame due to error. Subsequent frames
are not ignored and the sender selectively repeats
transmission of only the frame that encountered error.
B continues to
receive
subsequent frames
but it sends an ACK
for 2 until F2
arrives. It then
sends an ACK for
the next frame.
Here it is for F6.
A sends F0.
Without waiting
for an ACK, it sends
F1 and then F2. F2
encounters an
error. B sends a
NAK for F2 when it
receives F3. F3 is
saved at B
TimeA
B
F0
ACK1
F1 F2 F2 F6 F7
ACK2
ACK6
error
F3 F4 F5
ACK2
NAK2
ACK2
Compare and Contrast
Go-Back-N ARQ
• Error causes loss in
transmission time equal to
N frames.
• When no error occurs,
utilization is nearly 100%.
Transfer speeds are thus
high on relatively reliable
connections.
Selective Repeat ARQ
• Error causes loss in
transmission time equal to
the time taken to begin
transmitting a frame.
• When no error occurs,
utilization is nearly 100%.
Transfer speeds are thus
high.
Automatic Repeat reQuest
Advantages
• Provides a high throughput
in good signal conditions.
• Asking the sender to to
send packets again instead
of correcting them results in
high data reliability.
Disadvantages
• Requires a reverse channel
for transmission of
ACKs/NAKs
• Poor signal conditions result
in low transfer speeds as
errors will cause delay
variations due to
retransmitted data.

Advance Repeat reQuest (ARQ)

  • 2.
  • 3.
    • Automatic RepeatreQuest (ARQ) • A Protocol to control error on unreliable data transmission lines • Uses timeouts & ACKs (or NAKs) for each data packet • In case timeout expires before sender receives an ACK from the receiver, sender resends the packet • Receiver will not send an ACK if – Data packet is lost in transmission – An error in the packet is detected • Three Types of ARQ ACKs are messages sent by a receiver to acknowledge that it has correctly received a data packet. Negative ACKs or NAKs are their counterpart. When Data is to be transmitted it is broken down into like data structures also called data packets. They are reassembled at destination.
  • 4.
    CRC stands for cyclicredundancy code and is an error-detecting code attached here with both the packet and the ACK The header is required as a sequence number. When an ACK is transmitted, it tells the sender to which data packet is next in sequencePacket Sequence Information frames Control frames Error-free Packet Sequence CRC Information packet Header CRCHeader Transmitter Receiver 0 11
  • 5.
  • 6.
    • In thismethod the transmitter and receiver work on delivering one frame at a time through an alteration of actions. Here B receives error free F4, but its ACK is lost in transmission. After timeout, A resends F4, B recognizes it has received a double, deletes one and resends the ACK for F4 F0 process was successful. F1 is sent. There is an error so B sends no ACK. After Timeout, A resends F1. This time ACK is received so A sends F2. TimeA B F0 ACK1 F1 F1 F2 ACK2 ACK3 TimeA B F3 ACK4 F4 F4 F5 ACK5 ACK6ACK5 Timeout Timeout error
  • 7.
  • 8.
    • Here, thetransmitter continues sending frames unlike ‘stopping and waiting’ for the ACK to arrive and then proceed. Thus the transmission line is kept busy and more data is transferred if line remains reliable • Called a sliding window protocol as with each arriving error free frame the receive window slides forward. When the number of outstanding frames crosses N (Here N=3) the sender is forced to ‘go back N’ frames. Thus here it will retransmit frames from F2 onwards. A sends F0. Without waiting for an ACK, it sends F1 and then F2. F2 encounters an error. B sends no ACK and then continues to ignore later frames TimeA B F0 ACK1 F1 F2 F3 F4 F2 F3 F4 F5 ACK2 ACK3 ACK4 Three Frames Outstanding; Go Back 3 Out-of-sequence frames error
  • 9.
    Compare and Contrast Stop-and-WaitARQ • Error causes loss of transmission time equal to timeout period. • Utilization and thus transfer speed is low even with no error as sender waits for ACK before sending new F. Go-Back-N ARQ • Error causes loss in transmission time equal to N frames. • When no error occurs, utilization is nearly 100%. Transfer speeds are thus high on relatively reliable connections.
  • 10.
  • 11.
    • Unlike Go-Back-N,here a NAK is sent by the receiver if sees a skipped frame due to error. Subsequent frames are not ignored and the sender selectively repeats transmission of only the frame that encountered error. B continues to receive subsequent frames but it sends an ACK for 2 until F2 arrives. It then sends an ACK for the next frame. Here it is for F6. A sends F0. Without waiting for an ACK, it sends F1 and then F2. F2 encounters an error. B sends a NAK for F2 when it receives F3. F3 is saved at B TimeA B F0 ACK1 F1 F2 F2 F6 F7 ACK2 ACK6 error F3 F4 F5 ACK2 NAK2 ACK2
  • 12.
    Compare and Contrast Go-Back-NARQ • Error causes loss in transmission time equal to N frames. • When no error occurs, utilization is nearly 100%. Transfer speeds are thus high on relatively reliable connections. Selective Repeat ARQ • Error causes loss in transmission time equal to the time taken to begin transmitting a frame. • When no error occurs, utilization is nearly 100%. Transfer speeds are thus high.
  • 13.
    Automatic Repeat reQuest Advantages •Provides a high throughput in good signal conditions. • Asking the sender to to send packets again instead of correcting them results in high data reliability. Disadvantages • Requires a reverse channel for transmission of ACKs/NAKs • Poor signal conditions result in low transfer speeds as errors will cause delay variations due to retransmitted data.