logo资料库

Software Defined Networks A Comprehensive Approach 2nd Edition P....pdf

第1页 / 共420页
第2页 / 共420页
第3页 / 共420页
第4页 / 共420页
第5页 / 共420页
第6页 / 共420页
第7页 / 共420页
第8页 / 共420页
资料共420页,剩余部分请下载后查看
Contents
Foreword
Preface
Chapter 1: Introduction
1.1. Basic Packet Switching Terminology
1.2. Historical Background
1.3. The Modern Data Center
1.4. Traditional Switch Architecture
1.4.1. Data, Control, and Management Planes
1.4.2. Software-Based Routing and Bridging
1.4.3. Hardware Look-Up of Forwarding Tables
1.4.4. Generically Programmable Forwarding Rules
1.5. Autonomous and Dynamic Forwarding Tables
1.5.1. Layer Two Control
1.5.2. Layer Three Control
1.5.3. Protocol Soup or (S)witch's Brew?
1.6. Can We Increase the Packet Forwarding IQ?
1.7. Open Source and Technological Shifts
1.8. Organization of the Book
References
Chapter 2: Why SDN?
2.1. Evolution of Switches and Control Planes
2.1.1. Simple Forwarding and Routing Using Software
2.1.2. Independence and Autonomy in Early Devices
2.1.3. Software Moves Into Silicon
2.1.4. Hardware Forwarding and Control in Software
2.1.5. The Growing Need for Simplification
2.1.6. Moving Control Off of the Device
2.2. Cost
2.2.1. Increased Cost of Development
2.2.2. Closed Environments Encourage Vendor Lock-in
2.2.3. Complexity and Resistance to Change
2.2.4. Increased Cost of Operating the Network
2.3. SDN Implications for Research and Innovation
2.3.1. Status Quo Benefits Incumbent Vendors
2.3.2. SDN Promotes Research and Innovation
2.4. Data Center Innovation
2.4.1. Compute and Storage Virtualization
2.4.2. Inadequacies in Networks Today
2.5. Data Center Needs
2.5.1. Automation
2.5.2. Scalability
2.5.3. Multipathing
2.5.4. Multitenancy
2.5.5. Network Virtualization
2.6. Conclusion
References
Chapter 3: Genesis of SDN
3.1. The Evolution of Networking Technology
3.1.1. Mainframe Networking: Remote Terminals
3.1.2. Peer-to-Peer Point-to-Point Connections
3.1.3. Local Area Networks
3.1.4. Bridged Networks
3.1.5. Routed Networks
3.2. Forerunners of SDN
3.2.1. Early Efforts
3.2.2. Network Access Control
3.2.3. Orchestration
3.2.4. Virtualization Manager Network Plug-ins
3.2.5. ForCES: Separation of Forwarding and Control Planes
3.2.6. 4D: Centralized Network Control
3.2.7. Ethane: Controller-Based Network Policy
3.3. Legacy Mechanisms Evolve Toward SDN
3.4. Software Defined Networking Is Born
3.4.1. The Birth of OpenFlow
3.4.2. Open Networking Foundation
3.5. Sustaining SDN Interoperability
3.6. Open Source Contributions
3.6.1. The Power of the Collective
3.6.2. The Danger of the Collective
3.6.3. Open Source Contributions to SDN
3.7. Network Virtualization
3.8. May I Please Call My Network SDN?
3.9. Conclusion
References
Chapter 4: How SDN Works
4.1. Fundamental Characteristics of SDN
4.1.1. Plane Separation
4.1.2. Simple Device and Centralized Control
4.1.3. Network Automation and Virtualization
4.1.4. Openness
4.2. SDN Operation
4.3. SDN Devices
4.3.1. Flow Tables
4.3.2. SDN Software Switches
4.3.3. Hardware SDN Devices
4.3.4. Existing SDN Device Implementations
4.3.5. Scaling the Number of Flows
4.4. SDN Controller
4.4.1. SDN Controller Core Modules
4.4.2. SDN Controller Interfaces
4.4.3. Existing SDN Controller Implementations
4.4.4. Potential Issues With the SDN Controller
4.5. SDN Applications
4.5.1. SDN Application Responsibilities
4.6. Alternate SDN Methods
4.6.1. SDN via APIs
4.6.2. Benefits and Limitations of SDN via APIs
4.6.3. SDN via Hypervisor-Based Overlay Networks
4.7. Conclusion
References
Chapter 5: The OpenFlow Specification
5.1. Chapter-Specific Terminology
5.2. OpenFlow Overview
5.2.1. The OpenFlow Switch
5.2.2. The OpenFlow Controller
5.2.3. The OpenFlow Protocol
5.2.4. The Controller-Switch Secure Channel
5.3. OpenFlow 1.0 and OpenFlow Basics
5.3.1. Ports and Port Queues
5.3.2. Flow Table
5.3.3. Packet Matching
5.3.4. Actions and Packet Forwarding
5.3.5. Messaging Between Controller and Switch
5.3.6. Example: Controller Programming Flow Table
5.3.7. Example: Basic Packet Forwarding
5.3.8. Example: Switch Forwarding Packet to Controller
5.4. OpenFlow 1.1 Additions
5.1. Multiple Flow Tables
5.4.2. Groups
5.4.3. MPLS and VLAN Tag Support
5.4.4. Virtual Ports
5.4.5. Controller Connection Failure
5.4.6. Example: Forwarding With Multiple Flow Tables
5.4.7. Example: Multicast Using V.1.1 Groups
5.5. OpenFlow 1.2 Additions
5.5.1. Extensible Match Support
5.5.2. Extensible SET_FIELD Packet Rewriting Support
5.5.3. Extensible Context Expression in PACKET_IN
5.5.4. Multiple Controllers
5.5.5. Example: Bridging VLANs Through SP Networks
5.6. OpenFlow 1.3 Additions
5.6.1. Refactor Capabilities Negotiation
5.6.2. More Flexible Table-Miss Support
5.6.3. Per Flow Meters
5.6.4. Per Connection Event Filtering
5.6.5. Auxiliary Connections
5.6.6. Cookies in Packet-in
5.6.7. Provider Backbone Bridging Tagging
5.6.8. Example: Enforcing QoS via Meter Bands
5.7. OpenFlow 1.4 Additions
5.7.1. Bundles
5.7.2. Eviction and Vacancy Events
5.7.3. Enhanced Support for Multiple Controllers
5.7.4. Optical Port Support
5.7.5. Flow Table Synchronization
5.8. OpenFlow 1.5 Additions
5.8.1. Enhanced L4–L7 Support
5.8.2. Pipeline Processing Enhancements
5.8.3. Egress Tables
5.8.4. Fitness for Carrier Use
5.8.5. Bundle Enhancements
5.8.6. Enhanced Support for Multiple Controllers
5.8.7. Enhanced Support for Tunnels
5.8.8. Enhancements to Flow Entry Statistics
5.8.9. Summary
5.9. mproving OpenFlow Interoperability
5.9.1. Table Type Patterns
5.9.2. Flow Objectives
5.10. Optical Transport Protocol Extensions
5.10.1. Match/Action Support
5.10.2. Optical Port Attribute Support
5.10.3. Adjacency Discovery
5.10.4. Future Work Needed
5.11. OpenFlow Limitations
5.12. Conclusion
References
Chapter 6: Alternative Definitions of SDN
6.1. Potential Drawbacks of Open SDN
6.1.1. Too Much Change, Too Quickly
6.1.2. Single Point of Failure
High availability controller with hardened links
6.1.3. Performance and Scale
6.1.4. Deep Packet Inspection
Limitations on matching resulting from security mechanisms
6.1.5. Stateful Flow Awareness
6.1.6. Summary
6.2. SDN via APIs
6.2.1. Legacy APIs in Network Devices
6.2.2. NETCONF/YANG
6.2.3. BGP-LS/PCE-P
6.2.4. REST
6.2.5. Examples of SDN via APIs
Cisco
OpenDaylight
Juniper
Arista
6.2.6. Ranking SDN via APIs
6.3. SDN via Hypervisor-Based Overlays
6.3.1. Overlay Controller
6.3.2. Overlay Operation
6.3.3. Examples of SDN via Hypervisor-Based Overlays
6.3.4. Ranking SDN via Hypervisor-Based Overlays
6.4. SDN via Opening Up the Device
6.5. Network Functions Virtualization
6.6. Alternatives Overlap and Ranking
6.7. Conclusion
References
Chapter 7: Emerging Protocol, Controller & Application Models
7.1. Expanded Definitions of SDN
7.1.1. Impact of Major NEMs in the SDN Arena
7.1.2. Network Management Versus SDN
7.1.3. Benefits of Network Management-Based SDN
7.1.4. Limitations of Network Management-Based SDN
7.2. Additional SDN Protocol Models
7.2.1. Using Existing Protocols to Create SDN Solutions
7.2.2. Using the NETCONF Protocol for SDN
NETCONF and YANG
NETCONF and RESTCONF
7.2.3. Using the BGP Protocol for SDN
7.2.4. Using the BGP-LS Protocol for SDN
7.2.5. Using the PCE-P Protocol for SDN
7.2.6. Using the MPLS Protocol for SDN
7.3. Additional SDN Controller Models
7.3.1. Controllers With Multiple Southbound Plugins
7.3.2. Controllers With Model-Driven Internal Design
7.3.3. Controllers Targeting Service Provider Solutions
ODL and service providers
ONOS and service providers
7.3.4. Controllers Built for Scalability
ODL and scalability, performance, and high-availability
ONOS and scalability, performance, and high-availability
7.3.5. Controllers Built for Intents-Based Applications
7.4. Additional Application Models
7.4.1. Proactive Application Focus
7.4.2. Declarative Application Focus
7.4.3. External Application Focus
7.5. New Approaches to SDN Security
7.5.1. Security Aspects of Reactive Applications
7.5.2. Security for Network Management Applications
7.5.3. Security Benefits of External Applications
7.6. The P4 Programming Language
7.7. Conclusion
References
Chapter 8: SDN in the Data Center
8.1. Data Center Definition
8.2.1 Data Center Demands
8.2.1. Overcoming Current Network Limitations
MAC address explosion
Number of VLANs
Spanning tree
8.2.2. Adding, Moving, and Deleting Resources
8.2.3. Failure Recovery
8.2.4. Multitenancy
8.2.5. Traffic Engineering and Path Efficiency
8.3. Tunneling Technologies for the Data Center
8.3.1. Virtual eXtensible Local Area Network
8.3.2. Network Virtualization Using GRE
8.3.3. Stateless Transport Tunneling
8.4. Path Technologies in the Data Center
8.4.1. General Multipath Routing Issues
8.4.2. Multiple Spanning Tree Protocol
8.4.3. Shortest Path Bridging
8.4.4. Equal-Cost Multipath
8.4.5. SDN and Shortest-Path Complexity
8.5. Ethernet Fabrics in the Data Center
8.6. SDN Use Cases in the Data Center
8.6.1. Overcoming Current Network Limitations
SDN via Overlays
Open SDN
SDN via APIs
8.6.2. Adding, Moving, and Changing Resources
SDN via Overlays
Open SDN
SDN via APIs
8.6.3. Failure Recovery
SDN via Overlays
Open SDN
SDN via APIs
8.6.4. Multitenancy
SDN via Overlays
Open SDN
SDN via APIs
8.6.5. Traffic Engineering and Path Efficiency
SDN via Overlays
Open SDN
SDN via APIs
8.7. Comparison of Open SDN, Overlays, and APIs
SDN via Overlays
Open SDN
SDN via APIs
8.8. Real-World Data Center Implementations
8.9. Conclusion
References
Chapter 9: SDN in Other Environments
9.1. Wide Area Networks
9.1.1. SDN Applied to the WAN
9.1.2. Example: MPLS LSPs in the Google WAN
9.2. Service Provider and Carrier Networks
9.2.1. SDN Applied to SP and Carrier Networks
9.2.2. Example: MPLS-TE and MPLS VPNs
9.2.3. Example: Cloud Bursting With Service Providers
9.3. Campus Networks
9.3.1. SDN on Campus: Application of Policy
9.3.2. SDN on Campus: Device and User Security
9.3.3. SDN on Campus: Traffic Suppression
9.4. Hospitality Networks
9.5. Mobile Networks
9.5.1. SDN Applied to Mobile Networks
9.6. Optical Networks
9.6.1. SDN Applied to Optical Networks
9.6.2. Example: Fujitsu's Use of SDN in Optical Networks
9.7. SDN vs P2P/Overlay Networks
9.8. Conclusion
References
Chapter 10: Network Functions Virtualization
10.1. Definition of NFV
10.2. What Can We Virtualize?
10.3. Standards
10.4. OPNFV
10.5. Leading NFV Vendors
10.6. SDN vs NFV
10.6.1. When Should NFV Be Used With SDN?
10.7. In-Line Network Functions
10.7.1. SDN Applied to Server Load-balancing
10.7.2. SDN Applied to Firewalls
10.7.3. SDN Applied to Intrusion Detection
10.8. Conclusion
References
Chapter 11: Players in the SDN Ecosystem
11.1. Academic Research Institutions
11.1.1. Key Contributors to SDN From Academia
11.2. Industry Research Labs
11.3. Network Equipment Manufacturers
11.4. Software Vendors
11.5. White-Box Switches
11.6. Merchant Silicon Vendors
11.7. Original Device Manufacturers
11.8. Cloud Services and Service Providers
11.9. Standards Bodies and Industry Alliances
11.9.1. Open Networking Foundation
11.9.2. OpenDaylight
11.9.3. ONOS
11.9.4. OpenStack
11.9.5. OpenSwitch
11.9.6. The Open Source SDN Community
11.9.7. IETF
11.10. Conclusion
References
Chapter 12: SDN Applications
12.1. Terminology
12.2. Before You Begin
12.3. Application Types
12.3.1. Reactive vs Proactive Applications
12.3.2. Internal vs External Applications
12.3.3. Details: Reactive SDN Applications
12.3.4. Details: Proactive SDN Applications
12.3.5. Details: Internal SDN Applications
12.3.6. Details: External SDN Applications
12.4. A Brief History of SDN Controllers
12.5. Using Floodlight for Training Purposes
12.6. A Simple Reactive Java Application
12.6.1. Blacklisting Hostnames
12.6.2. Blacklisting IP Addresses
12.6.3. Blacklist: Listeners
12.6.4. Blacklist: Packet Handlers
12.6.5. Blacklist: Flow Management
12.7. Controller Considerations
12.7.1. OpenDaylight
12.8. ONOS
12.8. Network Device Considerations
12.8.1. OpenFlow Device Considerations
12.8.2. Non-OpenFlow Device Considerations
NETCONF
BGP-LS/PCE-P
12.9. Creating Network Virtualization Tunnels
12.10. Offloading Flows in the Data Center
12.11. Access Control for the Campus
12.12. Traffic Engineering for Service Providers
12.13. Conclusion
References
Chapter 13: SDN Open Source
13.1. SDN Open Source Landscape
13.2. The OpenFlow Open Source Environment
13.3. Chapter-Specific Terminology
13.4. Open Source Licensing Issues
13.5. Profiles of SDN Open Source Users
13.6. OpenFlow Source Code
13.7. Switch Implementations
13.8. Controller Implementations
13.8. Historical Background
13.8.2. OpenDaylight
13.8.3. ONOS
13.9. SDN Applications
13.9.1. Open Source SDN Community Projects
13.10. Orchestration and Network Virtualization
13.11. Simulation, Testing, and Tools
13.12. Open Source Cloud Software
13.12.1. OpenStack
13.12.2. CloudStack
13.13. Example: Applying SDN Open Source
13.14. Conclusion
References
Chapter 14: Business Ramifications
14.1. Everything as a Service
14.2. Market Sizing
14.3. Classifying SDN Vendors
14.3.1. Server Virtualization Incumbents and SDN
14.3.2. Value-Added Resellers
14.4. Impact on Incumbent NEMs
14.4.1. Protect Market Share
14.4.2. Innovate a Little
14.5. Impact on Enterprise Consumers
14.5.1. Reduced Equipment Costs
14.5.2. Avoiding Chaos
14.6. Turmoil in the Networking Industry
14.6.1. Fewer and Fewer Large NEMs
14.6.2. Migration to Cloud Computing
14.6.3. Channel Dynamics
14.7. Venture Capital
14.8. Major SDN Acquisitions
14.8.1. VMware
14.8.2. Juniper
14.8.3. Brocade
14.8.4. Cisco
14.8.5. Hewlett-Packard
14.8.6. Ciena
14.8.7. Cradlepoint
14.9. SDN Startups
14.9.1. OpenFlow Stalwarts
14.9.2. Non-OpenFlow White-Box Ventures
14.9.3. An OpenFlow ASIC?
14.9.4. Data Center Network Virtualization
14.9.5. WAN Network Virtualization: SD-WAN
14.9.6. Network Functions Virtualization
14.9.7. Optical Switching
14.9.8. Mobility and SDN at the Network Edge
14.10. Career Disruptions
14.11. Conclusion
References
Chapter 15: SDN Futures
15.1. Current State of Affairs
15.2. SD-WAN
The devil is in the details
15.3. Potential Novel Applications of Open SDN
15.3.1. Managing Nontraditional Physical Layer Links
15.3.2. Applying Programming Techniques to Networks
Network debugger
No bugs in controller execution
Veriflow
Proof-based verification of SDNs
Yet another network controller
Software defined networks as databases
15.3.3. Security Applications
Hiding IP addresses
Flowguard
Segregating IPSec traffic in mobile networks
15.3.4. Roaming in Mobile Networks
Mobile traffic offload
Media-independent handovers
Infrastructure-controlled roaming in 802.11 networks
BeHop: SDN for dense WiFi networks
15.3.5. Traffic Engineering in Mobile Networks
Dynamic assignment of flows to fluctuating backhaul links
Sharing wireless backhaul across multiple operators
SoftMoW
An OpenFlow switch on every smartphone!
15.3.6. Energy Savings
ElasticTree
Dynamic adjustment of wireless transmit power levels
More energy efficient switching hardware
15.3.7. SDN-Enabled Switching Chips
Conclusion
References
Acronyms & Abbreviations
Blacklist Application
B.1. MessageListener
B.2. PacketHandler
B.3. FlowManager
Index
Software Defined Networks A Comprehensive Approach Second Edition Paul Göransson Chuck Black Timothy Culver AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Morgan Kaufmann is an imprint of Elsevier
Morgan Kaufmann is an imprint of Elsevier 50 Hampshire Street, 5th Floor, Cambridge, MA 02139, United States Copyright © 2017, 2014 Elsevier Inc. All rights reserved No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions. This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). Notices Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility. To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein. Library of Congress Cataloging-in-Publication Data A catalog record for this book is available from the Library of Congress British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library ISBN: 978-0-12-804555-8 For information on all Morgan Kaufmann publications visit our website at https://www.elsevier.com/ Publisher: Todd Green Acquisition Editor: Brian Romer Editorial Project Manager: Amy Invernizzi Production Project Manager: Priya Kumaraguruparan Cover Designer: Matthew Limbert Typeset by SPi Global, India
Contents About the Authors ........................................................................................................ xix Foreword .................................................................................................................... xxi Preface.......................................................................................................................xxiii Acknowledgments ........................................................................................................xxv CHAPTER 1 Introduction.................................................................... 1 1.1 Basic Packet Switching Terminology ............................................................. 2 1.2 Historical Background................................................................................4 1.3 The Modern Data Center.............................................................................5 1.4 Traditional Switch Architecture .................................................................... 7 1.4.1 Data, Control, and Management Planes..................................................7 1.4.2 Software-Based Routing and Bridging ................................................... 9 1.4.3 Hardware Look-Up of Forwarding Tables...............................................9 1.4.4 Generically Programmable Forwarding Rules ........................................ 10 1.5 Autonomous and Dynamic Forwarding Tables ............................................... 11 1.5.1 Layer Two Control...........................................................................12 1.5.2 Layer Three Control.........................................................................13 1.5.3 Protocol Soup or (S)witch’s Brew? ...................................................... 14 1.6 Can We Increase the Packet Forwarding IQ?..................................................17 1.7 Open Source and Technological Shifts..........................................................19 1.8 Organization of the Book...........................................................................20 References....................................................................................................21 CHAPTER 2 Why SDN? ..................................................................... 23 2.1 Evolution of Switches and Control Planes ..................................................... 23 2.1.1 Simple Forwarding and Routing Using Software .................................... 23 2.1.2 Independence and Autonomy in Early Devices.......................................23 2.1.3 Software Moves Into Silicon .............................................................. 26 2.1.4 Hardware Forwarding and Control in Software.......................................26 2.1.5 The Growing Need for Simplification...................................................27 2.1.6 Moving Control Off of the Device.......................................................28 2.2 Cost......................................................................................................28 2.2.1 Increased Cost of Development...........................................................28 2.2.2 Closed Environments Encourage Vendor Lock-in ................................... 29 2.2.3 Complexity and Resistance to Change..................................................30 2.2.4 Increased Cost of Operating the Network..............................................30 2.3 SDN Implications for Research and Innovation .............................................. 30 vii
viii Contents 2.3.1 Status Quo Benefits Incumbent Vendors ............................................... 31 2.3.2 SDN Promotes Research and Innovation...............................................31 2.4 Data Center Innovation ............................................................................. 32 2.4.1 Compute and Storage Virtualization.....................................................32 2.4.2 Inadequacies in Networks Today.........................................................33 2.5 Data Center Needs ................................................................................... 35 2.5.1 Automation .................................................................................... 35 2.5.2 Scalability......................................................................................35 2.5.3 Multipathing...................................................................................35 2.5.4 Multitenancy .................................................................................. 36 2.5.5 Network Virtualization......................................................................36 2.6 Conclusion ............................................................................................. 37 References....................................................................................................37 CHAPTER 3 Genesis of SDN............................................................... 39 3.1 The Evolution of Networking Technology ..................................................... 39 3.1.1 Mainframe Networking: Remote Terminals ........................................... 39 3.1.2 Peer-to-Peer Point-to-Point Connections...............................................40 3.1.3 Local Area Networks........................................................................40 3.1.4 Bridged Networks............................................................................41 3.1.5 Routed Networks.............................................................................41 3.2 Forerunners of SDN ................................................................................. 42 3.2.1 Early Efforts...................................................................................43 3.2.2 Network Access Control ................................................................... 43 3.2.3 Orchestration..................................................................................44 3.2.4 Virtualization Manager Network Plug-ins ............................................. 46 3.2.5 ForCES: Separation of Forwarding and Control Planes ............................ 48 3.2.6 4D: Centralized Network Control........................................................49 3.2.7 Ethane: Controller-Based Network Policy ............................................. 51 3.3 Legacy Mechanisms Evolve Toward SDN ..................................................... 52 3.4 Software Defined Networking is Born .......................................................... 52 3.4.1 The Birth of OpenFlow ..................................................................... 52 3.4.2 Open Networking Foundation.............................................................54 3.5 Sustaining SDN Interoperability..................................................................54 3.6 Open Source Contributions ........................................................................ 56 3.6.1 The Power of the Collective ............................................................... 56 3.6.2 The Danger of the Collective..............................................................57 3.6.3 Open Source Contributions to SDN ..................................................... 57 3.7 Network Virtualization..............................................................................58 3.8 May I Please Call My Network SDN? .......................................................... 58 3.9 Conclusion ............................................................................................. 59 References....................................................................................................59
Contents ix CHAPTER 4 How SDN Works.............................................................. 61 4.1 Fundamental Characteristics of SDN............................................................61 4.1.1 Plane Separation..............................................................................61 4.1.2 Simple Device and Centralized Control ................................................ 62 4.1.3 Network Automation and Virtualization................................................62 4.1.4 Openness ....................................................................................... 63 4.2 SDN Operation........................................................................................64 4.3 SDN Devices .......................................................................................... 66 4.3.1 Flow Tables....................................................................................68 4.3.2 SDN Software Switches....................................................................68 4.3.3 Hardware SDN Devices .................................................................... 69 4.3.4 Existing SDN Device Implementations.................................................71 4.3.5 Scaling the Number of Flows ............................................................. 71 4.4 SDN Controller ....................................................................................... 71 4.4.1 SDN Controller Core Modules............................................................72 4.4.2 SDN Controller Interfaces ................................................................. 73 4.4.3 Existing SDN Controller Implementations ............................................ 74 4.4.4 Potential Issues With the SDN Controller..............................................75 4.5 SDN Applications....................................................................................76 4.5.1 SDN Application Responsibilities ....................................................... 77 4.6 Alternate SDN Methods ............................................................................ 77 4.6.1 SDN via APIs ................................................................................. 78 4.6.2 Benefits and Limitations of SDN via APIs.............................................83 4.6.3 SDN via Hypervisor-Based Overlay Networks ....................................... 84 4.7 Conclusion ............................................................................................. 87 References....................................................................................................87 CHAPTER 5 The OpenFlow Specification ............................................... 89 5.1 Chapter-Specific Terminology .................................................................... 89 5.2 OpenFlow Overview.................................................................................90 5.2.1 The OpenFlow Switch ...................................................................... 91 5.2.2 The OpenFlow Controller..................................................................92 5.2.3 The OpenFlow Protocol .................................................................... 93 5.2.4 The Controller-Switch Secure Channel.................................................94 5.3 OpenFlow 1.0 and OpenFlow Basics............................................................95 5.3.1 Ports and Port Queues.......................................................................95 5.3.2 Flow Table ..................................................................................... 95 5.3.3 Packet Matching..............................................................................95 5.3.4 Actions and Packet Forwarding...........................................................97 5.3.5 Messaging Between Controller and Switch..........................................100 5.3.6 Example: Controller Programming Flow Table ..................................... 103
x Contents 5.3.7 Example: Basic Packet Forwarding ....................................................105 5.3.8 Example: Switch Forwarding Packet to Controller.................................105 5.4 OpenFlow 1.1 Additions..........................................................................107 5.4.1 Multiple Flow Tables ...................................................................... 107 5.4.2 Groups.........................................................................................110 5.4.3 MPLS and VLAN Tag Support ......................................................... 111 5.4.4 Virtual Ports..................................................................................111 5.4.5 Controller Connection Failure...........................................................112 5.4.6 Example: Forwarding With Multiple Flow Tables..................................113 5.4.7 Example: Multicast Using V.1.1 Groups..............................................113 5.5 OpenFlow 1.2 Additions..........................................................................113 5.5.1 Extensible Match Support................................................................113 5.5.2 Extensible SET_FIELD Packet Rewriting Support ................................ 116 5.5.3 Extensible Context Expression in PACKET_IN .................................... 116 5.5.4 Multiple Controllers ....................................................................... 117 5.5.5 Example: Bridging VLANs Through SP Networks................................117 5.6 OpenFlow 1.3 Additions..........................................................................118 5.6.1 Refactor Capabilities Negotiation ...................................................... 118 5.6.2 More Flexible Table-Miss Support.....................................................119 5.6.3 Per Flow Meters ............................................................................ 120 5.6.4 Per Connection Event Filtering ......................................................... 121 5.6.5 Auxiliary Connections .................................................................... 121 5.6.6 Cookies in PACKET-IN...................................................................122 5.6.7 Provider Backbone Bridging Tagging ................................................. 123 5.6.8 Example: Enforcing QoS via Meter Bands...........................................124 5.7 OpenFlow 1.4 Additions..........................................................................125 5.7.1 Bundles ....................................................................................... 125 5.7.2 Eviction and Vacancy Events............................................................126 5.7.3 Enhanced Support for Multiple Controllers..........................................126 5.7.4 Optical Port Support ....................................................................... 127 5.7.5 Flow Table Synchronization ............................................................. 127 5.8 OpenFlow 1.5 Additions..........................................................................127 5.8.1 Enhanced L4–L7 Support ................................................................ 127 5.8.2 Pipeline Processing Enhancements.....................................................128 5.8.3 Egress Tables ................................................................................ 128 5.8.4 Fitness for Carrier Use .................................................................... 129 5.8.5 Bundle Enhancements.....................................................................129 5.8.6 Enhanced Support for Multiple Controllers..........................................129 5.8.7 Enhanced Support for Tunnels .......................................................... 129 5.8.8 Enhancements to Flow Entry Statistics................................................130 5.8.9 Summary ..................................................................................... 130
Contents xi 5.9 Improving OpenFlow Interoperability.........................................................130 5.9.1 Table Type Patterns ........................................................................ 130 5.9.2 Flow Objectives.............................................................................131 5.10 Optical Transport Protocol Extensions ........................................................ 131 5.10.1 Match/Action Support ................................................................... 132 5.10.2 Optical Port Attribute Support.........................................................133 5.10.3 Adjacency Discovery .................................................................... 133 5.10.4 Future Work Needed ..................................................................... 133 5.11 OpenFlow Limitations.............................................................................134 5.12 Conclusion ........................................................................................... 134 References....................................................................................................135 CHAPTER 6 Alternative Definitions of SDN ............................................137 6.1 Potential Drawbacks of Open SDN ............................................................ 137 6.1.1 Too Much Change, Too Quickly........................................................138 6.1.2 Single Point of Failure .................................................................... 139 6.1.3 Performance and Scale....................................................................143 6.1.4 Deep Packet Inspection ................................................................... 145 6.1.5 Stateful Flow Awareness..................................................................147 6.1.6 Summary ..................................................................................... 149 6.2 SDN via APIs........................................................................................149 6.2.1 Legacy APIs in Network Devices ...................................................... 150 6.2.2 NETCONF/YANG ......................................................................... 151 6.2.3 BGP-LS/PCE-P ............................................................................. 152 6.2.4 REST .......................................................................................... 152 6.2.5 Examples of SDN via APIs .............................................................. 153 6.2.6 Ranking SDN via APIs....................................................................154 6.3 SDN via Hypervisor-Based Overlays..........................................................155 6.3.1 Overlay Controller ......................................................................... 156 6.3.2 Overlay Operation..........................................................................156 6.3.3 Examples of SDN via Hypervisor-Based Overlays ................................ 157 6.3.4 Ranking SDN via Hypervisor-Based Overlays......................................158 6.4 SDN via Opening Up the Device ............................................................... 160 6.5 Network Functions Virtualization .............................................................. 162 6.6 Alternatives Overlap and Ranking..............................................................163 6.7 Conclusion ........................................................................................... 164 References..................................................................................................164 CHAPTER 7 Emerging Protocol, Controller, and Application Models .............167 7.1 Expanded Definitions of SDN...................................................................167 7.1.1 Impact of Major NEMs in the SDN Arena...........................................167 7.1.2 Network Management Versus SDN....................................................168
xii Contents 7.1.3 Benefits of Network Management-Based SDN ..................................... 169 7.1.4 Limitations of Network Management-Based SDN.................................169 7.2 Additional SDN Protocol Models .............................................................. 170 7.2.1 Using Existing Protocols to Create SDN Solutions ................................ 170 7.2.2 Using the NETCONF Protocol for SDN..............................................172 7.2.3 Using the BGP Protocol for SDN ...................................................... 174 7.2.4 Using the BGP-LS Protocol for SDN..................................................175 7.2.5 Using the PCE-P Protocol for SDN....................................................176 7.2.6 Using the MPLS Protocol for SDN .................................................... 176 7.3 Additional SDN Controller Models ............................................................ 177 7.3.1 Controllers With Multiple Southbound Plugins.....................................177 7.3.2 Controllers With Model-Driven Internal Design....................................178 7.3.3 Controllers Targeting Service Provider Solutions .................................. 179 7.3.4 Controllers Built for Scalability.........................................................180 7.3.5 Controllers Built for Intents-Based Applications ................................... 182 7.4 Additional Application Models ................................................................. 183 7.4.1 Proactive Application Focus ............................................................. 183 7.4.2 Declarative Application Focus .......................................................... 185 7.4.3 External Application Focus .............................................................. 185 7.5 New Approaches to SDN Security ............................................................. 186 7.5.1 Security Aspects of Reactive Applications...........................................186 7.5.2 Security for Network Management Applications...................................187 7.5.3 Security Benefits of External Applications...........................................187 7.6 The P4 Programming Language ................................................................ 188 7.7 Conclusion ........................................................................................... 188 References..................................................................................................189 CHAPTER 8 SDN in the Data Center ....................................................191 8.1 Data Center Definition.............................................................................191 8.2 Data Center Demands ............................................................................. 193 8.2.1 Overcoming Current Network Limitations...........................................193 8.2.2 Adding, Moving, and Deleting Resources............................................196 8.2.3 Failure Recovery............................................................................196 8.2.4 Multitenancy.................................................................................197 8.2.5 Traffic Engineering and Path Efficiency .............................................. 197 8.3 Tunneling Technologies for the Data Center.................................................198 8.3.1 Virtual eXtensible Local Area Network...............................................199 8.3.2 Network Virtualization Using GRE....................................................200 8.3.3 Stateless Transport Tunneling ........................................................... 201 8.4 Path Technologies in the Data Center..........................................................202 8.4.1 General Multipath Routing Issues......................................................202 8.4.2 Multiple Spanning Tree Protocol ....................................................... 202
分享到:
收藏