Lab: Routing

In this lab you will implement a distance vector routing protocol for Bene, so that it can dynamically route packets across an arbitrary network of simulated nodes. You will use the simulator to examine the correctness and performance of your implementation.

Distance Vector Routing

Simulate a distance vector routing protocol running on each node. It should include the following features:

Implementation Help

The following are some tips for implementing a routing protocol in the Bene simulator.


To demonstrate that your routing protocol works, you should run experiments showing:

For each of these examples, show a trace of the routing protocol so that you can demonstrate how it works, plus a trace of the nodes as they forward a packet correctly. Your trace should have the minimal information needed to show this functionality.


Write a formal, scientific report that includes the following:

In your report, include any details of your routing protocol that may be unique to your implementation.

Write using a formal, scientific report style. Your report should be written as if you are explaining your work to another CS student, and they need all of the details of what you did so that they can replicate your experiments.

Your report can be any length, as long as you thoroughly describe your project and results. The paper must use 11 point type, single spacing, and one column per page.

Your report must match the LaTex style shown in this template. If you choose to use LaTeX, I suggest using the WikiBooks LaTex reference.


Your code should be located in a directory called lab5 in the top level:


Turn in a tarball that includes all of your code (for the simulator, experiments, graphing, etc), and a PDF of your report:

tar -czvf bene.tgz bene

using Learning Suite.


This lab is worth 100 points, and will be graded with the following rubric:

To get full points, all experiments must work well and the report must be complete and written with a scientific style.