Utilization of ARQ methods and an animated ARQ simulator
ARQ Methods 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
Stop-and-wait ARQ
Go-back-N ARQ
Selective reject ARQ 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 src="Utilization of ARQ methods and an animated ARQ simulator.files/a.gif"
align=bottom> denote the ratio
alt="a = \frac{\text{propagation time}}{\text{transmission time}}"
src="Utilization of ARQ methods and an animated ARQ simulator.files/a_def.gif">
The following assumptions are made in order to derive the utilization of the
link:
Processing time at each machine is ignored.
The transmit times of the ackknowledgments are ignored.
A data frame is sent in error with probability src="Utilization of ARQ methods and an animated ARQ simulator.files/p_.gif"
align=bottom>, otherwise it is received correctly at machine B.
Frames sent in error are detected as erronuous frames at machine B.
Positive and negative acknowledgments are never in error.
Stop-and-wait ARQMachine 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 href="http://www.ee.hacettepe.edu.tr/~aktas/arq_simulator/#1">[1]
src="Utilization of ARQ methods and an animated ARQ simulator.files/u_stop_and_wait.gif">
Go-back-N ARQMachine A can send src="Utilization of ARQ methods and an animated ARQ simulator.files/n_.gif"
align=bottom> 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 src="Utilization of ARQ methods and an animated ARQ simulator.files/n_-1.gif"
align=bottom>, 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 href="http://www.ee.hacettepe.edu.tr/~aktas/arq_simulator/#1">[1]
alt="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}
"
src="Utilization of ARQ methods and an animated ARQ simulator.files/u_go_back_n.gif">
Selective Reject ARQMachine A can send src="Utilization of ARQ methods and an animated ARQ simulator.files/n_.gif"
align=bottom> consequtive data frames without receiving an ACK. If it receives a
NACK, machine A retransmits only the frame in error Note that for src="Utilization of ARQ methods and an animated ARQ simulator.files/n_-1.gif"
align=bottom>, this method boils down to stop-and-wait ARQ. The utilization is
alt="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}
"
src="Utilization of ARQ methods and an animated ARQ simulator.files/u_selective_reject.gif">
ARQ SimulatorClick href="http://www.ee.hacettepe.edu.tr/~aktas/arq_simulator/simulator/arq_simulator.html"
target=_blank>here for an animated simulation of the ARQ methods implemented
in JRE. (written by href="mailto:akifburak@gmail.com?subject=Comments on the ARQ simulator">Akif
Burak Tosun, Mehmet Fatih Isik, Mustafa Alagoz, Sinan Keskin, Ahmet Bugday,
Tuba Demir)
Requirements:
JRE 1.5 (Java Runtime Environment) :: href="http://jdl.sun.com/webapps/download/AutoDL?BundleId=10433"
target=_blank>Get JRE from here.
JRE supported browsers (i.e. Internet Explorer 6, Mozilla Firefox 1.5, etc.)
:: href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e1550cb-5e5d-48f5-b02b-20b602228de6&DisplayLang=en"
target=_blank>Get IE from here. :: href="http://mozilla.com/firefox/all.html#tr" target=_blank>Get Firefox from
here.
Note: If you do not see the simulation even if JRE 1.5 is installed:
- check that JRE is enabled in
your web browser (ActiveX) -
check that JRE is enabled through Control Panel (Windows)
References
[1]
W. Stallings, Data And Computer Communications, Seventh
Edition. Prentice Hall, Upper Saddle River, NJ,
2004
src="Utilization of ARQ methods and an animated ARQ simulator.files/address.gif"
-- end hhmts