OFCProbe: A Platform-Independent Tool for OpenFlow Controller Analysis
OpenFlow has emerged as an important enabler for Software Defined Networking. As the key component in the OpenFlow architecture, OpenFlow controllers are often marketed as "networking operating system" in a Software Defined Network. However, this designation is slightly misleading. While the OpenFlow controller certainly fills the role of an operating system bridging the gap between physical hardware and applications, many controllers lack the stability and performance we would expect a modern operating system to have in the computing domain. OpenFlow controllers can not be configured, but have to be programmed, which makes them more akin to operational frameworks than an actual operating system. Since the OpenFlow standard does not dictate how a controller should be implemented or even which elements it should possess beyond the OpenFlow secure channel, a variety of different implementations has been developed, each with its own behavior and performance characteristics. These differences make specific controllers better suited for certain scenarios than others. To choose an implementation over another and to analyze the system behavior for a particular deployment, these differences have to be understood. We introduce a flexible OpenFlow controller analysis tool to obtain that insight. Unlike benchmarks that focus on overall throughput and/or latency, our tool allows the emulation of scenarios and topologies and can evaluate the controller performance on a per-switch basis. This way a more detailed analysis of controller performance bottlenecks as well as obscure behavior is possible.
The current version of the OpenFlow Controller Analyzer "OFCProbe" can be downloaded from:
The OFCProbe source code is available at:
A basic introduction to using the tool can be accessed at:
The following links and documents represent a good starting point to OpenFlow: