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
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
denote the ratio
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 acknowledgments are ignored.
A data frame is sent in error with probability
, 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 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]
Go-back-N ARQ
Machine A can send
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
, 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]
Selective Reject ARQ
Machine A can send
consequtive data frames without receiving an ACK.
If it receives a NACK, machine A retransmits only the frame in error
Note that for ,
this method boils down to stop-and-wait ARQ.
The utilization is