You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

162 lines
4.1 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- ABP.html (C) K. J. Turner 18/12/14 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alternating Bit Protocol</title>
<link rev="made" href="http://www.cs.stir.ac.uk/~kjt/"/>
<script type="text/javascript" language="JavaScript">
<!--
var simulator;
var mediumType;
var mediumTypeOld;
function set() {
mediumType =
document.settings.medium[0].checked
? 2
: document.settings.medium[1].checked
? 1
: 0;
if (mediumType != mediumTypeOld) {
mediumTypeOld = mediumType;
simulator.setParameter("mediumType", mediumType);
simulator.restart();
}
}
//-->
</script>
</head>
<body background="simulator.jpeg"
onload="simulator=document.ProtocolSimulator; set();">
<div style="text-align: center">
<h1>Alternating Bit Protocol Simulator</h1>
<img src="simulator.gif" alt="Simulator Logo"/>
</div>
<h2>Protocol Description</h2>
<p>
ABP (Alternating Bit Protocol) is a connection-less protocol for
transferring messages in one direction between a pair of protocol
entities. It is a simple form of the <a href="SWP3.html">Sliding Window
Protocol</a> with a window size of 1. The message sequence numbers simply
alternate between 0 and 1.
</p>
<h2>Protocol Parameters</h2>
<p>
The following settings are adequate for a simple simulation. For a more
advanced exploration, choose different options and click <em>Change
Settings</em>. This will cause the simulation to restart.
</p>
<p>
Optionally set the level of control that the simulator user needs over
the medium:
</p>
<dl>
<dt><b>Automatic</b>:</dt>
<dd>
Messages are delivered immediately without loss. This is suitable for
initial experimentation, but limits what can be explored. For example,
message are never lost and never have to be timed out and resent.
</dd>
<dt><b>Delivery</b>:</dt>
<dd>
Alternatively, message delivery may be controlled - though messages
will still never be lost. Choose this option to allow messages to be
delivered in different orders and to be resent.
</dd>
<dt><b>Delivery/Loss</b>:</dt>
<dd>
Finally, delivery and loss of messages may be completely controlled.
This is the most comprehensive option, but also the most complex one to
manage.
</dd>
</dl>
<form name="settings">
<center>
<table cellpadding="5">
<tr>
<td align="right">Medium Control:</td>
<td>
<input type="radio" name="medium" value="2"
checked="checked"/>Automatic
</td>
<td><input type="radio" name="medium" value="1"/>Delivery</td>
<td><input type="radio" name="medium" value="0"/>Delivery/Loss</td>
</tr>
<tr>
<td align="center" colspan="4">
<input type="button" name="btnSet" value="Change Settings"
onclick="set()"/>
</td>
<td colspan="3"></td>
</tr>
</table>
</center>
</form>
<h2>Protocol Simulation</h2>
<p>
The protocol simulation shows a time-sequence diagram with transmitting
and receiving protocol entities, and a communications medium that carries
messages. The transmitter simply sends messages numbered <em>DATA(0)</em>
or <em>DATA(1)</em>; the content of messages is not identified. These are
acknowledged with <em>ACK(1)</em> or <em>ACK(0)</em> respectively. Note
that if a <em>DATA</em> message is received again due to re-transmission,
it is acknowledged but discarded.
</p>
<center>
<applet code="simulator.ProtocolSimulator.class"
archive="ProtocolSimulator.jar" width="600" height="700"
name="ProtocolSimulator">
<param name="protocol" value="ABP"/>
</applet>
</center>
<hr/>
<p>
<a href="index.html"><img src="uparrow.gif" alt="Up Arrow"/></a>
Up one level to <a href="index.html">Protocol Simulators</a>
</p>
</body>
</html>