MurphyMc edited this page Mar 26, 2012 · 3 revisions

Welcome to the NOX-Classic wiki

Quick Links

NOX-Classic (formerly just known as NOX) is a network control platform, that provides a high-level programmatic interface upon which network management and control applications can be built. In brevity, NOX is an OpenFlow controller. Therefore, NOX applications mainly assert flow-level control of the network---meaning that they determine how each flow is routed or not routed in the network.

Different from standard network development environments (such as building routers within or on top of Linux), NOX allows a centralized programming model for an entire network. NOX is designed to support both large enterprise networks of hundreds of switches (supporting many thousands of hosts) and smaller networks of a few hosts.

NOX's core provides applications with an abstracted view of the network resources, including the network topology and the location of all detected hosts. The primary goals of NOX are:

  • To provide a platform which allows developers and researchers 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 managament for all switches on a network, admission control at the user and host level, and a full policy engine.
This release of NOX is for developers. Applications can be written in C/C++ and/or Python. NOX provides a high-level API for OpenFlow as well as to other network controls functions (see Developing in NOX).

As previously stated, NOX controls the network switches through the OpenFlow protocol. Therefore it requires at least one switch on the network to support OpenFlow. There are many options available, or you can just run Open vSwitch. It is worth noting that 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 Introduction. Reading through the main navigation pages on the wiki sidebar will give you a good idea of NOX. Make sure you also go through the FAQ, which provides more details for each section.

If you still have questions, refer to the doxygen documentation, or check out the nox-dev mailing list and #noxrepo IRC channel.