The NOX Network Control Platform

Introduction

NOX is an open-source platform that simplifies the creation of software for controlling or monitoring networks. Programs written within NOX (using either C++ or Python) have flow-level control of the network. This means that they can determine which flows are allowed on the network and the path they take. In addition, NOX provides programs with access to the network state including the network topology and the location of all detected hosts.

NOX was designed to support both large enterprise networks of hundreds of switches (supporting many thousands of hosts) and home networks with a single switch running on a low-performance embedded platform.

The primary goals of NOX are:

  • To provide a platform that allows developers to innovate within home or enterprise networks using real networking hardware. Developers on NOX can control all connectivity on the network including forwarding, routing, which hosts and users are allowed etc. In addition, NOX can interpose on any flow.
  • To provide usable network software for operators. The current release includes central management for all switches on a network, admission control at the user- and host-level, and a full policy engine.

Obtaining

NOX is currently undergoing heavy development with bug fixes and features added daily. We currently recommend that developers obtain NOX directly from git. To do so:

git clone git://noxrepo.org/noxcore

Periodically we issue releases which are likely to be more stable than what is available through git. You can download the latest release here. To run NOX you'll also need an OpenFlow switch. NOX should work with the most current OpenFlow reference implementation.

See the NOX manual for build instructions.

Learn More

The best place to start learning about NOX is from the users manual which contains instructions for installing, configuring and running NOX. New users may also be interested to read a short editorial which provides a high level overview of NOX and a brief justification of its design.

License

All NOX source and documentation is released under version three of the GNU General Public License (GPLv3).