About the Author |
|
xiii | |
About the Technical Reviewer |
|
xv | |
Acknowledgments |
|
xvii | |
Introduction |
|
xix | |
|
Chapter 1 Introduction: Datacenter Network Evolution |
|
|
1 | (12) |
|
From Traditional to Software-Defined Networking |
|
|
2 | (10) |
|
Traditional Three-Tier Network Architecture |
|
|
2 | (3) |
|
|
5 | (3) |
|
Transition to Leaf-Spine Architecture and VXLAN |
|
|
8 | (2) |
|
Need for Network Automation |
|
|
10 | (1) |
|
Cisco Application Centric Infrastructure (ACI) |
|
|
11 | (1) |
|
|
12 | (1) |
|
Chapter 2 ACI Fundamentals: Underlay Infrastructure |
|
|
13 | (48) |
|
Cisco Nexus 9000 and Cloud Scale ASICs |
|
|
13 | (13) |
|
Cloud Scale ASIC Architecture |
|
|
16 | (3) |
|
Nexus 9500: Modular Chassis Switches |
|
|
19 | (6) |
|
Nexus 9300: Fixed Switches |
|
|
25 | (1) |
|
|
26 | (5) |
|
ACI Leaf-Spine Fabric Topology |
|
|
26 | (2) |
|
ACI Underlay Cabling Options |
|
|
28 | (2) |
|
ACI Control Plane and Data Plane Overview |
|
|
30 | (1) |
|
|
31 | (16) |
|
|
31 | (3) |
|
|
34 | (2) |
|
ACI Multi-Pod Architecture |
|
|
36 | (4) |
|
ACI Multi-Site Architecture |
|
|
40 | (6) |
|
|
46 | (1) |
|
Application Policy Infrastructure Controller |
|
|
47 | (9) |
|
|
49 | (1) |
|
Connecting APIC Nodes to the Network |
|
|
50 | (1) |
|
|
51 | (5) |
|
|
56 | (1) |
|
|
57 | (2) |
|
|
59 | (2) |
|
Chapter 3 Fabric Initialization and Management |
|
|
61 | (86) |
|
Nexus 9000 in ACI Switch Mode |
|
|
61 | (3) |
|
Conversion From NX-OS to ACI Mode |
|
|
63 | (1) |
|
APIC Cluster Initialization |
|
|
64 | (7) |
|
Graphical User Interface Overview |
|
|
71 | (4) |
|
Fabric Discovery and Registration |
|
|
75 | (7) |
|
|
77 | (3) |
|
Multi-Pod Fabric Discovery |
|
|
80 | (2) |
|
ACI Switch Discovery Troubleshooting |
|
|
82 | (10) |
|
|
92 | (10) |
|
Fabric Out-of-Band Configuration |
|
|
92 | (4) |
|
Fabric In-Band Configuration |
|
|
96 | (4) |
|
APIC Connectivity Preference |
|
|
100 | (2) |
|
Initial and Best Practice Fabric Configuration |
|
|
102 | (7) |
|
|
102 | (2) |
|
|
104 | (2) |
|
|
106 | (2) |
|
Securing Fabric Management Access |
|
|
108 | (1) |
|
Fabric-Wide Best Practice Configuration |
|
|
109 | (2) |
|
ACI Fabric Monitoring and Backup |
|
|
111 | (17) |
|
Simple Network Management Protocol |
|
|
111 | (5) |
|
|
116 | (5) |
|
|
121 | (4) |
|
|
125 | (3) |
|
ACI Multi-Pod Configuration |
|
|
128 | (17) |
|
Inter-POD Network Configuration |
|
|
129 | (11) |
|
|
140 | (1) |
|
ACI Multi-Pod Verification and Troubleshooting |
|
|
141 | (4) |
|
|
145 | (2) |
|
Chapter 4 ACI Fundamentals: Access Policies |
|
|
147 | (28) |
|
|
148 | (6) |
|
Switch Protocol Policies and vPC |
|
|
149 | (2) |
|
|
151 | (1) |
|
|
152 | (2) |
|
|
154 | (5) |
|
Interface Protocol Policy |
|
|
154 | (1) |
|
|
155 | (2) |
|
|
157 | (2) |
|
Attachable Access Entity Profile |
|
|
159 | (2) |
|
Physical and External Domains |
|
|
161 | (2) |
|
|
163 | (2) |
|
Practical Example for Access Policies |
|
|
165 | (6) |
|
Access Policies Naming Convention |
|
|
171 | (2) |
|
|
173 | (2) |
|
Chapter 5 ACI Fundamentals: Application Policy Model |
|
|
175 | (70) |
|
Application Policy Model Overview |
|
|
175 | (2) |
|
|
177 | (5) |
|
Tenant Security and Access Control |
|
|
178 | (1) |
|
|
179 | (2) |
|
|
181 | (1) |
|
|
182 | (1) |
|
Virtual Routing and Forwarding |
|
|
182 | (3) |
|
|
185 | (6) |
|
|
189 | (1) |
|
|
190 | (1) |
|
|
191 | (1) |
|
|
192 | (14) |
|
Mapping EPGs to Interfaces |
|
|
196 | (4) |
|
Endpoint Learning Verification |
|
|
200 | (3) |
|
|
203 | (3) |
|
|
206 | (4) |
|
|
210 | (3) |
|
|
213 | (31) |
|
Consumer and Provider EPGs |
|
|
216 | (1) |
|
|
217 | (4) |
|
Contract Application to EPGs/ESGs |
|
|
221 | (1) |
|
Contract Zoning Rules on Leaf Switches |
|
|
222 | (6) |
|
|
228 | (3) |
|
|
231 | (3) |
|
Intra-EPG Isolation and Contracts |
|
|
234 | (2) |
|
Zone Rules Verification and Troubleshooting |
|
|
236 | (6) |
|
Naming Convention for ACI Application Policies |
|
|
242 | (2) |
|
|
244 | (1) |
|
Chapter 6 Fabric Forwarding (and Troubleshooting) |
|
|
245 | (70) |
|
ACI Data Plane - iVXLAN Encapsulation |
|
|
245 | (5) |
|
|
248 | (1) |
|
|
248 | (1) |
|
|
249 | (1) |
|
|
249 | (1) |
|
5) Original Layer-2 Frame |
|
|
250 | (1) |
|
Fabric Control Plane Mechanisms Reviewed |
|
|
250 | (6) |
|
|
256 | (29) |
|
|
259 | (12) |
|
|
271 | (14) |
|
|
285 | (7) |
|
|
285 | (2) |
|
|
287 | (5) |
|
|
292 | (7) |
|
Name-Space Normalization (Translation) |
|
|
293 | (6) |
|
Additional Troubleshooting Toolset for Fabric Forwarding |
|
|
299 | (15) |
|
|
299 | (1) |
|
Embedded Logic Analyzer Module |
|
|
300 | (3) |
|
|
303 | (4) |
|
|
307 | (4) |
|
Visibility & Troubleshooting Tool |
|
|
311 | (1) |
|
|
312 | (2) |
|
|
314 | (1) |
|
Chapter 7 External Layer 2 and Layer 3 Connectivity |
|
|
315 | (78) |
|
Layer 2 External Connectivity |
|
|
315 | (16) |
|
|
316 | (5) |
|
|
321 | (2) |
|
Spanning Tree Protocol and ACI |
|
|
323 | (8) |
|
Layer 3 External Connectivity |
|
|
331 | (61) |
|
|
333 | (18) |
|
External Route Propagation |
|
|
351 | (2) |
|
Internal Bridge Domain Subnet Advertisement |
|
|
353 | (4) |
|
Contract Application to External EPG |
|
|
357 | (2) |
|
Dynamic Routing Protocols in ACI |
|
|
359 | (18) |
|
Static Routing with L30UTs |
|
|
377 | (2) |
|
|
379 | (7) |
|
Route Profiles (Route Maps) |
|
|
386 | (6) |
|
|
392 | (1) |
|
Chapter 8 Service Chaining with L4-L7 Devices |
|
|
393 | (46) |
|
To Use or Not to Use Service Insertion |
|
|
394 | (2) |
|
|
396 | (3) |
|
L4-L7 Device Deployment (Design) Modes |
|
|
399 | (7) |
|
Traditional Service Graph Designs |
|
|
399 | (4) |
|
Policy-Based Redirect Service Graph Designs |
|
|
403 | (3) |
|
L4-L7 Policy-Based Redirect |
|
|
406 | (31) |
|
VRF Sandwich vs. Policy-Based Redirect |
|
|
407 | (3) |
|
Endpoint Learning for PBR Device |
|
|
410 | (2) |
|
PBR Configuration and Verification |
|
|
412 | (17) |
|
Traffic Flow Between EPGs with PBR |
|
|
429 | (7) |
|
|
436 | (1) |
|
|
437 | (2) |
|
Chapter 9 Integrating ACI with Virtualization and Container Platforms |
|
|
439 | (60) |
|
Virtualization platform Integration |
|
|
439 | (17) |
|
VMware Integration Overview |
|
|
440 | (3) |
|
Access Policies for ESXi Hosts |
|
|
443 | (2) |
|
|
445 | (5) |
|
VDS Uplink to ESXi Mapping |
|
|
450 | (1) |
|
VMM Domain to EPG Binding |
|
|
451 | (4) |
|
VM to Port Group Association |
|
|
455 | (1) |
|
Container Integration to ACI |
|
|
456 | (42) |
|
Kubernetes Platform Overview |
|
|
457 | (3) |
|
Kubernetes Networking Overview |
|
|
460 | (2) |
|
Preparing ACI and Kubernetes Integration |
|
|
462 | (12) |
|
Kubernetes Server Nodes Network configuration |
|
|
474 | (4) |
|
|
478 | (10) |
|
|
488 | (2) |
|
Demo YELB Application with ACI L4-L7 Service Graph and EPG segmentation |
|
|
490 | (8) |
|
|
498 | (1) |
|
Chapter 10 ACI Automation and Programmability |
|
|
499 | (88) |
|
ACI Programmability Introduction |
|
|
500 | (1) |
|
|
501 | (4) |
|
|
502 | (3) |
|
|
505 | (4) |
|
|
506 | (1) |
|
|
507 | (1) |
|
|
508 | (1) |
|
|
509 | (12) |
|
Managed Object Discovery Tools |
|
|
511 | (10) |
|
|
521 | (7) |
|
|
521 | (4) |
|
|
525 | (3) |
|
|
528 | (7) |
|
Linux Command Line - cURL |
|
|
530 | (1) |
|
|
531 | (1) |
|
|
532 | (3) |
|
Cobra Software Development Kit |
|
|
535 | (3) |
|
|
535 | (1) |
|
Using Cobra SDK for Querying and Creating ACI Objects |
|
|
536 | (2) |
|
Automating ACI Using Ansible |
|
|
538 | (20) |
|
Ansible Component Architecture |
|
|
539 | (6) |
|
ACI Ansible Collection and Installation |
|
|
545 | (1) |
|
Practical Example 1- Create and Query ACI Objects |
|
|
546 | (4) |
|
Practical Example 2- CSV Based ACI Automation |
|
|
550 | (8) |
|
Automating ACI Using Terraform |
|
|
558 | (16) |
|
Terraform Config and State Files |
|
|
559 | (3) |
|
|
562 | (5) |
|
ACI Terraform Provider Authentication Options |
|
|
567 | (2) |
|
|
569 | (1) |
|
Sample Terraform Configuration File for ACI |
|
|
569 | (5) |
|
Advanced ACI API Features |
|
|
574 | (12) |
|
|
574 | (6) |
|
|
580 | (6) |
|
|
586 | (1) |
Useful Cisco ACI Resources |
|
587 | (4) |
Index |
|
591 | |