10 likes | 174 Views
Proress on NOX The NOX Team. NOX is the Most Widely Used OpenFlow Controller. Developed in C++ and provides Python bindings. Open sourced by Nicira ( http://www.noxrepo.org/ ). Has been used in research, production, and classroom. Over twenty people have contributed to NOX.
E N D
Proresson NOX The NOX Team NOX is the Most Widely Used OpenFlow Controller • Developed in C++ and provides Python bindings. • Open sourced by Nicira (http://www.noxrepo.org/). • Has been used in research, production, and classroom. • Over twenty people have contributed to NOX. • Both adding features and fixing bugs. • e.g., visualization, console, messenger. New Release of NOX • Biggest update so far. • Is C++ only: POX provides Python support. • Improves performance by an order of magnitude. • The core is simplified to only provide: • Event harness, I/O handling, and plugin framework. • OpenFlow-related code moved to a component. • Simplifies adding support for new OpenFlow versions. • Enables concurrent support of different OpenFlow versions. • Adds a C++ OpenFlow C++ library. • Introduces breaking changes, but migration is easy. • Will be made publicly available in late 2011. NOX Performance • NOX has high throughput and low latency. • Switch app: ~1.6Mpkts/sec with <5ms latency. • (8x2GHz CPUs | 32 switches | 4096 pkts on the fly.) • Throughput and latency should be looked at together: • 1.3Mpkts/sec ~ 1-2ms response time. • 1.8Mpkts/sec ~ 13ms response time. Throughput with different # of CPUsunder the same load levels Response time CDF with 8 CPUsfor different load levels Throughput with different # of CPUs 4096 pkts on the fly, 32 switches Response time CDF with 8 CPUs 4096 pkts on the fly, 32 switches OpenFlow Support • All OpenFlow-related is moved to a component. • Simplifies updating OpenFlow code in NOX. • Easy to add support for multiple OpenFlow versions. • Each version lives in its own namespace. • New OpenFlow C++ library is added. • Simple serialization code. • Easy to use (e.g., ofp_match().nw_src(“10.0.0.1”).nw_dst(“10.0.0.2”).tp_dst(80)) • Simpler OpenFlow events.