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

Book Description

Software Defined Networking: Design and Deployment provides a comprehensive treatment of software defined networking (SDN) suitable for new network managers and experienced network professionals. Presenting SDN in context with more familiar network services and challenges, this accessible text:

  • Explains the importance of virtualization, particularly the impact of virtualization on servers and networks
  • Addresses SDN, with an emphasis on the network control plane
  • Discusses SDN implementation and the impact on service providers, legacy networks, and network vendors
  • Contains a case study on Google’s initial implementation of SDN
  • Investigates OpenFlow, the hand-in-glove partner of SDN
  • Looks forward toward more programmable networks and the languages needed to manage these environments

Software Defined Networking: Design and Deployment offers a unique perspective of the business case and technology motivations for considering SDN solutions. By identifying the impact of SDN on traffic management and the potential for network service growth, this book instills the knowledge needed to manage current and future demand and provisioning for SDN.

Table of Contents

  1. Preface
  2. About the authors
  3. List of abbreviations
  4. Chapter 1 - Virtualization
    1. 1.1 Introduction
    2. 1.2 Virtual memory
      1. 1.2.1 Virtual memory operation
      2. 1.2.2 Virtual and physical memory mapping
    3. 1.3 Server virtualization
      1. 1.3.1 Importance of virtualizing servers
      2. 1.3.2 Hypervisor role in server virtualization
      3. 1.3.3 Types of virtualization
      4. 1.3.4 Server virtualization in operation
    4. 1.4 Storage virtualization
      1. 1.4.1 Computer storage operation
      2. 1.4.2 Network-attached storage
      3. 1.4.3 Storage-area networks
      4. 1.4.4 Server-based storage virtualization
      5. 1.4.5 Storage-network-based storage virtualization
        1. 1.4.5.1 In-band
        2. 1.4.5.2 Out-of-band
      6. 1.4.6 Storage-controller-based storage virtualization
  5. Chapter 2 - Software-defined networking
    1. 2.1 Introduction
    2. 2.2 Network limitations
    3. 2.3 Network control plane
      1. 2.3.1 Forwarding function
      2. 2.3.2 Network state function
      3. 2.3.3 Configuration function
      4. 2.3.4 Separation of functionality
    4. 2.4 Applications
  6. Chapter 3 - SDN implementation
    1. 3.1 Introduction
    2. 3.2 SDN design
      1. 3.2.1 Separation of the control and data planes
      2. 3.2.2 Edge-oriented networking
    3. 3.3 SDN operation
  7. Chapter 4 - Service providers and SDN
    1. 4.1 Introduction
    2. 4.2 Telecommunication SDN attributes
    3. 4.3 Telecommunication SDN services
  8. Chapter 5 - SDN development
    1. 5.1 Introduction
    2. 5.2 Existing network limitations
    3. 5.3 Programmable networks
    4. 5.4 Network/application information
    5. 5.5 Legacy to SDN
    6. 5.6 SDN application services
      1. 5.6.1 Service-engineered path
      2. 5.6.2 Service appliance pooling
      3. 5.6.3 Content request routing
      4. 5.6.4 Bandwidth calendaring
      5. 5.6.5 Social networking
  9. Chapter 6 - Network vendors and SDN
    1. 6.1 Introduction
    2. 6.2 Cisco
    3. 6.3 VMware
    4. 6.4 Juniper
    5. 6.5 OpenDaylight
    6. 6.6 Big Switch networks
  10. Chapter 7 - Google and SDN
    1. 7.1 Introduction
    2. 7.2 Earlier network management
    3. 7.3 Motivation for solution
    4. 7.4 Network testing
    5. 7.5 Simulating the Google WAN
    6. 7.6 Google and SDN
    7. 7.7 Google’s G-Scale network
      1. 7.7.1 Google’s G-Scale network hardware
      2. 7.7.2 Google SDN deployment
        1. 7.7.2.1 Bandwidth brokering and traffic engineering
        2. 7.7.2.2 Deployment results
    8. 7.8 Implementation challenges
    9. 7.9 Lessons learned
  11. Chapter 8 - OpenFlow
    1. 8.1 Introduction
    2. 8.2 Overview of the OpenFlow switch specification
      1. 8.2.1 OpenFlow ports
      2. 8.2.2 OpenFlow packet-processing pipeline
        1. 8.2.2.1 Flow tables
        2. 8.2.2.2 Matching
        3. 8.2.2.3 Table-miss
        4. 8.2.2.4 Flow removal
        5. 8.2.2.5 Meter table
        6. 8.2.2.6 Instructions
        7. 8.2.2.7 Action set
        8. 8.2.2.8 Action list
    3. 8.3 OpenFlow channel
      1. 8.3.1 Message handling
      2. 8.3.2 OpenFlow channel connections
    4. 8.4 Controller modes
      1. 8.4.1 Auxiliary connection use for performance and reliability
      2. 8.4.2 Flow table synchronization
      3. 8.4.3 Bundle messages
    5. 8.5 OpenFlow configuration-and-management protocol
      1. 8.5.1 Remote configuration
      2. 8.5.2 Connection establishment between switch and controller
      3. 8.5.3 OF-CONFIG transport protocol
    6. 8.6 The conformance test specification for OpenFlow Switch Specification 1.0.1
    7. 8.7 The OpenFlow™ conformance testing program
  12. Chapter 9 - SDN evolution
    1. 9.1 Introduction
    2. 9.2 SDN and enterprise networks
    3. 9.3 SDN and transport networks
    4. 9.4 SDN and optical transport networks
    5. 9.5 Increasing WAN utilization with SDN
    6. 9.6 How scalable are software-defined networks?
      1. 9.6.1 SDN scalability issues
      2. 9.6.2 Controller designs for scalability
      3. 9.6.3 Potential SDN scalability issues
      4. 9.6.4 Network types
      5. 9.6.5 Next steps
    7. 9.7 SDN management
      1. 9.7.1 Network state queries using Frenetic
      2. 9.7.2 Network policy creation using Frenetic
      3. 9.7.3 Consistent updates with Frenetic
    8. 9.8 Elastic and distributed SDN controllers
      1. 9.8.1 Switch migration using the ElastiCon distributed controller
      2. 9.8.2 Load adaptation
    9. 9.9 Summary
  13. References