ARQ Simulator

Go directly to the simulator
Java Runtime Environment is required (JRE 1.5 or higher)
Simulator coded by Akif Burak Tosun, Mehmet Fatih Isik, Mustafa Alagoz, Sinan Keskin, Ahmet Bugday, Tuba Demir as part of their ELE412 coursework.

Background

ARQ mechanisms detect and correct errors that occur in the transmission of frames. The aim of ARQ is to turn an unreliable conceptual point-to-point data link into a reliable one. Three standard ARQ methods are Consider a full-duplex (can be half-duplex for stop-and-wait method) point-to-point link. Machine A is sending a sequence of data frames to machine B. In general, the utilization of the link improves if the propagation time of a frame is relatively small in comparison with the transmission time of a frame. Let a denote the ratio

a = \frac{\text{propagation time}}{\text{transmission time}}

The following assumptions are made in order to derive the utilization of the link:

Stop-and-wait ARQ

Machine A sends a data frame and waits for ACK before sending the next frame. If it receives a NACK, machine A retransmits the frame. The utilization is [1]

U_{stop-and-wait} = \frac{1}{1+2a}(1-P)

Go-back-N ARQ

Machine A can send N consequtive data frames without receiving an ACK. If it receives a NACK, machine A retransmits the frame in error, and all the frames that follow it. Note that for N=1, this method boils down to stop-and-wait ARQ. Assuming that there are no errors in the retransmitted frames other than the frame initially in error, the utilization is [1]

U_{go-back-N} = 
\begin{cases}
\frac{1-P}{1+2aP}, & \text{if } N\geq 1+2a \\
& \\
\frac{N(1-P)}{(1+2a)(1-P+NP)}, & \text{if } N < 1+2a\\
\end{cases}

Selective Reject ARQ

Machine A can send N consequtive data frames without receiving an ACK. If it receives a NACK, machine A retransmits only the frame in error Note that for N=1, this method boils down to stop-and-wait ARQ. The utilization is

U_{selective-reject} = 
\begin{cases}
1-P, & \text{if } N\geq 1+2a \\
& \\
\frac{N(1-P)}{1+2a}, & \text{if } N < 1+2a \\
\end{cases}

References

[1] W. Stallings, Data And Computer Communications, Seventh Edition. Prentice Hall, Upper Saddle River, NJ, 2004.


Emre Aktas, October 2006.