O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Software-Defined Networking (SDN) with OpenStack

Book Description

Leverage the best SDN technologies for your OpenStack-based cloud infrastructure

About This Book

  • Learn how to leverage critical SDN technologies for OpenStack Networking APIs via plugins and drivers
  • Champion the skills of achieving complete SDN with OpenStack with specific use cases and capabilities only covered in this title
  • Discover exactly how you could implement cost-effective OpenStack SDN integration for your organization

Who This Book Is For

Administrators, and cloud operators who would like to implement Software Defined Networking on OpenStack clouds. Some prior experience of network infrastructure and networking concepts is assumed.

What You Will Learn

  • Understand how OVS is used for Overlay networks
  • Get familiar with SDN Controllers with Architectural details and functionalities
  • Create core ODL services and understand how OpenDaylight integrates with OpenStack to provide SDN capabilities
  • Understand OpenContrail architecture and how it supports key SDN functionality such as Service Function Chaining (SFC) along with OpenStack
  • Explore Open Network Operating System (ONOS) – a carrier grade SDN platform embraced by the biggest telecom service providers
  • Learn about upcoming SDN technologies in OpenStack such as Dragonflow and OVN

In Detail

Networking is one the pillars of OpenStack and OpenStack Networking are designed to support programmability and Software-Defined Networks. OpenStack Networking has been evolving from simple APIs and functionality in Quantum to more complex capabilities in Neutron.

Armed with the basic knowledge, this book will help the readers to explore popular SDN technologies, namely, OpenDaylight (ODL), OpenContrail, Open Network Operating System (ONOS) and Open Virtual Network (OVN).

The first couple of chapters will provide an overview of OpenStack Networking and SDN in general. Thereafter a set of chapters are devoted to OpenDaylight (ODL), OpenContrail and their integration with OpenStack Networking. The book then introduces you to Open Network Operating System (ONOS) which is fast becoming a carrier grade SDN platform. We will conclude the book with overview of upcoming SDN projects within OpenStack namely OVN and Dragonflow.

By the end of the book, the readers will be familiar with SDN technologies and know how they can be leveraged in an OpenStack based cloud.

Style and approach

