Muutke küpsiste eelistusi

Cloud Native Data-Center Networking: Architecture, Protocols, and Tools [Pehme köide]

  • Formaat: Paperback / softback, 486 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 30-Dec-2019
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492045608
  • ISBN-13: 9781492045601
  • Pehme köide
  • Hind: 63,19 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 74,34 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 486 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 30-Dec-2019
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492045608
  • ISBN-13: 9781492045601

If you want to study, build, or simply validate your thinking about modern cloud native data center networks, this is your book. Whether you&;re pursuing a multitenant private cloud, a network for running machine learning, or an enterprise data center, author Dinesh Dutt takes you through the steps necessary to design a data center that&;s affordable, high capacity, easy to manage, agile, and reliable.

Ideal for network architects, data center operators, and network and containerized application developers, this book mixes theory with practice to guide you through the architecture and protocols you need to create and operate a robust, scalable network infrastructure. The book offers a vendor-neutral way to look at network design. For those interested in open networking, this book is chock-full of examples using open source software, from FRR to Ansible.

In the context of a cloud native data center, you&;ll examine:

  • Clos topology
  • Network disaggregation
  • Network operating system choices
  • Routing protocol choices
  • Container networking
  • Network virtualization and EVPN
  • Network automation
Preface xvii
1 The Motivations for a New Network Architecture 1(18)
The Application-Network Shuffle
1(4)
The Network Design from the Turn of the Century
5(8)
The Charms of Bridging
6(3)
Building Scalable Bridging Networks
9(4)
The Trouble with the Access-Aggregation-Core Network Design
13(4)
Unscalability
13(1)
Complexity
14(1)
Failure Domain
15(1)
Unpredictability
16(1)
Inflexibility
16(1)
Lack of Agility
17(1)
The Stories Not Told
17(1)
Summary
18(1)
2 Clos: Network Topology for a New World 19(20)
Introducing the Clos Topology
20(2)
A Deeper Dive into the Clos Topology
22(7)
Use of Homogeneous Equipment
22(1)
Routing as the Fundamental Interconnect Model
22(2)
Oversubscription in a Clos Topology
24(1)
Interconnect Link Speeds
25(1)
Practical Constraints
26(2)
Fine-Grained Failure Domain
28(1)
Scaling the Clos Topology
29(2)
Comparing the Two Three- Tier Models
31(1)
Application Matchup
31(1)
Data Center Build Out
31(1)
Implications of the Clos Topology
32(1)
Rethinking Failures and Troubleshooting
32(1)
Cabling
33(1)
Simplified Inventory Management
33(1)
Network Automation
33(1)
Some Best Practices for a Clos Network
33(3)
Use of Multiple Links Between Switches
33(1)
Use of Spines as Only a Connector
34(1)
Use of Chassis as a Spine Switch
35(1)
Host Attach Models
36(1)
Summary
37(1)
References
38(1)
3 Network Disaggregation 39(14)
What Is Network Disaggregation?
39(3)
Why Is Network Disaggregation Important?
42(1)
Controlling Costs
42(1)
Avoiding Vendor Lock-In
43(1)
Standardization of Features
43(1)
What Made Network Disaggregation Possible Now?
43(1)
Difference in Network Operations with Disaggregation
44(2)
Purchase and Support
44(1)
First Boot
45(1)
Open Network Installer Environment
46(2)
How Does ONIE Work?
47(1)
The Players in Network Disaggregation: Hardware
48(2)
Packet-Switching Silicon
48(1)
ODMs
49(1)
CPU Complex
49(1)
The Standards Bodies
49(1)
Common Myths About Network Disaggregation
50(1)
Some Best Practices for Engaging with Network Disaggregation
51(1)
Summary
52(1)
References
52(1)
4 Network Operating System Choices 53(28)
Requirements of a Network Device
54(1)
The Rise of Software-Defined Networking and OpenFlow
55(7)
More Details About SDN and OpenFlow
56(2)
The Trouble with OpenFlow
58(2)
OVS
60(1)
The Effect of SDN and OpenFlow on Network Disaggregation
61(1)
NOS Design Models
62(10)
Location of Switch Network State
64(2)
Programming the Switching Silicon
66(4)
API
70(1)
The Reasons Behind the Different Answers
70(2)
User Interface
72(1)
Comparing the NOS Models with Cloud Native NOS Requirements
73(5)
Illustrating the Models with an Example
73(5)
What Else Is Left for a NOS to Do?
78(1)
Summary
78(1)
References
79(2)
5 Routing Protocol Choices 81(30)
Routing Overview
82(8)
How Routing Table Lookups Work
83(2)
How Routes Are Chosen
85(1)
Types of Routing Table Entries
86(1)
RIB and FIB
87(3)
Routing Protocols Overview
90(1)
Distance Vector Protocols Versus Link-State Protocols
91(4)
Distance Vector Dissected
91(2)
Link-State Dissected
93(2)
Summarizing Distance Vector Versus Link-State Route Exchange
95(1)
Comparing Distance Vector and Link-State Protocols
95(7)
Scaling in Link-State and Distance Vector Protocols
95(1)
Multipathing in Distance Vector and Link-State Protocols
96(1)
No News Is Good News
97(1)
Propagation Delay in Link-State and Distance Vector Protocols
97(1)
Multiprotocol Support
98(1)
Unnumbered Interfaces
98(2)
Routing Configuration Complexity
100(2)
Routing Protocols in Clos Networks
102(5)
Link-State Versus Distance Vector When Links or Nodes Fail
102(3)
Route Summarization in Clos Networks
105(1)
Security and Safeguards
106(1)
Bidirectional Forwarding Detection
107(1)
Requirements of a Routing Protocol in the Data Center
108(1)
Basic Requirements
108(1)
Advanced Requirements
108(1)
Rare or Futuristic Requirements
109(1)
Choosing the Routing Protocol for Your Network
109(1)
Summary
110(1)
References
110(1)
6 Network Virtualization 111(30)
What Is Network Virtualization?
112(1)
Uses of Network Virtualization in the Data Center
113(2)
Forcing Traffic to Take a Certain Path
113(1)
Applications That Require L2 Adjacency
114(1)
Cloud
115(1)
Separating Switch Management Network from Data Traffic
115(1)
Network Virtualization Models
115(3)
Service Abstraction: L2 or L3
116(1)
Inline Versus Overlay Virtual Networks
117(1)
Network Tunnels: The Fundamental Overlay Construct
118(5)
Benefits of Network Tunnels
120(1)
The Drawbacks of Network Tunnels
121(2)
Network Virtualization Solutions for the Data Center
123(2)
VLAN
123(1)
VRF
123(1)
VXLAN
123(2)
Other Network Virtualization Solutions
125(1)
Practical Limits on the Number of Virtual Networks
125(3)
Size of Virtual Network ID in Packet Header
126(1)
Hardware Limitations
126(1)
Scalability of Control Plane and Software
126(1)
Deployment Model
127(1)
Control Protocols for Network Virtualization
128(2)
Relationship of Virtual and Physical Control Plane
128(1)
The Centralized Control Model
129(1)
The Protocol-Based Control Model
129(1)
Vendor Support for Network Virtualization
130(1)
Merchant Silicon
130(1)
Software
130(1)
Standards
130(1)
Illustrating VXLAN Bridging and Routing
131(9)
VXLAN Bridging Example: H1 to H5
133(3)
VXLAN and Routing: H1 to H6
136(3)
Summarizing VXLAN Bridging and Routing
139(1)
Summary
140(1)
7 Container Networking 141(20)
Introduction to Containers
142(1)
Namespaces
143(3)
Network Namespaces
144(2)
Virtual Ethernet Interfaces
146(2)
Container Networking: Diving In
148(10)
Single-Host Container Networking
148(6)
Multihost Container Networking
154(4)
Comparing Different Container Network Solutions
158(1)
Kubernetes Networking
159(1)
Summary
160(1)
8 Multicast Routing 161(22)
Multicast Routing: Overview
162(2)
The Uses of Multicast Routing
163(1)
Problems to Solve in Multicast Routing
164(4)
Building a Multicast Tree
164(1)
Multicast Routing Protocol
165(3)
PIM Sparse Mode
168(12)
Rendezvous Point
168(1)
Building a Multicast Distribution Tree
168(11)
Multiple RPs and MSDP
179(1)
PIM-SM in the Data Center
180(2)
PIM-SM and Unnumbered
182(1)
Summary
182(1)
9 Life on the Edge of the Data Center 183(12)
The Problems
183(1)
Connectivity Models
184(6)
Why Connect to the External World?
184(1)
Bandwidth Requirements for External Connectivity
184(1)
Connecting the Clos Topology to the External World
185(2)
Routing at the Edge
187(1)
Services
188(2)
Hybrid Cloud Connectivity
190(3)
Summary
193(2)
10 Network Automation 195(38)
What Is Network Automation?
196(1)
Who Needs Network Automation?
197(1)
Does Network Automation Mean Learning Programming?
198(1)
Why Is Network Automation Difficult?
199(5)
The Trouble with IP Addresses and Interfaces
201(1)
Scale
201(1)
Network Protocol Configuration Complexity
202(1)
Lack of Programmatic Access
203(1)
Traditional Network OS Limitations
203(1)
What Can Network Developers Do to Help Network Automation?
204(1)
Tools for Network Automation
204(3)
Automation Best Practices
207(1)
Ansible: An Overview
208(11)
Inventory
210(2)
Playbooks
212(4)
Ad Hoc Commands
216(1)
Structuring Playbooks
217(2)
A Typical Automation Journey
219(9)
Glorified File Copy
219(2)
Automate the Configuration That Was Not Device Specific
221(1)
Template the Routing and Interface Configuration
222(1)
More Templating and Roles
223(3)
Some Observations from Fellow Journeymen
226(2)
Validating the Configuration
228(4)
Single Source of Truth
228(1)
Commit/Rollback in the Age of Automation
228(2)
Vagrant and Network Testing
230(1)
Automating Verification
231(1)
Summary
232(1)
References
232(1)
11 Network Observability 233(14)
What Is Observability?
234(1)
The Current State of Network Observability
235(3)
The Disenchantments of SNMP
235(2)
Box-by-Box Approach to Network Observability
237(1)
Why Is Observability Difficult with Networking?
238(1)
Observability in Data Center Networks: Special Characteristics
238(2)
Decomposing Observability
240(1)
The Mechanics of Telemetry
240(4)
What Do We Gather?
240(2)
How Do We Gather?
242(1)
When Do We Gather?
243(1)
Storing the Data
243(1)
The Uses for Multiple Data Sources
244(1)
Of Alerts and Dashboards
245(1)
Summary
246(1)
References
246(1)
12 Rethinking Network Design 247(10)
Standard, Simple Building Blocks
248(2)
Network Disaggregation
249(1)
Failure: Missing the Forest for the Trees
250(2)
L2 Failure Model Versus L3 Failure Model
250(1)
Simple Versus Complex Failures
251(1)
Handling Upgrades
251(1)
The Pursuit of Less
252(2)
How the Right Architecture Helps
253(1)
Feature Set Essentialism
253(1)
Constraints on the Cloud Native Network Design Principles
254(1)
Summary
255(2)
13 Deploying OSPF 257(30)
Why OSPF?
258(1)
The Problems to Be Addressed
259(4)
Determining Link-State Flooding Domains
260(1)
Numbered Versus Unnumbered OSPF
261(1)
Support for IPv6
261(1)
Support for VRFs
262(1)
Requirements for Running OSPF on Servers
262(1)
OSPF Route Types
263(3)
The Messiness of Stubbiness
265(1)
OSPF Timers
266(2)
Dissecting an OSPF Configuration
268(17)
Configuration for Leaf-Spine in a Two- Tier Clos Topology: IPv4
268(9)
Configuration for Leaf-Spine in a Two- Tier Clos Topology: IPv6
277(2)
Configuration with Three- Tier Clos Running OSPF
279(1)
Configuration with Servers Running OSPF: IPv4
280(4)
Summarizing Routes in OSPF
284(1)
OSPF and Upgrades
284(1)
Best Practices
285(1)
Summary
286(1)
14 BGP in the Data Center 287(14)
Basic BGP Concepts
288(7)
BGP Protocol Overview
288(1)
BGP Peering
289(1)
BGP State Machine
290(1)
Autonomous System Number
290(1)
BGP Capabilities
291(1)
BGP Attributes, Communities, Extended Communities
291(1)
BGP Best-Path Computation
292(1)
Support for Multiple Protocols
293(1)
BGP Messages
293(2)
Adapting BGP to the Data Center
295(5)
eBGP Versus iBGP
295(1)
eBGP: Flying Solo
296(1)
Private ASNs
296(1)
BGP's ASN Numbering Scheme
296(2)
Multipath Selection
298(1)
Fixing BGP's Convergence Time
299(1)
Summary
300(1)
15 Deploying BGP 301(34)
Core BGP Configuration Concepts
301(2)
Traditional Configuration for a Two- Tier Clos Topology: IPv4
303(4)
Peer Group
307(1)
Routing Policy
308(6)
Route Maps: Implementation of Routing Policy
310(4)
Providing Sane Defaults for the Data Center
314(2)
BGP Unnumbered: Eliminating Pesky Interface IP Addresses
316(9)
A remote-as by Any Name
317(1)
How Unnumbered Interfaces Work with BGP
318(6)
Final Observations on BGP Configuration in FRR
324(1)
Unnumbered BGP Support in Routing Stacks
325(1)
Summary
325(1)
Configuring IPv6
325(1)
BGP and VRFs
326(2)
Peering with BGP Speakers on the Host
328(3)
BGP Dynamic Neighbors
330(1)
BGP and Upgrades
331(2)
AS_PA TH Prepend
331(1)
GRACEFUL_SHU TDOWN Community
332(1)
Max-MED
332(1)
Best Practices
333(1)
Summary
333(2)
16 EVPN in the Data Center 335(32)
Why Is EVPN Popular?
336(1)
The Problems a Network Virtualization Control Plane Must Address
336(1)
Where Does a V TEP Reside?
337(1)
One Protocol to Rule Them All, Or...?
338(3)
iBGP Characteristics
338(2)
Separate Underlay and Overlay Protocols
340(1)
eBGP Only
341(1)
BGP Constructs to Support Virtual Network Routes
341(5)
Route Distinguisher
342(1)
Route Target
343(1)
FRR's use of RD and R T
344(1)
EVPN Route Types
344(1)
Communicating Choice of BUM Handling
345(1)
EVPN and Bridging
346(8)
EVPN Bridging with Ingress Replication
347(2)
EVPN Bridging with Routed Multicast Underlay
349(4)
Handling MAC Moves
353(1)
Support for Dual-Attached Hosts
354(5)
Host-Switch Interconnect Model
355(1)
VXLAN Model for Dual-Attached Hosts
356(1)
Switch Peering Options
357(1)
Handling Link Failures
358(1)
Avoiding Duplicate Multidestination Frames
359(1)
ARP/ND Suppression
359(2)
EVPN and Routing
361(3)
Centralized Versus Distributed Routing
361(1)
Symmetric Versus Asymmetric Routing
362(1)
Route Advertisements
363(1)
The Use of VRFs
363(1)
Deploying EVPN in Large Networks
364(1)
Summary
365(2)
17 Deploying Network Virtualization 367(24)
The Configuration Scenarios
367(2)
Device-Local Configuration
369(3)
Single eBGP Session
372(8)
OSPF Underlay, iBGP Overlay
380(9)
allowas-in Versus Separate ASN
385(1)
PIM/MSDP Configuration
386(3)
EVPN on the Host
389(1)
Best Practices
389(1)
Summary
390(1)
18 Validating Network Configuration 391(48)
Validating the Network State
393(1)
System Validation
393(3)
Cabling Validation
396(6)
Using Ansible to Validate Cabling
399(3)
Interface Configuration Validation
402(4)
Automating Interface Configuration Validation
405(1)
Routing Configuration Validation
406(22)
Validating an OSPF Configuration
407(7)
Validating a BGP Configuration
414(9)
Stripping the Private ASNs
423(5)
Validating Network Virtualization
428(6)
Application's Network Validation
434(2)
Data-Plane Validation
436(1)
Summary
437(2)
19 Coda 439(2)
Glossary 441(6)
Index 447
Dinesh G Dutt has been in the networking industry for the past 20 years, most of it at Cisco Systems. His most recent job was as the Chief Scientist at Cumulus Networks. Before that, he was a Fellow at Cisco Systems. He has been involved in enterprise and data center networking technologies, including the design of many of the ASICs that powered Cisco's mega-switches such as Cat6K and the Nexus family of switches. He also has experience in storage networking from his days at Andiamo Systems and in the design of FCoE. He is a co-author of TRILL and VxLAN and has filed for over 40 patents.