102 lines
3.1 KiB
HTML
Executable File
102 lines
3.1 KiB
HTML
Executable File
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
<!-- STACK.html (C) K. J. Turner 18/12/14 -->
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<head>
|
|
|
|
<title>Protocol Stack</title>
|
|
|
|
<link rev="made" href="http://www.cs.stir.ac.uk/~kjt/"/>
|
|
|
|
</head>
|
|
|
|
<body background="simulator.jpeg"
|
|
onload="simulator=document.ProtocolSimulator; set();">
|
|
|
|
<div style="text-align: center">
|
|
|
|
<h1>Protocol Stack</h1>
|
|
|
|
<img src="simulator.gif" alt="Simulator Logo"/>
|
|
|
|
</div>
|
|
|
|
<h2>Protocol Description</h2>
|
|
|
|
<p>
|
|
STACK (Protocol Stack) illustrates how data flows through a typical protocol
|
|
stack. As an application message passes down through the layers towards the
|
|
medium, each layer prefixes the message with its own control header.
|
|
Eventually the message with all headers is sent via the medium to its
|
|
destination. In the reverse direction, as a medium message passes up through
|
|
the layers towards the application, each layer interprets and strips off its
|
|
control header. Eventually the message with no headers is passed to the
|
|
application.
|
|
</p>
|
|
|
|
<p>
|
|
The Data Link layer is an exception because it usually adds a trailer
|
|
(typically a checksum) as well as its header. This trailer and header are
|
|
stripped off on reception..
|
|
</p>
|
|
|
|
<p>
|
|
For this simulation, the communications channel is assumed to operate
|
|
perfectly (no message corruption, loss or misordering). There is also no
|
|
fragmentation (layers do not split messages up) and no blocking (layers do
|
|
not combine messages). It follows that each application message corresponds
|
|
to one message over the medium.
|
|
</p>
|
|
|
|
<p>
|
|
The elements of a message are simply numbered <var>0</var>, <var>1</var>,
|
|
etc. withou explicit data content. An Application sends a message with data
|
|
such as <var>A3</var>. This is then prefixed with a Transport header
|
|
<var>T3</var>, a Network header <var>N3</var>, a Link header and trailer
|
|
<var>L3</var>, and a Physical header <var>P3</var>. When sent over the
|
|
medium, the whole message then looks like <var>P3:L3:N3:T3:A3:L3</var>. On
|
|
reception, the headers (and Link trailer) are stripped off so that the
|
|
receiving Application gets <var>A3</var> as sent.
|
|
</p>
|
|
|
|
<h2>Protocol Parameters</h2>
|
|
|
|
<p>
|
|
This simulation has no parameters.
|
|
</p>
|
|
|
|
<h2>Protocol Simulation</h2>
|
|
|
|
<p>
|
|
The protocol simulation shows a time-sequence diagram with the following
|
|
layers: Application (e.g. File Transfer Protocol), Transport (e.g.
|
|
Transmission Control Protocol), Network (e.g. Internet Protocol), Data Link
|
|
(e.g. Ethernet), Physical (e.g. Ethernet) and Medium (e.g. Unshielded
|
|
Twisted Pair cable).
|
|
</p>
|
|
|
|
<center>
|
|
|
|
<applet code="simulator.ProtocolSimulator.class"
|
|
archive="ProtocolSimulator.jar" width="800" height="700"
|
|
name="ProtocolSimulator">
|
|
<param name="protocol" value="STACK"/>
|
|
</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>
|
|
|