OpenFlow is an open interface for remotely controlling tables in network switches, routers, and access points. It is considered a turning point in Software Defined Networking (SDN), data center networking and virtualization as, more secure and efficient data centers are being built using OpenFlow. It defines a protocol that lets a controller use a common set of instructions to add, modify, or delete entries in a switch's forwarding table.
Starting with an introduction to SDN and OpenFlow, you will learn about the role of each building block, moving onto demonstrations of how SDN/OpenFlow can be used to provide new services and features, which will change the way that networking works and the innovative business impacts. By the end of this practical guide, you will have an insight into the Software Defined Networking and OpenFlow fundamentals.
Packed with detail, this book will walk you through the essentials; you will learn about the OpenFlow protocol, switches, and controllers. Following on from this, you will be taken through a number of practical, hands-on examples on how to use a network emulation platform called OpenFlow laboratory. You will learn how to develop your innovative network application using the OpenFlow controller’s API quickly, and test your network application without commissioning any OpenFlow hardware equipment. You will also be introduced to the concept of Software Defined Networking and the details of OpenFlow’s protocol, along with the building blocks of an OpenFlow networking deployment. This book will teach you how to setup your OpenFlow/SDN laboratory using state-of-the-art technology and open source offerings.
A step-by-step, example-based guide which will help you gain hands-on experience with the platforms and debugging tools on OpenFlow
Who this book is for
If you are a network engineer, architect, junior researcher or an application developer, this book is ideal for you. You will need to have some level of network experience, knowledge of broad networking concepts, and some familiarity with day- to- day operation of computer networks. Ideally, you should also be familiar with programing scripting/languages (especially Python and Java), and system virtualization.