RTT and RTO Applet Instructions


Overview

This applet demonstrates RTT and RTO calculation based on Karn and Partridge's algorithm. The base applet is consisted of one to three source machines that generate packets, a router, and a destination server that receives the packets and acknowledges them. Once the simulation stars, packets will be generated from the source machines and move through the router to the destination machine. The packets are then sent from the router to the destination where they are being acknowledged. Once ACK reaches its source node, we calculate the new RTO based on the algorithm's rules.


How to start the applet

The easiest thing will be to load the applet and press the Start button. This will run the applet with our default parameters which are set for a network that is capable of almost handling the event flow, but load is increasing slowly and therefore the RTO increases (Router's rate a little bit less than packets rate). Note that we present the packets flow with color code for each node, we present the RTO and SRTT for each node, and each time we lose a packet it is presented on the screen (we randomly lose 0.1% of the packets).

Figure 1: Start with default parameters

Applet area:

The applet area presents the following data:

Figure 2: Applet screen

Configurable parameters:

The applet allows you to configure many of the network parameters so you can see the impact of different load patterns on the RTO values. You may configure parameters for each source node, router and server separately by simply clicking (or right clicking) on the object and then clicking on the menu to configure the node.

Router configurable attributes:

Click the router, and then click Configure Router Attributes

Figure 3: Router Configuration

Two attributes available:

Figure 4: Router Configurable attributes

Server configurable attributes:

Click the server, and then click Configure Destination Node Attributes

Figure 5: Server Configuration

Two attributes available:

Figure 6: Server Configurable attributes

Source Node configurable attributes:

Click the source node you are interested in, and then click Configure Source Node Attributes

Figure 7: Source Node Configuration

Available attributes:

Figure 8: Source Node Configurable attributes


How to stop the applet (and start it again)

Stopping the applet is very simple. Simply click the Stop button (located in the same location as the Start button). It will stop packets from being generated. Once stopped, the Stop button will become a Start button again and you may start running the simulation again. One can change network parameters only when the simulation is stopped. Network configuration is kept, so you can continue working and modifying the network without losing previous configuration.


Behind the scene - solution design

Complete code documentation can be found here

User Interface considerations
Our main objective is to keep the view graphically simple enough to understand the algorithm, but using a robust data structure that will calculate the algorithm accurately and simulate a real network flow.

Java implementation
The solution simulates a real network and our applet really transfers the packets as if it were a real (very simplified...) network. To make it real, we had to code the different network components and have them manage the queues coming in and out. (very) high level code design:

Out of scope for this applet


Project Developers

This applet was developed by Itay Cohen, Sharon Levi, Yotam Katzil, and Avigail Garti as a course requirement for Protocols and Computer Networks, taught by Dr. Debby Koren in the program for an MA in Computer Science at Hadassah Academic College, Jerusalem.


www.rad.com