Computer Laboratory

Malcolm Scott

Project suggestions

I'm currently working on a modification of Ethernet, called MOOSE (Multi-level Origin-Organised Scalable Ethernet). This aims to solve a variety of scalability problems with Ethernet, starting with the specific problem that Ethernet switches have a fixed MAC address table capacity, typically of ~8000 entries, and hence do not operate at all well on networks containing more than 8000 nodes. MOOSE switches rewrite the source addresses of frames entering the network to a locally-generated one including a switch identifier and a node identifier; other switches now only need keep track of switch IDs rather than every MAC address. This move to a hiearchical addressing scheme gives rise to a number of additional beneficial properties, such as better security, minimisation of broadcast traffic, easy implementation of best-path routing, etc..

There is scope for a few projects on this new protocol, and since this is an active area of research, you may have the opportunity to publish your results as part of a paper on the topic.

Some knowledge of how Ethernet works is essential for these projects (which won't take long to learn if you're sufficiently interested).

If you are interested in undertaking any of these projects, or just want to find out more, please feel free to email me:

NetFPGA implementation of MOOSE

This project is being undertaken by Daniel Wagner-Hall, under the supervision of Andrew Moore.

The NetFPGA is a PCI card containing four gigabit Ethernet ports connected to a FPGA, programmable in Verilog. It is designed for building working prototypes of high-speed, hardware-accelerated networking systems. The lab is involved in the NetFPGA project, and has a number of demonstration kits — Linux PCs with the NetFPGA board and relevant software installed.

An implementation of a MOOSE switch on a NetFPGA board would be an interesting project. This should be implemented in a similar way to fast, high-end Ethernet switches — i.e. a true hardware switching fabric, not a software switch.

This would suit a fairly strong student with a good knowledge of Verilog, Linux tools and network protocols. Switch fabric design will be taught in Digital Communication II but you are likely to need to read up on this before the course.

Simulation of MOOSE

A study of MOOSE in simulation on a large network does not yet exist, and would be a useful resource.

It is very strongly recommended to make use of an existing widely-used simulation tool; writing your own introduces considerable extra requirements for validation and testing and will take much longer to produce credible results. However, it will be necessary to adapt the tool you choose in order to add an implementation of MOOSE. This is likely to require fluency in C or other languages depending on your choice of simulator.