The Assignments

There will be two assignments. Assignment reports must be submitted electronically using the EE552 Loop pages and in printed form. See Assignment Submission.

One or both of the assignments will require you to write some simulation code, featuring a random number generator. We are not using an existing simulation tool (NS-3, Omnet++, etc.) because of the learning curve involved in confidently using such tools.

Assignment #1

Deadline: 24th March, 2017 at 17:00 hours.

Write a report of maximum length 10 A4 pages (and no minimum length) about OpenFlow and Software-Defined Networking. You are free to choose any appropriate structure (chapter and section titles, etc.) for the report (although it must contain a Conclusions chapter) but your content must address the following issues:

  • Explain what is meant by the control plane in data networking.
  • Explain the advantages and disadvantages of executing control plane functions on remote hardware rather than on the switch or router itself.
  • Briefly explain (in less than one page) what Software-Defined Networking is, as you understand it.
  • Briefly explain (in less than one page) what the OpenFlow protocol is used for. A high-level description is expected, rather than a list of messages.
  • Discuss how the security and robustness (tolerance of software and hardware failure) of a Software-Defined Network compares to that a traditional data networking
  • In your Conclusions chapter, give your opinion (supported by argument) as to whether SDN is a positive move for data networking, and whether you think it has a future commercially.

If your report contains any figures, I want them to be original, rather than cut-and-pasted or scanned figures from existing documents. If preparing your own figures, it might be helpful to use this set of network icons.

Assignment #2

  • Submission deadline: April 14th 2017, 5 pm.


A report (10 pages maximum) detailing the rationale, design and test procedures, and evaluation of the approach taken. This should include all code. All results, including the test procedures used to evaluate the effectiveness of the method chosen, should also be included in the report.

Reports must be submitted electronically using the EE552 Loop website and in printed form. See Assignment Submission.

The report should be uploaded here. Your source code, and any build instructions, etc. should be uploaded here.

The Problem

You are asked to determine the probability of cell loss in an input-buffered cell switch with the following parameters:

It is an \(N \times N\) switch where \(N=4+I\mbox{mod} 3\) and where \(I\) is your student ID.

The offered load is \(\lambda = 0.4 + 0.2 \times \frac{I \mod 1000}{1000}\).

The buffer capacity for each input buffer is \(K = 5 + D(I)\) where \(D(I)\) is the digit sum (link) of \(I\).

Make our usual assumptions of fixed cell length, uniform load across inputs and outputs, and geometrically distributed interarrival times. The switch is an input-buffered switch with a First-Come-First-Served Queuing discipline.

The Solution

  • Analytically
  • method 1

    Denote the probability that there are k cells in the buffer by \(q_k\). Calculate the probabilities using the recursive formula for the infinite buffer case developed in lectures. Approximate the cell loss probability as

    \[1 -\sum_{i=0}^{K}q_i\]
  • method 2

    Calculate the probabilities using the recursive formula for the infinite buffer case developed in lectures, but assuming that \(q_k=0 \mbox{ for } k>K\). Now the sum of all the probabilities (call it S) is less than one. To correct for this, divide all the \(q_k\) values by S. Calculate the cell loss probability as

    \[\frac{\sum_{i=1}^N i \sum_{r+j=K+i} q_r a_j}{\lambda}\]

    See whether you can give a physical interpretation of the above formula.

  • Use simulation.

    The program you wrote for Assignment #1 will need to be modified to simulate the new problem. Make sure that you run your simulation for enough time slots to get an accurate of the loss probability. Estimate the loss probability as

\[\frac{\mbox{#cells lost in buffer}}{\mbox{#cells offered to buffer}}\]

Your simulation of an \(N \times N\) switch will require you to model \(2N\) buffers (the \(N\) input buffers and the \(N\) virtual output buffers, one for each output port).

Compare the results obtained using whatever methods you implement and analyse any discrepancies in your report.

If you are unsure how to proceed with the solution of the problem (and no doubt you are, to begin with), use the EE552 blog to get assistance.