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

Learning OpenDaylight

Book Description

A practical guide to building programmable networks using OpenDaylight

About This Book

  • Learn and understand how SDN controllers operate and integrate with networks; this book's step-by-step tutorials will give you a strong foundation in SDN, NVF, and OpenDayLight.
  • Learn how to map legacy Layer 2/3 networking technologies in the SDN world
  • Add new services and capabilities to your infrastructure and quickly adopt SDN and NFV within your organization with OpenDayLight.
  • Integrate and manage software-defined networks efficiently in your organization.
  • Build innovative network applications with OpenDayLight and save time and resources.

Who This Book Is For

This book targets network engineers, network programmers and developers, administrators, and anyone with some level of networking experience who'd like to deploy OpenDayLight effectively. Familiarity with the day-to-day operations of computer networks is expected

What You Will Learn

  • Transition from legacy networking to software-defined networking
  • Learn how SDN controllers work and manage a network using southbound and northbound APIs
  • Learn how to deploy the OpenDayLight SDN controller and integrate it with virtual switches
  • Understand the basic design and operation of the OpenDaylight platform
  • Build simple MD-SAL OpenDaylight applications
  • Build applications on top of OpenDayLight to trigger network changes based on different events
  • Integrate OpenStack with OpenDayLight to build a fully managed network
  • Learn how to build a software-defined datacenter using NFV and service-chaining technologies

In Detail

OpenDaylight is an open source, software-defined network controller based on standard protocols. It aims to accelerate the adoption of Software-Defined Networking (SDN) and create a solid foundation for Network Functions Virtualization (NFV).

SDN is a vast subject; many network engineers find it difficult to get started with using and operating different SDN platforms. This book will give you a practical bridge from SDN theory to the practical, real-world use of SDN in datacenters and by cloud providers.

The book will help you understand the features and use cases for SDN, NFV, and OpenDaylight.

NFV uses virtualization concepts and techniques to create virtual classes for node functions. Used together, SDN and NFV can elevate the standards of your network architecture; generic hardware-saving costs and the advanced and abstracted software will give you the freedom to evolve your network in the future without having to invest more in costly equipment.

By the end of this book, you will have learned how to design and deploy OpenDaylight networks and integrate them with physical network switches. You will also have mastered basic network programming over the SDN fabric.

Style and approach

