ABSTRACT

OpenFlow [1] has matured from an academic experiment to a networking tool that is starting to be deployed in real-world scenarios, reflected in an increasing number of use cases for OpenFlow, which have moved from initial exploration and demonstration to actual

Introduction 17 State of the Art 18

SW Design Cycle 19 Component-Based SW Engineering 20

OpenFlow Tools 22 OpenFlow Switches and Controllers 22 Nox 22 Pox 23 Java-Based OpenFlow Controllers: Beacon and Floodlight 23 Trema 23 Simulating OpenFlow on NS-3 24 OpenFlow NW Emulation Environments 24 Applications Beyond the Pure OpenFlow Control Plane 24 Programming Languages 24 OpenFlow Debuggers 25 OpenFlow Testbeds 27

OpenFlow in a Box 27 The Coming Steps toward an IDE 32 Acronyms 34 Acknowledgment 35 References 35

deployments in production environments. Meanwhile, new potential applications of these technologies are being proposed in different areas, from security to transport networks (NWs). In addition to the features offered by OpenFlow itself, another significant factor has been the availability of simple-to-use NW emulation environments, as well as development tools, which have allowed users to gain early hands-on experience.