dlpjava: a data link protocol simulator

Peter JB King

This tool enables students to write connection oriented data link protocols in Java and have them tested on a simulated communication channel. The simulator checks for common protocol errors such as delivering packets out of order, or losing packets. It should run on any Java system.

It also provides simple visualisation of data frames travelling along the communications channel, indicating whether or not they have encountered transmission errors. The example below shows the channel from A to B with two data frames in transit, the first of which has encountered a transmission error and is shaded. The second one has (so far) transmitted successfully, and is a solid blue colour. The red boxes indicate that the network layer has been instructed not to provide any more packets for transmission. The list A80, A81, etc at the A end of the channel indicates the identities of packets that the A protocol has accepted for transmission, but that have not yet been delivered to B.

Getting the Software

The system is packaged as a Java Jar file, along with the documentation for the system in LaTeX. For convenience, both Unix tar format and ZIP format archives are provided. You only need to download one. Unpacking the archive in a temporary directory gives several files

          dlpjava     -- the script to run the simulator under Unix
          dlpjava.mk  -- component of Unix dlpjava system
          dlpjava.jar -- jar file
          dlpjava.cmd -- Windows command file
          README      -- this file
          Install     -- Unix installation script
          documents   -- directory of user documentation
To install under Unix, choose a name for the script, and a directory to store the jar file and the .mk file in. Suppose the script is to be in /usr/local/bin/dlpjava and the directory is to be /usr/local/lib/dlpjava Execute

        Install /usr/local/bin/dlpjava /usr/local/lib/dlpjava
You will need to modify the documentation to reflect how users can run the system.

Under Windows, you will need to copy the dlpjava.jar file to a location that can be accessed by all users and modify the documentation accordingly.

User Manual

Here is a copy of the user manual for printing.

Here is an online user manual.


I would be very pleased to receive any feedback that you wish to give me on this simulator. Mail me at pjbk@macs.hw.ac.uk.

Back to Peter King's home page