The following protocol simulations were developed mainly by Iain Robin and Ken Turner, with contributions from Paul Johnson and Kenneth Whyte. They should be useful in allowing you to experiment with a variety of protocols. Bug reports should be sent to Ken Turner.
When you run a simulation, due to Java security restrictions you will need to authorise running the code (assuming the simulator JAR file is properly signed).
The simulations are listed in increasing order of complexity. It is suggested that you try the easier protocols first.
Alternating Bit Protocol (ABP) Simulator
User Datagram Protocol (UDP) Simulator
Boot Protocol (BOOTP) Simulator
HyperText Transfer Protocol (HTTP) Simulator
Simple Mail Transfer Transfer Protocol (SMTP) Simulator
Internet Protocol (IP) Simulator
Sliding Window Protocol (SWP) 3-Column Simulator
Sliding Window Protocol (SWP) 5-Column Simulator
Abracadabra Protocol Simulator
Trivial File Transfer Protocol (TFTP) Simulator
Transmission Control Protocol (TCP) Client-Server Simulator
Transmission Control Protocol (TCP) Peer-Peer Simulator
Select an action by clicking on the list at the bottom of the diagram. Actions are things like a user sending a data message or the medium delivering a protocol message. You are completely in control of the simulation. For example you may have to decide when to send messages, whether to acknowledge messages, and whether messages are lost in the medium or are delivered. Since the simulation does not run in real-time, a timeout is possible as soon as a message has been sent.
The last action in the diagram is shown in red. If you make a mistake, or just want to backtrack in the simulation, then click Undo. You can undo as many steps as you like, right up to the beginning of the simulation. Clicking on Redo will perform the last undone step again. Clear will restart the simulation with the current protocol parameters. If you click on Run the simulator will run automatically, making random choices for you. If you are not sure what to experiment with, this is an easy way of seeing the protocol in action. While this is happening, the Run button changes to Stop. Click on Stop to return the simulator to user control. You can continue at this point as if you had made all the automatic choices yourself.
The Print, Load and Save buttons are disabled since these simulations are running as applets. If you wish hard copy of the simulation, position the scroll bar in the simulation pane at an interesting point and print out the whole web page. If you have the code for the simulator, you can run it as an application to enable these buttons. Print produces a hard copy of the current simulation scenario. Load loads a scenario file (with a name ending in .scn). This must be for the same protocol as you are currently simulating. It replaces the current simulation scenario (if any). Save saves the current simulation scenario as a scenario file (with a name ending in .scn). If you are adventurous, you can create and edit your own scenarios using a standard text editor.
The available simulations vary quite widely, though they all behave in a similar way. The terminology used to describe each protocol is that of its standard. The term "octet" is commonly used in international communications standards to mean eight bits, i.e. a byte.
Some simulations have associated protocol parameters. To change the defaults that are shown, enter new values and click Change Values. In some cases, this will force the simulation to restart.