📄 utilization of arq methods and an animated arq simulator.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0052)http://www.ee.hacettepe.edu.tr/~aktas/arq_simulator/ -->
<HTML><HEAD><TITLE>Utilization of ARQ methods and an animated ARQ simulator</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-9">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY>
<H1>ARQ Methods </H1>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
<UL>
<LI>Stop-and-wait ARQ
<LI>Go-back-N ARQ
<LI>Selective reject ARQ </LI></UL>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 <IMG alt=a
src="Utilization of ARQ methods and an animated ARQ simulator.files/a.gif"
align=bottom> denote the ratio
<P align=center><IMG
alt="a = \frac{\text{propagation time}}{\text{transmission time}}"
src="Utilization of ARQ methods and an animated ARQ simulator.files/a_def.gif">
</P>The following assumptions are made in order to derive the utilization of the
link:
<UL>
<LI>Processing time at each machine is ignored.
<LI>The transmit times of the ackknowledgments are ignored.
<LI>A data frame is sent in error with probability <IMG alt=P
src="Utilization of ARQ methods and an animated ARQ simulator.files/p_.gif"
align=bottom>, otherwise it is received correctly at machine B.
<LI>Frames sent in error are detected as erronuous frames at machine B.
<LI>Positive and negative acknowledgments are never in error. </LI></UL>
<H2>Stop-and-wait ARQ</H2>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 <A
href="http://www.ee.hacettepe.edu.tr/~aktas/arq_simulator/#1">[1]</A>
<P align=center><IMG alt="U_{stop-and-wait} = \frac{1}{1+2a}(1-P)"
src="Utilization of ARQ methods and an animated ARQ simulator.files/u_stop_and_wait.gif">
</P>
<H2>Go-back-N ARQ</H2>Machine A can send <IMG alt=N
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 <IMG alt=N=1
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 <A
href="http://www.ee.hacettepe.edu.tr/~aktas/arq_simulator/#1">[1]</A>
<P align=center><IMG
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">
</P>
<H2>Selective Reject ARQ</H2>Machine A can send <IMG alt=N
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 <IMG alt=N=1
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
<P align=center><IMG
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">
</P>
<H2>ARQ Simulator</H2>Click <A
href="http://www.ee.hacettepe.edu.tr/~aktas/arq_simulator/simulator/arq_simulator.html"
target=_blank>here</A> for an animated simulation of the ARQ methods implemented
in JRE. (written by <A
href="mailto:akifburak@gmail.com?subject=Comments on the ARQ simulator">Akif
Burak Tosun</A>, Mehmet Fatih Isik, Mustafa Alagoz, Sinan Keskin, Ahmet Bugday,
Tuba Demir) <BR>
<P><B>Requirements:</B>
<P>JRE 1.5 (Java Runtime Environment) :: <A
href="http://jdl.sun.com/webapps/download/AutoDL?BundleId=10433"
target=_blank>Get JRE from here.</A>
<P>JRE supported browsers (i.e. Internet Explorer 6, Mozilla Firefox 1.5, etc.)
:: <A
href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e1550cb-5e5d-48f5-b02b-20b602228de6&DisplayLang=en"
target=_blank>Get IE from here.</A> :: <A
href="http://mozilla.com/firefox/all.html#tr" target=_blank>Get Firefox from
here.</A>
<P>Note: If you do not see the simulation even if JRE 1.5 is installed:
<BR> - check that JRE is enabled in
your web browser (ActiveX) <BR> -
check that JRE is enabled through Control Panel (Windows)
<P>
<H3>References </H3>
<TABLE border=0>
<TBODY>
<TR>
<TD vAlign=top align=right><A name=1>[1]</A></TD>
<TD align=left>W. Stallings, <I>Data And Computer Communications, Seventh
Edition.</I> Prentice Hall, Upper Saddle River, NJ,
2004</TD></TR></TBODY></TABLE>
<HR>
<IMG
src="Utilization of ARQ methods and an animated ARQ simulator.files/address.gif"
-- end hhmts <!--> </BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -