NOX is a piece of the Software Defined Networking ecosystem. Specifically, it’s a platform for building network control applications. In fact, while what we now call SDN grew from a number of academic projects (perhaps chiefly SANE and Ethane), the first SDN technology to get real name recognition was OpenFlow, and NOX was initially developed at Nicira Networks side-by-side with OpenFlow — NOX was the first OpenFlow controller. Nicira donated NOX to the research community in 2008, and since then, it has been the basis for many and various research projects in the early exploration of the SDN space.
To a developer, NOX:
- Provides a C++ OpenFlow 1.0 API
- Provides fast, asynchronous IO
- Is targeted at recent Linux distributions (particularly Ubuntu 11.10 and 12.04, but Debian is also easy, and RHEL 6 is possible)
- Includes sample components for:
- Topology discovery
- Learning switch
- Network-wide switch
All of this goes towards giving developers and researchers a way to write code to programmatically control the switches (both hardware and virtual) in their networks. To find out more, read the post What Is SDN All About, Then? and The OpenFlow Model article!
You might also be interested in learning a bit more about NOX’s sister: the Python-oriented POX.