NDB [70] |
Mininet |
Tracks down root causes of bugs |
Breakpoints and packet backtracking |
Debugging time overhead |
VeriFlow [72] |
NOX, Mininet |
Checks network invariants in real time and prevents faulty rules |
Flow rule debugging for reachability analysis |
Not suitable for delay-sensitive and QoS-constrained applications |
Flow Checker [75] |
OpenFlow switch, flow table |
Verifies flow tables based on behaviors of flow rules |
Inconsistencies localization in device flow tables |
Can only be used in small network |
Anteater [76] |
Linux, C++, Ruby |
Examines the state of data plane and verifies network invariants |
Control plane configuration analysis |
Inconsistent data plane map generation for dynamically changing FIBs |
NICE [81] |
Mininet, OpenFlow switch, Network X |
Utilizes model checking and symbolic execution for bug investigation |
Simplification of switch modeling and event testing |
Unable to test a controller implemented in the same language |
FPB [82] |
Python, OpenFlow, NOX |
Provides a formal model for consistent policy update |
Least controller intervention |
Buffering ability in case of switch to controller link failure is not discussed |
HSA [83] |
Ubuntu, flow-based management language, Prolog |
Protocol-independent static network-invariant investigations |
No need to modify the protocol for implementation of HSA |
Static space analysis mechanism |
Py-Resonance [84] |
Pyretic, Python |
Utilizes state-based policies to predict network’s behaviour |
Modular network function control |
TCAM under- utilization by least significant policy states in FSM model |
PGA [85] |
Mininet, Pyretic compiler, POX controller |
Composition of ACL policies that inspects multiple policies |
Conflict-free forwarding rule translation |
Scalability issues and support of HW/VM middleboxes |
SFC [87] |
Java-based prototype, OpenFlow switch |
Identifies the anomalies in ACL policies before deployment |
Proactive anomalies detection independent of programming language |
Overhead for generating flow rules at data plane |