User login

Search Projects

Project Members

Adam Coxhead admin

Improved security for network clients using OpenFlow

OpenFlow is a open network protocol used in Software Defined Networking(SDN) which allows for the high level routing decisions of a switch to be separated from its hardware and instead moved to a separate controller running in software. OpenFlow is the protocol by which this separate controller and the switch communicate with one another. Separating the controller from the hardware like this allows for more complex routing of traffic.
The aim of my project is to improve the security and efficiency of network protocols using OpenFlow, initially focusing on improving the security of ARP.

12

Oct

2013

Finished all of my chapters this week and have had them reviewed, just a matter now of tidying up a few places and then I'll be done.

04

Oct

2013

More report writing this week, have started the re-factoring process of some of my earlier chapters as well as completing a draft of the results and discussion chapter.

27

Sep

2013

Concluded running the tests early this week, so as a result have started drafting up the evaluation chapter of my report. Handed off a couple of my draft chapters to get reviewed so that I can start to refactor them.

21

Sep

2013

This week some more progress was made on the 520 report, as well as catching up on other assignments. There are still some tests to complete before I can make a start on the results chapter, hopefully plan to have these all done by early next week.

14

Sep

2013

Started writing the final report this week.

07

Sep

2013

Again not a lot to report this week as my time was spent on other assignments

01

Sep

2013

Not much to report this week due to the honours conference other than I have started the testing process.

25

Aug

2013

This week much of my time was spent on my presentation an other assignments. I expect next week will be much the same

16

Aug

2013

Completed the pre computed path based controller this week, I also moved all my test scripts across to a more power machine than my laptop for the testing stage, which I will start next week. Along with this I started writing my conference presentation.

09

Aug

2013

Finished off the script that generates random topologies this week. Next I want to create a third controller that pre-computes the minimum paths then uses them to forward, similar to the interface based controller I already have. From there will start looking at how the different controllers scale.

02

Aug

2013

Started writing topology creation scripts this week. So far they are able to create full mesh networks as well and ring networks for a specified number of switches. Since then I have been advised that mininet may be worth looking into. Next week I plan to try out mininet, even if it is not quite what I'm looking for it may give me ideas about methods on generating topologies.

27

Jul

2013

Didn't get as much done as I was hoping to this week, Ended up just tidying code up and getting it into a state were automated testing would be easier to run. Have put some more though into the test scripts I'm planning to create, hopefully will get onto them soon so I can find out how my code scales.

19

Jul

2013

So it's getting to the point in my project where I'm needing someway of automating testing of the spanning tree and forwarding unit of my OpenFlow Module, thus I spent most of my time thinking about how to achieve this this week. Other things that were considered were what comparisons I would be wanting to make with existing solutions, such as STP and RSTP. Lastly I started bundling my code into a more manageable layout in preparation for setting this test bed up

13

Jul

2013

First week back an uni after the break, This week I decided to, as well as looking at getting a implementation of interface based forwarding working, look back over all the code I have been writing for this project up to this point and find areas that can be improved upon. The main reason for this is that I have a deeper understanding of Python code now and there were some choices I had made that weren't very efficient. These are currently been worked on and will be my focus for next week

05

Jul

2013

This week I spent some time testing different switch typologies in order to check the soundness of my forwarding module. There were some edge case bugs discovered, most of which were pretty simple errors such as using the wrong variable for a certain case etc. I'm pretty confident I've fixed all these minor bugs now. For my multipath implementation I have done path based splits, after taking my solution to Brendon he suggested it may be worth trying an interface based approach as well, so next week I plan to have a go at implementing that and compare the two

28

Jun

2013

So after investigating what information is passed around from Openflow about ports and what could be used as a link metric, I had decided on using link speed however OVS sets that to zero for the virtual links between switches. Therefore I have introduced metrics manually so that multipath equal cost forwarding could be looked at.
I have reworked my spanning tree module to work out the minimal cost spanning tree of the network. Also reworked my shortest path algorithm to use metrics rather then hop count, as well as introducing load balancing by alternating flows down equal cost paths.

21

Jun

2013

This week I have created a new module to handle the forwarding between switches. This module at the moment is at a stage were it calculates the shortest path between switches and installs flows along that path. The module is pretty basic at the moment as it is just using hop count for the shortest path calculation, however next week I plan to introduce the links statistics into the calculation. After links stats are introduced I then plan to start looking at introducing load balancing into the module

14

Jun

2013

This week I managed to take the already existing topology discovery code in Ryu for OpenFlow 1.0 and get a basic version working for OpenFlow 1.2.
From there I have also been able to get a very naive spanning tree implementation working, which can handle topology changes in a network (such as a link going away etc.).

07

Jun

2013

Spent this week finishing of the last assignment for 513, so not much work done on my project this week.

31

May

2013

Handed in my interim report this week.
Also after reading a bit deeper into the changes between openflow 1.0 and 1.2 realised the original approach I was thinking of will not work. So spent some time over the weekend and early this week thinking of other approaches on how I can get a basic spanning tree working in openflow so that when the break comes I'm ready to get right into it.