Computer Laboratory

Malcolm Scott


Moose MOOSE is an Ethernet-layer feature being developed by Malcolm Scott, initially for (and funded by) the TINA project, which will allow Ethernet networks to scale more effectively.


Ethernet does not scale well to large networks. The flat MAC address space, whilst having obvious benefits for the user and administrator, is the primary cause of this poor scalability; other recent efforts to improve upon Ethernet's scalability have addressed symptoms, rather than this underlying cause.

MOOSE, Multi-level Origin-Organised Scalable Ethernet, is an Ethernet switch architecture that performs in-place rewriting of MAC addresses in order to impose a hierarchy upon the address space without reconfiguration or modification of connected devices. This removes the need for switches to maintain large forwarding databases, is of direct use in implementing improved routing, and allows for a variety of other scalability and security innovations.

MOOSE also includes (thanks to Daniel Wagner-Hall) a globally-scalable, distributed and resilient protocol for the automatic assignment of addresses to switches, and for detecting and cheaply resolving addressing conflicts.

MAC address table scaling

The initial problem addressed was the MAC address table which must be maintained by every switch in a network. This stores the route from that switch to any computer. Currently, this scales according to the number of computers on the network, and in order to allow for fast lookups, there is a hard and relatively low limit on the size of this table (typically 16000 entries in modern switches). If the table becoms full, addresses will be dropped from the table; frames to such addresses will at best be flooded throughout the network, which is very wasteful of bandwidth.

MOOSE allows the table to scale with the number of switches (which is not likely to change much over the lifetime of the network) rather than the number of computers. It works by rewriting MAC addresses on frames entering the network, in order to introduce hierarchy into the address: the new MAC address includes a switch identifier, pointing at the switch to which the transmitting computer is currently connected. Switches now only need store the route to each other switch, rather than each computer.

Several other beneficial properties arise from the introduction of hierarchy, such as:

  • Significantly-improved security and isolation of certain kinds of attack
  • Minimisation of broadcast traffic
  • Basis for efficient best-path routing

Publications and other materials