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

Understanding the OpenFlow laboratory


In Chapter 3, Implementing the OpenFlow Switch, we introduced the Mininet network emulation platform as an OpenFlow laboratory. In this section, we present this laboratory in more detail as it is going to be part of our development environment. Mininet uses lightweight virtualization in the Linux kernel to make a single system look like a complete network. A Mininet host behaves just like a real machine; you can establish an SSH session into it (if you start up an SSH daemon and bridge the network to your host) and run arbitrary programs (anything that runs on Linux is available for you to run, from web servers to Wireshark to Iperf). However, Mininet uses a single Linux kernel for all virtual hosts; this means that you can't run software that depends on BSD, Windows, or other operating systems.

Currently, Mininet supports Network Address Translation (NAT) by default using the mn --nat command.

This allows your virtual hosts to communicate with the internet...