Book Image

Software-Defined Networking with OpenFlow - Second Edition

By : SIAMAK AZODOLMOLKY, Oswald Coker
Book Image

Software-Defined Networking with OpenFlow - Second Edition

By: SIAMAK AZODOLMOLKY, Oswald Coker

Overview of this book

OpenFlow paves the way for an open, centrally programmable structure, thereby accelerating the effectiveness of Software-Defined Networking. Software-Defined Networking with OpenFlow, Second Edition takes you through the product cycle and gives you an in-depth description of the components and options that are available at each stage. The aim of this book is to help you implement OpenFlow concepts and improve Software-Defined Networking on your projects. You will begin by learning about building blocks and OpenFlow messages such as controller-to-switch and symmetric and asynchronous messages. Next, this book will take you through OpenFlow controllers and their existing implementations followed by network application development. Key topics include the basic environment setup, the Neutron and Floodlight OpenFlow controller, XORPlus OF13SoftSwitch, enterprise and affordable switches such as the Zodiac FX and HP2920. By the end of this book, you will be able to implement OpenFlow concepts and improve Software-Defined Networking in your projects.
Table of Contents (17 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Free Chapter
1
Software-Defined Networks

Existing implementations


Currently, there are different OpenFlow (and SDN) controller implementations, which we will introduce in more detail in Chapter 9, Open Source Resources, as part of existing open source projects. In this chapter, we limit ourselves to NOX, POX, NodeFlow, Floodlight (which is forked from Beacon), ODL, and Ryu to present some OpenFlow controllers and different possibilities for choosing a programming language to develop the network applications.

NOX and POX

NOX (https://github.com/noxrepo/) was the first OpenFlow controller written in C++ and it provides an API for Python too. It has been the basis for many research and development projects in the early exploration of the OpenFlow and SDN space. NOX has two separate lines of development:

  • NOX-Classic
  • NOX, also known as new NOX

The former is the well-known line of development, which contains support for Python and C++ along with a bunch of network applications. However, this line of development is deprecated and there is...