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.

183 lines
5.0 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- MUX.html (C) K. J. Turner 18/12/14 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Multicasting</title>
<link rev="made" href="http://www.cs.stir.ac.uk/~kjt/"/>
<script type="text/javascript" language="JavaScript">
<!--
var simulator;
var serviceMode;
function set() {
serviceMode = document.settings.serviceMode.value;
simulator.setParameter("serviceMode", serviceMode);
simulator.restart();
}
//-->
</script>
</head>
<body background="simulator.jpeg"
onload="simulator=document.ProtocolSimulator; set();">
<div style="text-align: center">
<h1>Multicasting</h1>
<img src="simulator.gif" alt="Simulator Logo"/>
</div>
<h2>Protocol Description</h2>
<p>
MCAST (Multicasting) illustrates how data can be sent from a source to
multiple destinations over a network. The following example shows a source,
three destinations, and a further host that has no interest in the data.
These are interconnected by routers A to F.
</p>
<center>
<img src="multicast.gif" alt="Multicast Illustration"/>
</center>
<p>
There are three strategies for sending data from the source to the
destinations:
</p>
<dl>
<dt><b>Broadcast</b>:</dt>
<dt>
<p>
If the source does not know which networks the destinations are on, it
must send a copy of the messages to each router that gives access to a
possible destination. In this example, the source must send data to
routers B, D, E and F. The result is inefficient in that 10 copies of
the message must be sent.
</p>
</dt>
<dt><b>Unicast</b>:</dt>
<dt>
<p>
If the source knows which networks the destinations are on, it can send
a copy of the messages only to the routers that gives access to these
destinations. In this example, the source must send data to routers B, D
and E. The result is more efficient than broadcast, but 8 copies of the
message must still be sent.
</p>
</dt>
<dt><b>Multicast</b>:</dt>
<dt>
<p>
The source can instead rely on the routers to distribute messages,
making copies only when necessary. In this example, the source sends
just one message to router A, stating that it is for routers B, D and E.
Router A looks at where the message is going, and delivers copies of the
message to routers B and C (when it states that the message is for
routers D and E). Router C then delivers copies of the message to
routers D and E. The result is more efficient than unicast, with only 5
copies of messages being sent. This is half the number for broadcast. On
a much larger network, the transmission savings of multicast can be
substantial.
</p>
</dt>
</dl>
<p>
Each router stores the messages it receives and forwards them to their
destination. The messages may be forwarded in any order since it depends on
how busy the communications links are. When trying the simulation, you may
find it easier to understand if you immediately forward router messages
rather than let them build up. For this simulation, the communications
channels are assumed to operate perfectly (no message corruption, loss or
misordering).
</p>
<h2>Protocol Parameters</h2>
<p>
By default, multicasting uses the broadcast strategy. You can modify the way
in which the protocol works by modifying the strategy. Click Change Settings
after making this alteration. This will restart the whole simulation.
</p>
<form name="settings">
<center>
<table cellspacing="5">
<tr>
<td align="right">Multicasting Strategy:</td>
<td>
<select name="serviceMode">
<option selected>Broadcast</option>
<option>Unicast</option>
<option>Multicast</option>
</select>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="button" name="btnSet" value="Change Settings"
onclick="set()"/>
</td>
</tr>
</table>
</center>
</form>
<h2>Protocol Simulation</h2>
<p>
The protocol simulation shows a time-sequence diagram with the source and
the six routers. Messages have the format
<var>DT(Destinations,Mn)</var>. For broadcast and unicast, each
message has one destination; for multicast, there can be multiple
destinations. Messages are numbered <var>M0</var>, <var>M1</var>, etc.; no
explicit data
content is given.
</p>
<center>
<applet code="simulator.ProtocolSimulator.class"
archive="ProtocolSimulator.jar" width="800" height="700"
name="ProtocolSimulator">
<param name="protocol" value="MCAST"/>
</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>