This is a step-by-step tutorial aimed at getting you up-to-speed with OpenDayLight and ready to adopt it for your SDN (Software-Defined Networking) and NFV (Network Functions Virtualization) ecosystem.

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. 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. Downloading the color images of this book
      3. Errata
      4. Piracy
      5. Questions
  2. Introduction to SDN - Transformation from Legacy to SDN
    1. Why are we going towards SDN?
      1. Components of an SDN
      2. Controlling the fabric
    2. Difference between direct fabric programming and overlay
    3. Futuristic view on networking and SDN
    4. BUM (broadcast, unknown, multicast)
    5. SDN controllers
      1. OpenDaylight
      2. Core features of SDN
      3. SDN use cases
        1. Core differentiator between SDN controllers
        2. Current SDN controllers
    6. OpenDaylight as an SDN controller
      1. Traditional networking terms and features in the world of SDN
      2. Summary
  3. Overview of OpenDaylight
    1. Overview of OpenDaylight components
    2. OpenDaylight modules
      1. Authentication, Authorization, and Accounting
      2. Application-Layer Traffic Optimization (ALTO)
      3. BGP LS PCEP
      4. Bit Indexed Explicit Replication
      5. CAPWAP
      6. Cardinal monitoring service
      7. Controller shield - unified security
      8. Device Identification Driver Management (DIDM)
      9. DluxApps the UI
      10. Energy management (EMAN)
      11. Fabric As A Service
      12. Federation
      13. Genius generic network interfaces
      14. Internet of Things Data Management (IoTDM)
      15. L2 switch
      16. Link Aggregation Control Protocol
      17. Messaging4Transport
      18. Network Address Translation (NATApp)
      19. NETCONF as a southbound protocol
      20. NetVirt
      21. NeutronNorthbound
      22. The ODL-SDNi SDN interface
      23. The OF-CONFIG OpenFlow configurator
      24. The OpenFlow protocol library
      25. OpFlex
      26. OVSDB southbound integration
      27. Service function chaining
      28. SNMP4SDN - using SNMP as a southbound protocol
      29. VPNService
      30. Virtual Tenant Network (VTN)
    3. The NeXt UI
    4. Summary
  4. OpenDaylight Installation and Deployment
    1. Plan to deploy OpenDaylight
      1. ODL basics
      2. Prerequisites
        1. Virtual machine size
        2. Operating system
        3. Java
        4. ODL distribution
    2. Standalone installation
      1. IP address settings
      2. Java installation
      3. Downloading and installing ODL
      4. First run with ODL
    3. Distributed installation
      1. Step 1 - Editing the Akka configuration file
      2. Step 2 - Editing the module-shard configuration file
      3. Step 3 - Starting the ODL
      4. Step 4 - Enabling MD-SAL clustering in ODL
    4. Verifying the installation and accessing the web interface
      1. Topology
      2. Node
      3. YANG UI
    5. Running ODL on a Docker container
      1. What's going on behind the scenes of Docker on Windows?
      2. How did we create the ODL container image for Docker?
    6. Summary
  5. Building a Virtual SDN Test Lab with Virtual Switches
    1. What is Mininet?
    2. How to stepwise build a Mininet-enabled virtual switch
      1. Step 1 - Downloading
      2. Step 2 - Importing the Mininet OVF file to a hypervisor
      3. Step 3 - Powering on
      4. Step 4 - Setting the IP address
      5. Step 5 - Basic connectivity testing
    3. Integrating a Mininet virtual switch with OpenDaylight
    4. Mininet commands
    5. Viewing the flow mappings
    6. Using OVS as an SDN-capable virtual switch
      1. Summary
  6. Basic Networking with OpenDaylight
    1. Layer 2 switching in OpenDaylight
      1. Handling the flows
      2. Building the topology
    2. Implementing VLANs and host isolation in OpenDaylight
      1. Virtual Tenant Network (VTN)
        1. VTN Manager
        2. VTN coordinator
    3. OpenDaylight VLAN LAB
      1. Step 1 - Setting up the environment in Mininet
      2. Step 2 - VTN configuration on OpenDaylight
      3. Step 3 - Setting up and building our REST client
      4. Step 4 - Using a REST API to create the virtual tenant and virtual bridges in OpenDaylight
        1. Creating a VTN
        2. Creating the first virtual bridge (vbr1)
        3. Assigning VLAN 100 to virtual bridge 1 (vbr1)
        4. Creating the second virtual bridge (vbr2)
        5. Assigning VLAN 200 to vbr2
      5. Step 5 - Testing
    4. Peering with the outside world using BGP
      1. Enabling BGP
      2. BGP lab
        1. Configuration of OpenDaylight
          1. Step 1 - Changing the RIB configuration
          2. Step 2 - Configuring VyOS
    5. Security - user management
    6. Link aggregation
      1. Configuring LACP
    7. Summary
  7. Overview of OpenDaylight Applications
    1. OpenDaylight applications and why we use them
      1. Communication between modules (apps) in MD-SAL
        1. Service producers and consumers
        2. Declarative versus imperative
    2. Creating MD-SAL applications
      1. Provider implementation
      2. Maven archetype
    3. What is YANG?
      1. What exactly is YANG?
      2. How does ODL use YANG?
    4. Our very first application, HelloWorld
    5. Summary
  8. Building SDN Applications for OpenDaylight
    1. Introduction to network access control via OpenDaylight
    2. What is NAC?
      1. Building the NAC SDN application (web authentication method)
        1. Which NAC software can be used to integrate with OpenDaylight?
        2. Attaching the NAC plugin to OpenDaylight
      2. Implementation of the OSGi component - PacketHandler
    3. Summary
  9. Network Function Virtualization
    1. Virtual network functions (VNFs)
      1. Data centers and enterprises
      2. Service providers
    2. OPNFV and its role in service provider NFV
    3. How OpenDaylight and OPNFV integrate and implement NFVs in service provider networks
    4. Service chaining using OpenDaylight
    5. Examples of forcing traffic to go through a firewall and load balancer
      1. Standalone mode
    6. Example of network traffic broker and capturing
    7. Summary
  10. Building a Software-Driven Data Center with OpenDaylight
    1. Software-defined data center
      1. What happened to compute and storage?
      2. Hyper-converged infrastructure
      3. The limitations of current networking technologies
      4. Can SDN solve the problem?
    2. The integration of OpenStack into OpenDaylight
      1. Multi-tenancy
    3. OpenDayLight's Virtual Tenant Networks
      1. Virtual network components
      2. vBridge functions
        1. vRouter functions
      3. Flow filter functions - access control and policy-based routing
      4. VTN coordinator
        1. VTN installation
      5. How ODL's ML2 plugin works
    4. Automatic network provisioning
    5. Network orchestration
      1. Service providers
      2. Open Network Automation Platform
      3. Software-defined optical networking
    6. Summary