A hands-on practical tutorial through use cases and examples for Software Defined Networking with OpenStack.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Software-Defined Networking (SDN) with OpenStack
    1. Software-Defined Networking (SDN) with OpenStack
    2. Credits
    3. About the Authors
    4. About the Reviewer
    5. www.PacktPub.com
      1. Why subscribe?
    6. 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 color images of this book 
        2. Errata
        3. Piracy
        4. Questions
    7. 1. OpenStack Networking in a Nutshell
      1. Virtual and physical networking
        1. Tenant isolation
      2. Layer 2 (L2) capabilities in OpenStack
        1. Creating a network using OpenStack CLI
        2. Creating a subnet using OpenStack CLI
        3. Associating a network and subnet to a virtual machine
      3. Layer 3 (L3) capabilities in OpenStack
        1. Creating a router using OpenStack CLI
        2. Associating a subnetwork to a Router
      4. Securing network traffic in OpenStack
        1. Using security groups to secure traffic within a network
        2. Using firewall service to secure traffic
      5. Advanced networking services
        1. Load Balancing as a Service (LBaaS)
        2. Virtual Private Network as a Service (VPNaaS)
      6. OpenStack and SDN context
        1. Choice of technology
        2. OpenStack API for networking
      7. Summary
    8. 2. Introduction to Software-Defined Networking
      1. Components of traditional networks
        1. Key aspects of the networking planes
      2. Challenges faced by traditional networks
        1. Control plane challenges
        2. Management plane challenges
      3. SDN reference architecture
        1. Control plane improvements with SDN
        2. Management plane improvements with SDN
      4. SDN and OpenStack
        1. OpenStack and Network abstractions
        2. OpenStack and RESTful API
        3. OpenStack and centralized management
      5. Summary
    9. 3. SDN Protocols
      1. Getting familiar with SDN protocols
        1. Open vSwitch
      2. Configuration management protocols
        1. Protocols
        2. YANG
        3. YIN
        4. pyang
        5. NETCONF
        6. Netopeer
        7. OF-CONFIG
        8. OVSDB
        9. JSON-RPC transport
        10. OVSDB schema
        11. OF-CONFIG server for Open vSwitch
      3. Understanding OpenFlow
        1. OpenFlow as an API
        2. OpenFlow as a control plane
        3. OpenFlow tables
        4. OpenFlow matching
        5. OpenFlow actions and instructions
        6. OpenFlow Wireshark Dissector
      4. Summary
    10. 4. SDN Networking with Open vSwitch
      1. OVS Networking with Linux Network namespace
      2. OVS networking with SDN controller
      3. OVS and Mininet
      4. OVS connected to virtual machines
      5. OpenStack Neutron
        1. Neutron services layout
        2. Open vSwitch (OVS) plugin and agent
      6. Summary
    11. 5. Getting Started with OpenDaylight
      1. Introduction to OpenDaylight
      2. Architecture of OpenDaylight
        1. REST API
        2. Controller platform
        3. SAL
        4. Protocol plugins
      3. Installing ODL
        1. Version
        2. Prerequisites
        3. Installation procedure
        4. Installing DLUX GUI
        5. Installing the L2 Switch package
      4. Using ODL to manage Open vSwitch
      5. Installing and configuring OVS
      6. Managing OVS Using OpenDaylight
      7. ODL and OpenStack
      8. Summary
    12. 6. Using OpenDaylight with OpenStack
      1. Integrating OpenDaylight with OpenStack
        1. Components of ODL and Neutron integration
      2. Configuring OpenStack Neutron for ODL
        1. Installing OpenDaylight features
        2. Configuring Neutron on the OpenStack controller node
        3. Configuring Neutron on the compute node(s)
        4. Verifying the complete setup
      3. Introduction to Virtual Tenant Network (VTN)
        1. Multi-tenancy
        2. Virtualizing the network
        3. Service chaining
        4. OpenDaylight Virtual Tenant Network
        5. VTN model
        6. Installing VTN manager
      4. VTN and OpenStack
        1. VTN to OpenStack entity mapping
      5. Summary
    13. 7. Getting Started with OpenContrail
      1. Introduction to OpenContrail
        1. History
        2. Use cases
      2. OpenContrail architecture
        1. vRouter
          1. Compute Node components
          2. Functions of vRouter agent
          3. Functions of vRouter forwarding plane
        2. Controller
          1. Configuration Node
          2. Control Node
          3. Analytics Node
          4. Scalability
      3. Putting it all together
      4. Installing OpenContrail
        1. Version
        2. Prerequisites
        3. Installing OpenContrail
      5. OpenContrail and OpenStack
        1. Neutron and Nova integration
        2. High-level flow of requests from OpenStack
      6. Summary
    14. 8. OpenContrail Networking with OpenStack
      1. OpenContrail integration with OpenStack
        1. DevStack-based installation
        2. OpenStack services used by OpenContrail
      2. Virtual network management in OpenContrail
        1. Creating virtual networks and VM instances
        2. Monitoring virtual router and virtual networks
      3. Flow of data packets in OpenContrail
        1. Traffic isolation using encapsulation
        2. Flow of packets in OpenContrail
      4. Service chaining using OpenContrail
      5. Summary
    15. 9. Open Network Operating System (ONOS)
      1. Introduction to ONOS
      2. Architecture of ONOS
        1. Prerequisites for installing ONOS
        2. Installing ONOS
        3. Installing application components
      3. Using ONOS to manage Open vSwitch
      4. Intent framework
      5. Distributed ONOS
      6. Central Office Re-architected as Datacenter
      7. Extensible Cloud Operating System
      8. Summary
    16. 10. OVN and Open vSwitch Enhancements
      1. Open vSwitch components in network node
        1. Neutron DHCP
        2. Neutron routing
        3. Neutron DVR
      2. Open vSwitch components in compute host
      3. OVN - Native Virtual Networking Open vSwitch
        1. Drivers for OVN
        2. Working with OVN
        3. OVN firewall
      4. OVN and OpenStack
        1. Running OVN using DevStack
        2. Mapping of Neutron and OVN object models
          1. Network and logical switch
          2. Subnet and DHCP
          3. Neutron port and OVN port
          4. Other mappings
        3. OVN's roadmap for OpenStack
      5. Neutron Dragonflow
      6. Data Path Development Kit (DPDK)
        1. Open vSwitch with DPDK
        2. Neutron with Open vSwitch + DPDK
      7. Summary