OpenFlow Controllers over EstiNet Network Simulator and Emulator : Functional Validation and Performance Evaluation

In this article, we use the EstiNet OpenFlow network simulator and emulator to perform functional validation and performance evaluation of the widely-used NOX OpenFlow controller. EstiNet uses an unique kernel reentering simulation methodology to enable real applications to run on nodes in its simulated network. As a result, without any modification, the real NOX OpenFlow controller readily runs on a host in an EstiNet simulated network to control thousands of simulated OpenFlow switches. Using EstiNet as the testing and evaluation platform, we studied how NOX implements the learning bridge protocol (LBP) and the spanning tree protocol (STP) based on the OpenFlow 1.0 protocol. Our simulation results show that these protocols, which are implemented as loadable components in NOX, do not synchronize their gathered information well and thus NOX may give wrong forwarding instructions to an OpenFlow switch after a link failure. We also found that when NOX’s STP detects a link failure, it does not send a message to an affected OpenFlow switch to delete obsolete flow entries. As a result, because the obsolete flow entry expires only after an idle period of 5 seconds, it may be matched and used endlessly causing the OpenFlow switch to continue to forward incoming matched packets onto a broken link. Our results reveal that the LBP and STP components provided in NOX serve only as basic implementations and lack information synchronization, and there is much room left to further enhance