A Web-Based Introduction to Computer Networks for Non-Majors

Reliable Data Transfer Protocols

How do I use this applet?


Starting a Simulation

Other Simulation Options

Description of Reliable Data Transfer Simulation window

The simulation window is divided into two main areas: an animation area and a control area. The animation area is the top part of the window. The control area is the bottom part of the window and contains the text fields for the network parameters, the radio buttons for the protocol and loss scenario, and the buttons to control the action of the simulation.

The packet timers appear in the top left of the animation area. Each packet has an associated timer. If the timer expires ("times out"), the corresponding packet is retransmitted. A legend appears in the top right of the animation area. The legend identifies the moving graphical objects by color. The part of the animation area between the sender bar and the receiver bar is where the packets and acknowledgments move between the sender and receiver.

The rightmost section of the control area is a column of buttons: Start, Suspend, Resume, and Help. The Start button starts a simulation using the current network parameter settings, protocol, and loss scenario. The Suspend button suspends or freezes the current simulation. The Resume button resumes a simulation that had been suspended. The Help button causes a message to appear explaining how to use the applet. Each button is only enabled when it initiating its action would be appropriate.

The top middle section of the control area is used to select the protocol to simulate. The default protocol is stop-and-wait which only allows one outstanding packet. The alternative protocol, pipelined, allows multiple outstanding packets.

The bottom middle section of the control area is used to select the loss scenario. The default is that no loss occurs. If the Lost Data option is chosen than one of the data packets will be lost between the sender and the receiver. This is illustrated by the packet turning red and then disappearing. Which data packet will be lost? In the case of the stop-and-wait protocol there is no choice since there is only one outstanding data packet. In the case of the pipelined protocol, three data packets are initially sent. Which one of these is lost is randomly chosen upon each simulation. Thus, which data packet is lost can vary from one simulation to the next.

If the Lost Acknoweledgement option is chosen, then one of the acknowledgements will be lost between the receiver and the sender. This is illustrated by the packet turning red and then disappearing. Which acknowledgement will be lost? In the case of the stop-and-wait protocol there is no choice since there is only one outstanding data packet and thus, at most one outstanding acknowledgement. In the case of the pipelined protocol, three data packets are initially sent, so there may be up to three outstanding acknowledgements. The simulation always will lost the first of these three acknowledgements.

The leftmost section of the control area is used to choose a setting for three network parameters: link bandwidth, packet size, and the one way delay. Default values for these parameters are provided. If the user changes a value by editing the text field and then pressing the Enter key. If the new parameter value is not valid, a warning message will appear and the value will return to the default value.

The bandwidth is the rate at which bits are transmitted across the network. The bandwidth affects the width of the packets on the screen. The higher the bandwidth, the wider the packet; the smaller the bandwidth, the smaller the packet width. A wider packet represents the fact that more data can be transmitted per unit time when the bandwidth is higher, and a smaller packet width represents the fact that less data can be transmitted per unit time when the bandwidth is smaller.

The packet size text box is used to input the size of the data ackets in bytes. The size of an acknowledgment is fixed at 64 bytes. The bandwidth and packet size determine the time it takes to transmit a packet/acknowledgment (i.e. transmit time = packet size / bandwidth). The height of packets/acknowledgments on the screen is based on the transmit time. The higher the transmit time, the taller the packet/acknowledgment; the smaller the transmit time, the smaller the packet/acknowledgment height.

The one way delay text box is used to input the one way delay between the sender and receiver. This parameter will affect how fast the packets and acknowledgements move between the sender and the receiver. This parameter also affects how fast the timers advance.