Table of Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . xv
About the Authors . . . . . . . . . . . . . . . . . . . . . xvii
About the Technical Reviewers . . . . . . . . . . . . . . . . . . xix
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Chapter 1: The Journey to Network Functions Virtualization (NFV) Era . . .1
The Evolution of Network Architecture . . . . . . . . . . . . . 1
Traditional Network Architecture . . . . . . . . . . . . . 2
Introducing NFV . . . . . . . . . . . . . . . . . . . 5
NFV Architectural Framework . . . . . . . . . . . . . . . . . 7
Need for a Framework . . . . . . . . . . . . . . . . . 7
ETSI Framework for NFV . . . . . . . . . . . . . . . . 8
Understanding the ETSI Framework . . . . . . . . . . . 10
A Closer Look at ETSI’s NFV Framework . . . . . . . . . 13
NFV Framework Summary . . . . . . . . . . . . . . . 26
Benefits of NFV . . . . . . . . . . . . . . . . . . . . . . 26
Hardware Flexibility . . . . . . . . . . . . . . . . . 27
Faster Service Life Cycle . . . . . . . . . . . . . . . . 28
Scalability and Elasticity . . . . . . . . . . . . . . . . 28
Leveraging Existing Tools . . . . . . . . . . . . . . . 29
Rapid Development and Vendor Independence . . . . . . . 29
Validation of New Solutions . . . . . . . . . . . . . . 29
Amorphous Service Offering . . . . . . . . . . . . . . 29
Operational Efficiency and Agility . . . . . . . . . . . . 30
NFV Market Drivers . . . . . . . . . . . . . . . . . . . . 31
Movement to Cloud . . . . . . . . . . . . . . . . . . 31
New Business Services . . . . . . . . . . . . . . . . . 32
Capital Expense Savings . . . . . . . . . . . . . . . . 33
Operational Expense Savings . . . . . . . . . . . . . . 33
Barrier of Entry . . . . . . . . . . . . . . . . . . . 34
Summary . . . . . . . . . . . . . . . . . . . . . . . . . 34
References . . . . . . . . . . . . . . . . . . . . . . . . 34
Review Questions . . . . . . . . . . . . . . . . . . . . . 35
Chapter 2: Virtualization Concepts . . . . . . . . . . . . . . . .37
History and Background of Virtualization . . . . . . . . . . . . 37
Virtualization Benefits and Goals . . . . . . . . . . . . 40
Server Virtualization, Network Virtualization, and NFV . . . 41
Virtualization Techniques . . . . . . . . . . . . . . . 45
Virtualization versus Emulation . . . . . . . . . . . . . 49
Virtual Machines . . . . . . . . . . . . . . . . . . . . . . 50
Components of a Virtual Machine . . . . . . . . . . . . 50
Resource Allocation to the Virtual Machine . . . . . . . . 53
Network Communication . . . . . . . . . . . . . . . 55
Packaging a Virtual Machine . . . . . . . . . . . . . . 58
Commonly Used Hypervisors . . . . . . . . . . . . . . 62
Linux Containers and Docker . . . . . . . . . . . . . . . . . 64
Understanding Containers . . . . . . . . . . . . . . . 65
Container versus Virtual Machines . . . . . . . . . . . . 67
Application Container and OS Container . . . . . . . . . 70
Enter Docker . . . . . . . . . . . . . . . . . . . . 72
Container Packaging–Beyond Docker . . . . . . . . . . 76
Single and Multitenant Environment . . . . . . . . . . . . . . 76
Virtualization and NFV . . . . . . . . . . . . . . . . . . . 78
Summary . . . . . . . . . . . . . . . . . . . . . . . . . 78
References . . . . . . . . . . . . . . . . . . . . . . . . 79
Review Questions . . . . . . . . . . . . . . . . . . . . . 79
Chapter 3: Virtualization of Network Functions . . . . . . . . . . .83
Designing NFV Networks . . . . . . . . . . . . . . . . . . 83
NFV Design Considerations . . . . . . . . . . . . . . 84
NFV Transformation Challenges . . . . . . . . . . . . 105
Virtualization of Network Infrastructure and Services . . . . . . . 118
NFV for Routing Infrastructure . . . . . . . . . . . . 118
Virtualization of Network Security . . . . . . . . . . . 127
Virtualization of Mobile Communication Networks . . . . 129
Summary . . . . . . . . . . . . . . . . . . . . . . . . 133
References . . . . . . . . . . . . . . . . . . . . . . . . 134
Review Questions . . . . . . . . . . . . . . . . . . . . . 134
Chapter 4: NFV Deployment in the Cloud . . . . . . . . . . . . .137
What’s in a Cloud? . . . . . . . . . . . . . . . . . . . . 137
Characteristics of Cloud . . . . . . . . . . . . . . . 139
Cloud-Based Services . . . . . . . . . . . . . . . . 140
Cloud Deployment Models . . . . . . . . . . . . . . 142
NFV and Cloud . . . . . . . . . . . . . . . . . . . 144
Revisiting ETSI Management and Orchestration Block . . . . . . 145
MANO Data Repositories . . . . . . . . . . . . . . 147
Orchestrating, Deploying, and Managing NFV Infrastructure . . . . 157
Hardware Virtualization Deployment Options . . . . . . . 158
Deploying Virtual Machines and Containers . . . . . . . 160
Software and Tools for NFVI Deployment . . . . . . . . 164
Introduction to OpenStack . . . . . . . . . . . . . . . . . 167
So What Is OpenStack? . . . . . . . . . . . . . . . . 167
A Brief History of OpenStack . . . . . . . . . . . . . 168
OpenStack Releases . . . . . . . . . . . . . . . . . 169
OpenStack Deployment Nodes . . . . . . . . . . . . . 169
OpenStack Networking . . . . . . . . . . . . . . . . 183
OpenStack Deployment Nodes Revisited . . . . . . . . . 192
OpenStack High Availability . . . . . . . . . . . . . . 193
Live Migration for VNF mobility . . . . . . . . . . . . 200
Deploying OpenStack . . . . . . . . . . . . . . . . 201
Using OpenStack as VIM . . . . . . . . . . . . . . . 204
Life Cycle Management of VNFs . . . . . . . . . . . . . . . 211
VNFM Software Examples . . . . . . . . . . . . . . 213
Orchestration and Deployment of Network Services . . . . . . . 214
Cisco’s Network Service Orchestrator . . . . . . . . . . 214
Telefonica’s OpenMANO . . . . . . . . . . . . . . . 214
Brocade VNF Manager . . . . . . . . . . . . . . . . 215
Nokia’s CloudBand Network Director . . . . . . . . . . 215
Ciena’s Blue Planet . . . . . . . . . . . . . . . . . 215
HP’s NFV Director . . . . . . . . . . . . . . . . . 215
Ericsson Cloud Manager . . . . . . . . . . . . . . . 215
OpenStack Tracker . . . . . . . . . . . . . . . . . 216
RIFT.io’s RIFT.ware . . . . . . . . . . . . . . . . . 216
NFV MANO and Open Source Solutions . . . . . . . . . . . . 216
Open Platform NFV . . . . . . . . . . . . . . . . . 216
Open Orchestration Project (Open-O) . . . . . . . . . . 218
Open Source MANO (OSM) . . . . . . . . . . . . . 218
Describing Network Service Descriptor . . . . . . . . . . . . 219
Juju Charms . . . . . . . . . . . . . . . . . . . . 219
HOT . . . . . . . . . . . . . . . . . . . . . . . 219
TOSCA . . . . . . . . . . . . . . . . . . . . . . 220
Summary . . . . . . . . . . . . . . . . . . . . . . . . 222
References . . . . . . . . . . . . . . . . . . . . . . . . 222
Review Questions . . . . . . . . . . . . . . . . . . . . . 224
Chapter 5: Software Defined Networking (SDN) . . . . . . . . . . .227
Basic Concepts of SDN . . . . . . . . . . . . . . . . . . . 227
What is SDN? . . . . . . . . . . . . . . . . . . . 230
Advantages of SDN . . . . . . . . . . . . . . . . . 231
SDN Implementation and Protocols . . . . . . . . . . . . . . 234
Introduction to SDN Controller . . . . . . . . . . . . 234
SDN Implementation Models . . . . . . . . . . . . . 235
SDN Protocols . . . . . . . . . . . . . . . . . . . 238
SDN Use-Cases for Different Networking Domains . . . . . . . . 251
SDN in the Data Center (SDN DC) . . . . . . . . . . . 251
SDN in Service Provider Cloud (SP SDN) . . . . . . . . . 254
SDN in Wide-Area Networks (SD WAN) . . . . . . . . . 257
Enterprise SDN . . . . . . . . . . . . . . . . . . . 260
Transport SDN . . . . . . . . . . . . . . . . . . . 262
Revisiting SDN Controllers . . . . . . . . . . . . . . . . . 265
Open Source SDN Controllers . . . . . . . . . . . . . 265
Commercial SDN Controllers . . . . . . . . . . . . . 269
SDN Correlation with NFV . . . . . . . . . . . . . . . . . 273
CORD–An Example of NFV and SDN Working Together . . 276
Summary . . . . . . . . . . . . . . . . . . . . . . . . 281
References . . . . . . . . . . . . . . . . . . . . . . . . 282
Review Questions . . . . . . . . . . . . . . . . . . . . . 283
Chapter 6: Stitching It All Together . . . . . . . . . . . . . . . .285
Security Considerations . . . . . . . . . . . . . . . . . . 285
Service Function Chaining . . . . . . . . . . . . . . . . . 287
Service Chaining in a Traditional Network . . . . . . . . 288
Service Function Chaining for Cloud Scaling . . . . . . . 289
Network Service Header (NSH) . . . . . . . . . . . . 294
Other Protocols for SFC . . . . . . . . . . . . . . . 302
Service Chaining Use Case . . . . . . . . . . . . . . 302
How Virtual Machines Communicate . . . . . . . . . . . . . 304
Virtual Switch . . . . . . . . . . . . . . . . . . . 305
Single Root Input/Output Virtualization and
Sharing (SR-IOV) . . . . . . . . . . . . . . . . . 306
Direct Memory Access . . . . . . . . . . . . . . . . 307
Enhancing vSwitch Performance . . . . . . . . . . . . . . . 308
Data Plane Development Kit (DPDK) . . . . . . . . . . 309
Vector Packet Processing (VPP) . . . . . . . . . . . . . 310
Data Performance Considerations . . . . . . . . . . . . . . 314
CPU Usage Optimization . . . . . . . . . . . . . . . 315
Optimized Use of Memory . . . . . . . . . . . . . . 317
Programmability in a Virtualized Network . . . . . . . . . . . 317
Summary . . . . . . . . . . . . . . . . . . . . . . . . 321
References . . . . . . . . . . . . . . . . . . . . . . . . 322
Review Questions . . . . . . . . . . . . . . . . . . . . . 322
Appendix A: Answers to Review Questions . . . . . . . . . . . . 325
9780134463056, TOC, 10/28/2016