Automatic Repeat Request (ARQ)
ARQ has much higher latency than FEC.
There are three types of ARQ protocols:
- Stop-and-wait ARQ
- Go-Back-N ARQ
- Selective Repeat ARQ
Stop-And-Wait ARQ Stop-And-Wait is a simple idea. Send the data (one frame), and wait until ACK (acknowledgement) before you send another frame.
In Stop-And-Wait ARQ, you run a timer. You give the receiver X amount of time to give you ACK. If timeout expires, you just retransmit. There is one problem with the timeout that you need to be careful, it is if you make the timeout too soon.
Go-Back-N ARQ Based on the idea of Sliding Window Protocol. So we send a certain window, and if we don’t receive, we retransmit all the frames starting from the one that wasn’t acknowledged.
Selective Repeat ARQ Only the lost frames are retransmitted, while correct frames are received and buffered. It is the most efficient.