Preface xxi
PART I MODERN NETWORKING 3
Chapter 1: Elements of Modern Networking 4
1.1 The Networking Ecosystem . . . . . . . . . . . . . . . . . . . 5
1.2 Example Network Architectures . . . . . . . . . . . . . . . . . 7
A Global Network Architecture . . . . . . . . . . . . . . . . . . 7
A Typical Network Hierarchy . . . . . . . . . . . . . . . . . . 9
1.3 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Applications of Ethernet . . . . . . . . . . . . . . . . . . . . 11
Standards . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Ethernet Data Rates . . . . . . . . . . . . . . . . . . . . . 14
1.4 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Applications of Wi-Fi . . . . . . . . . . . . . . . . . . . . . 19
Standards . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Wi-Fi Data Rates . . . . . . . . . . . . . . . . . . . . . . . 21
1.5 4G/5G Cellular . . . . . . . . . . . . . . . . . . . . . . . . 23
First Generation . . . . . . . . . . . . . . . . . . . . . . . 23
Second Generation . . . . . . . . . . . . . . . . . . . . . . 23
Third Generation . . . . . . . . . . . . . . . . . . . . . . . 24
Fourth Generation . . . . . . . . . . . . . . . . . . . . . . 24
Fifth Generation . . . . . . . . . . . . . . . . . . . . . . . 25
1.6 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . 25
Cloud Computing Concepts . . . . . . . . . . . . . . . . . . 26
The Benefits of Cloud Computing . . . . . . . . . . . . . . . . 27
Cloud Networking . . . . . . . . . . . . . . . . . . . . . . 28
Cloud Storage . . . . . . . . . . . . . . . . . . . . . . . . 28
1.7 Internet of Things. . . . . . . . . . . . . . . . . . . . . . . 28
Things on the Internet of Things . . . . . . . . . . . . . . . . 28
Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Layers of the Internet of Things . . . . . . . . . . . . . . . . . 29
1.8 Network Convergence . . . . . . . . . . . . . . . . . . . . 30
1.9 Unified Communications . . . . . . . . . . . . . . . . . . . 33
1.10 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.11 References . . . . . . . . . . . . . . . . . . . . . . . . . 37
Chapter 2: Requirements and Technology 38
2.1 Types of Network and Internet Traffic . . . . . . . . . . . . . . 39
Elastic Traffic . . . . . . . . . . . . . . . . . . . . . . . . 39
Inelastic Traffic . . . . . . . . . . . . . . . . . . . . . . . 40
Real-Time Traffic Characteristics . . . . . . . . . . . . . . . . 43
2.2 Demand: Big Data, Cloud Computing, and Mobile Traffic . . . . . . 45
Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Cloud Computing . . . . . . . . . . . . . . . . . . . . . . 48
Mobile Traffic . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3 Requirements: QoS and QoE . . . . . . . . . . . . . . . . . . 53
Quality of Service . . . . . . . . . . . . . . . . . . . . . . 53
Quality of Experience . . . . . . . . . . . . . . . . . . . . . 54
2.4 Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 55
Packet Forwarding . . . . . . . . . . . . . . . . . . . . . . 56
Routing Protocols . . . . . . . . . . . . . . . . . . . . . . 57
Elements of a Router . . . . . . . . . . . . . . . . . . . . . 59
2.5 Congestion Control . . . . . . . . . . . . . . . . . . . . . . 60
Effects of Congestion . . . . . . . . . . . . . . . . . . . . . 60
Congestion Control Techniques . . . . . . . . . . . . . . . . 64
2.6 SDN and NFV . . . . . . . . . . . . . . . . . . . . . . . . 67
Software-Defined Networking . . . . . . . . . . . . . . . . . 67
Network Functions Virtualization . . . . . . . . . . . . . . . . 69
2.7 Modern Networking Elements . . . . . . . . . . . . . . . . . 71
2.8 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.9 References . . . . . . . . . . . . . . . . . . . . . . . . . 73
PART II SOFTWARE DEFINED NETWORKS 75
Chapter 3: SDN: Background and Motivation 76
3.1 Evolving Network Requirements . . . . . . . . . . . . . . . . 77
Demand Is Increasing . . . . . . . . . . . . . . . . . . . . . 77
Supply Is Increasing . . . . . . . . . . . . . . . . . . . . . 77
Traffic Patterns Are More Complex . . . . . . . . . . . . . . . 78
Traditional Network Architectures are Inadequate . . . . . . . . . 79
3.2 The SDN Approach . . . . . . . . . . . . . . . . . . . . . . 80
Requirements. . . . . . . . . . . . . . . . . . . . . . . . 80
SDN Architecture . . . . . . . . . . . . . . . . . . . . . . . 81
Characteristics of Software-Defined Networking . . . . . . . . . . 85
3.3 SDN- and NFV-Related Standards . . . . . . . . . . . . . . . 85
Standards-Developing Organizations . . . . . . . . . . . . . . 87
Industry Consortia . . . . . . . . . . . . . . . . . . . . . . 89
Open Development Initiatives . . . . . . . . . . . . . . . . . 89
3.4 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.5 References . . . . . . . . . . . . . . . . . . . . . . . . . 91
Chapter 4: SDN Data Plane and OpenFlow 92
4.1 SDN Data Plane . . . . . . . . . . . . . . . . . . . . . . . 93
Data Plane Functions . . . . . . . . . . . . . . . . . . . . . 93
Data Plane Protocols . . . . . . . . . . . . . . . . . . . . . 95
4.2 OpenFlow Logical Network Device . . . . . . . . . . . . . . . 95
Flow Table Structure . . . . . . . . . . . . . . . . . . . . . 98
Flow Table Pipeline . . . . . . . . . . . . . . . . . . . . . 102
The Use of Multiple Tables . . . . . . . . . . . . . . . . . . 106
Group Table . . . . . . . . . . . . . . . . . . . . . . . . 107
4.3 OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . 109
4.4 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 111
Chapter 5: SDN Control Plane 112
5.1 SDN Control Plane Architecture . . . . . . . . . . . . . . . . 113
Control Plane Functions . . . . . . . . . . . . . . . . . . . 113
Southbound Interface . . . . . . . . . . . . . . . . . . . . 116
Northbound Interface . . . . . . . . . . . . . . . . . . . . 117
Routing . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.2 ITU-T Model . . . . . . . . . . . . . . . . . . . . . . . . 120
5.3 OpenDaylight . . . . . . . . . . . . . . . . . . . . . . . . 122
OpenDaylight Architecture . . . . . . . . . . . . . . . . . . 122
OpenDaylight Helium . . . . . . . . . . . . . . . . . . . . 124
5.4 REST . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
REST Constraints . . . . . . . . . . . . . . . . . . . . . . 128
Example REST API . . . . . . . . . . . . . . . . . . . . . 130
5.5 Cooperation and Coordination Among Controllers . . . . . . . . 133
Centralized Versus Distributed Controllers . . . . . . . . . . . . 133
High-Availability Clusters . . . . . . . . . . . . . . . . . . . 134
Federated SDN Networks . . . . . . . . . . . . . . . . . . . 135
Border Gateway Protocol . . . . . . . . . . . . . . . . . . . 136
Routing and QoS Between Domains . . . . . . . . . . . . . . 137
Using BGP for QoS Management . . . . . . . . . . . . . . . 138
IETF SDNi . . . . . . . . . . . . . . . . . . . . . . . . . 140
OpenDaylight SNDi . . . . . . . . . . . . . . . . . . . . . 141
5.6 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.7 References . . . . . . . . . . . . . . . . . . . . . . . . . 143
Chapter 6: SDN Application Plane 144
6.1 SDN Application Plane Architecture . . . . . . . . . . . . . . 145
Northbound Interface . . . . . . . . . . . . . . . . . . . . 146
Network Services Abstraction Layer . . . . . . . . . . . . . . 146
Network Applications . . . . . . . . . . . . . . . . . . . . 147
User Interface . . . . . . . . . . . . . . . . . . . . . . . 147
6.2 Network Services Abstraction Layer . . . . . . . . . . . . . . 147
Abstractions in SDN . . . . . . . . . . . . . . . . . . . . . 147
Frenetic . . . . . . . . . . . . . . . . . . . . . . . . . . 150
6.3 Traffic Engineering . . . . . . . . . . . . . . . . . . . . . 153
PolicyCop . . . . . . . . . . . . . . . . . . . . . . . . . 153
6.4 Measurement and Monitoring . . . . . . . . . . . . . . . . . 157
6.5 Security . . . . . . . . . . . . . . . . . . . . . . . . . . 157
OpenDaylight DDoS Application . . . . . . . . . . . . . . . . 157
6.6 Data Center Networking . . . . . . . . . . . . . . . . . . . 162
Big Data over SDN . . . . . . . . . . . . . . . . . . . . . 163
Cloud Networking over SDN . . . . . . . . . . . . . . . . . 164
6.7 Mobility and Wireless . . . . . . . . . . . . . . . . . . . . 168
6.8 Information-Centric Networking . . . . . . . . . . . . . . . . 168
CCNx . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Use of an Abstraction Layer . . . . . . . . . . . . . . . . . . 170
6.9 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 173
PART III VIRTUALIATION 175
Chapter 7: Network Functions Virtualization: Concepts and Architecture 176
7.1 Background and Motivation for NFV . . . . . . . . . . . . . . 177
7.2 Virtual Machines . . . . . . . . . . . . . . . . . . . . . . 178
The Virtual Machine Monitor. . . . . . . . . . . . . . . . . . 179
Architectural Approaches . . . . . . . . . . . . . . . . . . . 180
Container Virtualization . . . . . . . . . . . . . . . . . . . . 183
7.3 NFV Concepts . . . . . . . . . . . . . . . . . . . . . . . 184
Simple Example of the Use of NFV . . . . . . . . . . . . . . . 188
NFV Principles . . . . . . . . . . . . . . . . . . . . . . . 189
High-Level NFV Framework . . . . . . . . . . . . . . . . . . 190
7.4 NFV Benefits and Requirements . . . . . . . . . . . . . . . . 191
NFV Benefits . . . . . . . . . . . . . . . . . . . . . . . . 191
NFV Requirements . . . . . . . . . . . . . . . . . . . . . 192
7.5 NFV Reference Architecture . . . . . . . . . . . . . . . . . . 193
NFV Management and Orchestration . . . . . . . . . . . . . . 194
Reference Points . . . . . . . . . . . . . . . . . . . . . . 195
Implementation . . . . . . . . . . . . . . . . . . . . . . . 196
7.6 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 197
7.7 References . . . . . . . . . . . . . . . . . . . . . . . . . 197
Chapter 8: NFV Functionality 198
8.1 NFV Infrastructure . . . . . . . . . . . . . . . . . . . . . . 199
Container Interface . . . . . . . . . . . . . . . . . . . . . 199
Deployment of NFVI Containers . . . . . . . . . . . . . . . . 203
Logical Structure of NFVI Domains . . . . . . . . . . . . . . . 204
Compute Domain . . . . . . . . . . . . . . . . . . . . . . 205
Hypervisor Domain . . . . . . . . . . . . . . . . . . . . . 208
Infrastructure Network Domain . . . . . . . . . . . . . . . . 209
8.2 Virtualized Network Functions . . . . . . . . . . . . . . . . . 213
VNF Interfaces . . . . . . . . . . . . . . . . . . . . . . . 213
VNFC to VNFC Communication . . . . . . . . . . . . . . . . 215
VNF Scaling . . . . . . . . . . . . . . . . . . . . . . . . 216
8.3 NFV Management and Orchestration . . . . . . . . . . . . . . 217
Virtualized Infrastructure Manager . . . . . . . . . . . . . . . 217
Virtual Network Function Manager . . . . . . . . . . . . . . . 218
NFV Orchestrator . . . . . . . . . . . . . . . . . . . . . . 219
Repositories . . . . . . . . . . . . . . . . . . . . . . . . 219
Element Management . . . . . . . . . . . . . . . . . . . . 220
OSS/BSS . . . . . . . . . . . . . . . . . . . . . . . . . 220
8.4 NFV Use Cases . . . . . . . . . . . . . . . . . . . . . . . 221
Architectural Use Cases . . . . . . . . . . . . . . . . . . . 222
Service-Oriented Use Cases . . . . . . . . . . . . . . . . . 223
8.5 SDN and NFV . . . . . . . . . . . . . . . . . . . . . . . . 225
8.6 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 228
8.7 References . . . . . . . . . . . . . . . . . . . . . . . . . 229
Chapter 9: Network Virtualization 230
9.1 Virtual LANs . . . . . . . . . . . . . . . . . . . . . . . . 231
The Use of Virtual LANs . . . . . . . . . . . . . . . . . . . 234
Defining VLANs . . . . . . . . . . . . . . . . . . . . . . . 235
Communicating VLAN Membership . . . . . . . . . . . . . . 236
IEEE 802.1Q VLAN Standard . . . . . . . . . . . . . . . . . 237
Nested VLANs . . . . . . . . . . . . . . . . . . . . . . . 239
9.2 OpenFlow VLAN Support . . . . . . . . . . . . . . . . . . . 240
9.3 Virtual Private Networks . . . . . . . . . . . . . . . . . . . 241
IPsec VPNs . . . . . . . . . . . . . . . . . . . . . . . . 241
MPLS VPNs . . . . . . . . . . . . . . . . . . . . . . . . 243
9.4 Network Virtualization . . . . . . . . . . . . . . . . . . . . 247
A Simplified Example . . . . . . . . . . . . . . . . . . . . 248
Network Virtualization Architecture . . . . . . . . . . . . . . . 250
Benefits of Network Virtualization . . . . . . . . . . . . . . . 252
9.5 OpenDaylight's Virtual Tenant Network. . . . . . . . . . . . . 253
9.6 Software-Defined Infrastructure . . . . . . . . . . . . . . . . 257
Software-Defined Storage . . . . . . . . . . . . . . . . . . 259
SDI Architecture . . . . . . . . . . . . . . . . . . . . . . 261
9.7 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 263
9.8 References . . . . . . . . . . . . . . . . . . . . . . . . . 263
PART IV DEFINING AND SUPPORTING USER NEEDS 265
Chapter 10: Quality of Service 266
10.1 Background . . . . . . . . . . . . . . . . . . . . . . . . 267
10.2 QoS Architectural Framework . . . . . . . . . . . . . . . . 268
Data Plane . . . . . . . . . . . . . . . . . . . . . . . . . 269
Control Plane . . . . . . . . . . . . . . . . . . . . . . . . 271
Management Plane . . . . . . . . . . . . . . . . . . . . . 272
10.3 Integrated Services Architecture . . . . . . . . . . . . . . . 273
ISA Approach . . . . . . . . . . . . . . . . . . . . . . . . 273
ISA Components . . . . . . . . . . . . . . . . . . . . . . 274
ISA Services . . . . . . . . . . . . . . . . . . . . . . . . 276
Queuing Discipline . . . . . . . . . . . . . . . . . . . . . 277
10.4 Differentiated Services . . . . . . . . . . . . . . . . . . . 279
Services . . . . . . . . . . . . . . . . . . . . . . . . . . 281
DiffServ Field . . . . . . . . . . . . . . . . . . . . . . . . 282
DiffServ Configuration and Operation . . . . . . . . . . . . . . 284
Per-Hop Behavior . . . . . . . . . . . . . . . . . . . . . . 286
Default Forwarding PHB . . . . . . . . . . . . . . . . . . . 287
10.5 Service Level Agreements . . . . . . . . . . . . . . . . . . 291
10.6 IP Performance Metrics . . . . . . . . . . . . . . . . . . . 293
10.7 OpenFlow QoS Support . . . . . . . . . . . . . . . . . . . 296
Queue Structures . . . . . . . . . . . . . . . . . . . . . . 296
Meters . . . . . . . . . . . . . . . . . . . . . . . . . . 297
10.8 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 299
10.9 References . . . . . . . . . . . . . . . . . . . . . . . . 299
Chapter 11: QoE: User Quality of Experience 300
11.1 Why QoE? . . . . . . . . . . . . . . . . . . . . . . . . 301
Online Video Content Delivery . . . . . . . . . . . . . . . . . 302
11.2 Service Failures Due to Inadequate QoE Considerations . . . . . 304
11.3 QoE-Related Standardization Projects . . . . . . . . . . . . . 304
11.4 Definition of Quality of Experience . . . . . . . . . . . . . . . 305
Definition of Quality . . . . . . . . . . . . . . . . . . . . . 306
Definition of Experience . . . . . . . . . . . . . . . . . . . 306
Quality Formation Process . . . . . . . . . . . . . . . . . . 307
Definition of Quality of Experience . . . . . . . . . . . . . . . 308
11.5 QoE Strategies in Practice . . . . . . . . . . . . . . . . . . 308
The QoE/QoS Layered Model . . . . . . . . . . . . . . . . . 308
Summarizing and Merging the QoE/QoS Layers . . . . . . . . . 310
11.6 Factors Influencing QoE . . . . . . . . . . . . . . . . . . . 311
11.7 Measurements of QoE . . . . . . . . . . . . . . . . . . . 312
Subjective Assessment . . . . . . . . . . . . . . . . . . . . 312
Objective Assessment . . . . . . . . . . . . . . . . . . . . 314
End-User Device Analytics . . . . . . . . . . . . . . . . . . 315
Summarizing the QoE Measurement Methods . . . . . . . . . . 316
11.8 Applications of QoE . . . . . . . . . . . . . . . . . . . . 317
11.9 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 319
11.10 References . . . . . . . . . . . . . . . . . . . . . . . . 320
Chapter 12: Network Design Implications of QoS and QoE 322
12.1 Classification of QoE/QoS Mapping Models . . . . . . . . . . 323
Black-Box Media-Based QoS/QoE Mapping Models . . . . . . . 323
Glass-Box Parameter-Based QoS/QoE Mapping Models . . . . . . 325
Gray-Box QoS/QoE Mapping Models . . . . . . . . . . . . . . 326
Tips for QoS/QoE Mapping Model Selection . . . . . . . . . . . 327
12.2 IP-Oriented Parameter-Based QoS/QoE Mapping Models . . . . . 327
Network Layer QoE/QoS Mapping Models for Video Services . . . . 328
Application Layer QoE/QoS Mapping Models for Video Services . . 328
12.3 Actionable QoE over IP-Based Networks . . . . . . . . . . . . 330
The System-Oriented Actionable QoE Solution . . . . . . . . . . 330
The Service-Oriented Actionable QoE Solution . . . . . . . . . . 331
12.4 QoE Versus QoS Service Monitoring . . . . . . . . . . . . . . 332
QoS Monitoring Solutions. . . . . . . . . . . . . . . . . . . 334
QoE Mo