This document provides installation, use, and development instructions for NOX v0.3.0.
NOX is a network control platform. [1] Its purpose is to provide a high-level, programmatic interface on top of which network management and control applications can be built. NOX is different from standard network development environments (such as building routers within or on top of Linux) in that it provides a centralized programming model for an entire network.
NOX applications 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 applications with an abstracted view of the network resources, including the network topology and the location of all detected hosts.
NOX is 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:
NOX controls the network switches through the OpenFlow protocol (http://www.openflowswitch.org). Therefore it requires at least one switch on the network to support OpenFlow. However, NOX is able to support networks composed of OpenFlow switches interconnected with traditional L2 switches and L3 routers.
For a more detailed description of NOX, see the The What and HOW of NOX.
This version of NOX is a developers’ release. Applications can be written in either C++ or Python. NOX provides a high-level API to OpenFlow as well as to other network controls functions (see Application Development by Example). While intended primarily for developers, this release does contain a full policy engine for declaring network access controls which can be used to manage a network.
Warning
Unfortunately the current documentation lags significantly behind development. While this manual should be helpful in getting the system up and running, it currently does not provide adequate coverage of the internals.
Footnotes
| [1] | NOX is a follow-on to Ethane (http://yuba.stanford.edu/ethane). NOX is currently being developed by Nicira Networks as part of a larger effort to do government trials of the Ethane network architecture. |