You are previewing Software Defined Networking with OpenFlow.
O'Reilly logo
Software Defined Networking with OpenFlow

Book Description

Get hands-on with the platforms and development tools used to build OpenFlow network applications

  • Get to grips with the essentials of OpenFlow and its ecosystem features

  • Thorough overview of OpenSource switches, controllers, and tools

  • Build your own laboratory and develop your own networking apps

In Detail

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.

Table of Contents

  1. Software Defined Networking with OpenFlow
    1. Table of Contents
    2. Software Defined Networking with OpenFlow
    3. Credits
    4. About the Author
    5. About the Reviewers
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Introducing OpenFlow
      1. Understanding Software Defined Networking – OpenFlow flavor
      2. Activities around SDN/OpenFlow
      3. Building Blocks
      4. OpenFlow messages
        1. Controller-to-switch
          1. Features
          2. Configuration
          3. Modify-State
          4. Read-State
          5. Send-Packet
          6. Barrier
        2. Symmetric messages
          1. Hello
          2. Echo
          3. Vendor
        3. Asynchronous messages
          1. Packet-in
          2. Flow-Removal
          3. Port-status
          4. Error
      5. Northbound interface
      6. Summary
    9. 2. Implementing the OpenFlow Switch
      1. OpenFlow reference switch
        1. Asynchronous messages
        2. Symmetric Messages
      2. Hardware Implementations
      3. Software-based switches
      4. OpenFlow laboratory with Mininet
        1. Getting started with Mininet
        2. Experimenting with Mininet
      5. Summary
    10. 3. The OpenFlow Controllers
      1. SDN controllers
      2. Existing implementations
        1. NOX and POX
        2. Running a POX application
        3. NodeFlow
        4. Floodlight
      3. OpenDaylight
        1. Special controllers
      4. Summary
    11. 4. Setting Up the Environment
      1. Understanding the OpenFlow laboratory
        1. External controllers
        2. Completing the OpenFlow laboratory
      2. OpenDaylight
        1. ODL controller
        2. ODL-based SDN laboratory
      3. Summary
    12. 5. "Net App" Development
      1. Net App 1 – an Ethernet learning switch
        1. Building the learning switch
      2. Net App 2 – A simple firewall
      3. Net App 3 – simple forwarding in OpenDaylight
      4. Summary
    13. 6. Getting a Network Slice
      1. Network virtualization
      2. FlowVisor
        1. FlowVisor API
        2. FLOW_MATCH structure
        3. Slice actions structure
      3. FlowVisor slicing
      4. Summary
    14. 7. OpenFlow in Cloud Computing
      1. OpenStack and Neutron
      2. OpenStack Networking Architecture
      3. Neutron plugins
      4. Summary
    15. 8. Open Source Resources
      1. Switches
        1. Open vSwitch
        2. Pantou
        3. Indigo
        4. LINC
        5. XORPlus
        6. OF13SoftSwitch
      2. Controllers
        1. Beacon
        2. Floodlight
        3. Maestro
        4. Trema
        5. FlowER
        6. Ryu
      3. Miscellaneous
        1. FlowVisor
        2. Avior
        3. RouteFlow
        4. OFlops and Cbench
        5. OSCARS
        6. Twister
        7. FortNOX
        8. Nettle
        9. Frenetic
        10. OESS
      4. Summary
    16. Index