Chapter 1, Software-Defined Networks, introduces you to the foundational topics that need to be covered before a deep dive into SDN and OpenFlow.
Chapter 2, Introducing OpenFlow, introduces OpenFlow, its role in the SDN ecosystem, and how it works in a computer network. This chapter shapes the required knowledge prior to the actual setup of an experimental environment. The notion of flow forwarding, OpenFlow functions, what OpenFlow tables can do, and features and limitations of OpenFlow have revisited again in this chapter.
Chapter 3, Implementing the OpenFlow Switch, covers the available implementations of OpenFlow switches, including hardware and software implementations.
Chapter 4, The OpenFlow Controllers, covers the role of OpenFlow controllers as a control entity for OpenFlow switches and the provided API (that is, northbound interface) for the development of OpenFlow-based network applications (Net Apps).
Chapter 5, Setting Up the Environment, introduces the options for OpenFlow switches and controllers. It also covers the environment for Net App development. This chapter focuses on the installation of virtual machines (VMs) and tools (for example, Mininet and Wireshark), which will be used in the next chapters for Net App development.
Chapter 6, Net App Development, covers developing sample network applications (for example, learning switch, firewall, and DHCP spoofing) to show how OpenFlow provides the common ground for Net App development.
Chapter 7, Getting a Network Slice, covers network slicing using OpenFlow and FlowVisor. A setup will be planned and the chapter will show how to configure and use a slice of the network using FlowVisor.
Chapter 8, OpenFlow in Cloud Computing, focuses on the role of OpenFlow in cloud computing and, in particular, the installation and configuration of OpenStack's Neutron. Neutron is an incubated OpenStack project that provides network connectivity as a service (NaaS) between interface devices (for example, vNICs or virtual network interface cards), which are managed by other OpenStack services.
Chapter 9, Open Source Resources, explains and gives pointers to the important open source projects that network engineers and/or administrators can utilize in their production environment. These projects range from controllers, virtualization tools, and orchestration tools to simulation and testing utilities.
Chapter 10, SDN Future, provides more insight into innovations expected to be introduced into SDN and OpenFlow.