HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Master Modern Networking by Understanding and Solving Real Problems
Computer Networking Problems and Solutions offers a new approach to understanding networking that not only illuminates current systems but prepares readers for whatever comes next. Its problem-solving approach reveals why modern computer networks and protocols are designed as they are, by explaining the problems any protocol or system must overcome, considering common solutions, and showing how those solutions have been implemented in new and mature protocols.
Part I considers data transport (the data plane). Part II covers protocols used to discover and use topology and reachability information (the control plane). Part III considers several common network designs and architectures, including data center fabrics, MPLS cores, and modern Software-Defined Wide Area Networks (SD-WAN). Principles that underlie technologies such as Software Defined Networks (SDNs) are considered throughout, as solutions to problems faced by all networking technologies.
This guide is ideal for beginning network engineers, students of computer networking, and experienced engineers seeking a deeper understanding of the technologies they use every day. Whatever your background, this book will help you quickly recognize problems and solutions that constantly recur, and apply this knowledge to new technologies and environments.
Coverage Includes
· Data and networking transport
· Lower- and higher-level transports and interlayer discovery
· Packet switching
· Quality of Service (QoS)
· Virtualized networks and services
· Network topology discovery
· Unicast loop free routing
· Reacting to topology changes
· Distance vector control planes, link state, and path vector control
· Control plane policies and centralization
· Failure domains
· Securing networks and transport
· Network design patterns
· Redundancy and resiliency
· Troubleshooting
· Network disaggregation
· Automating network management
· Cloud computing
· Networking the Internet of Things (IoT)
· Emerging trends and technologies
Troubleshoot Failure Domains and Information Hiding in your Networks
Introduction
Part I: The Data Plane
Chapter 1: Fundamental Concepts
Art or Engineering?
Circuit Switching
Packet Switching
Packet Switched Operation
Flow Control in Packet Switched Networks
Fixed Versus Variable Length Frames
Calculating Loop-Free Paths
Quality of Service
The Revenge of Centralized Control Planes
Complexity
Why So Complex?
Defining Complexity
Managing Complexity through the Wasp Waist
Final Thoughts
Further Reading
Review Questions
Chapter 2: Data Transport Problems and Solutions
Digital Grammars and Marshaling
Digital Grammars and Dictionaries
Fixed Length Fields
Type Length Value
Shared Object Dictionaries
Errors
Error Detection
Error Correction
Multiplexing
Addressing Devices and Applications
Multicast
Anycast
Flow Control
Windowing
Negotiated Bit Rates
Final Thoughts on Transport
Further Reading
Review Questions
Chapter 3: Modeling Network Transport
United States Department of Defense (DoD) Model
Open Systems Interconnect (OSI) Model
Recursive Internet Architecture (RINA) Model
Connection Oriented and Connectionless
Final Thoughts
Further Reading
Review Questions
Chapter 4: Lower Layer Transports
Ethernet
Multiplexing
Error Control
Data Marshaling
Flow Control
Wireless 802.11
Multiplexing
Data Marshaling, Error Control, and Flow Control
Final Thoughts on Lower Layer Transmission Protocols
Further Reading
Review Questions
Chapter 5: Higher Layer Data Transports
The Internet Protocol
Transport and Marshaling
Multiplexing
Transmission Control Protocol
Flow Control
Error Control
TCP Port Numbers
TCP Session Setup
QUIC
ICMP
Final Thoughts
Further Reading
Review Questions
Chapter 6: Interlayer Discovery
Interlayer Discovery Solutions
Well-Known and/or Manually Configured Identifiers
Mapping Database and Protocol
Advertising Identifier Mappings in a Protocol
Calculating One Identifier from the Other
Interlayer Discovery Examples
The Domain Name System
DHCP
IPv4 Address Resolution Protocol
IPv6 Neighbor Discovery
The Default Gateway Problem
Final Thoughts
Further Reading
Review Questions
Chapter 7: Packet Switching
Physical Media to Memory
Processing the Packet
Switching
Routing
Why Route?
Equal Cost Multipath
Packet Processing Engines
Across the Bus
Crossbars and Contention
Memory to Physical Media
Final Thoughts on Packet Switching
Further Reading
Review Questions
Chapter 8: Quality of Service
Defining the Problem Space
Why Not Just Size Links Large Enough?
Classification
Preserving Classification
The Unmarked Internet
Congestion Management
Timeliness: Low-Latency Queueing
Fairness: Class-Based Weighted Fair Queueing
Overcongestion
Other QoS Congestion Management Tools
Queue Management
Managing a Full Buffer: Weighted Random Early Detection
Managing Buffer Delay, Bufferbloat, and CoDel
Final Thoughts on Quality of Service
Further Reading
Review Questions
Chapter 9: Network Virtualization
Understanding Virtual Networks
Providing Ethernet Services over an IP Network
Virtual Private Access to a Corporate Network
A Summary of Virtualization Problems and Solutions
Segment Routing
Segment Routing with Multiprotocol Label Switching
Segment Routing with IPv6
Signaling Segment Routing Labels
Software-Defined Wide Area Networks
Complexity and Virtualization
Interaction Surfaces and Shared Risk Link Groups
Interaction Surfaces and Overlaid Control Planes
Final Thoughts on Network Virtualization
Further Reading
Review Questions
Chapter 10: Transport Security
The Problem Space
Validating Data
Protecting Data from Being Examined
Protecting User Privacy
The Solution Space
Encryption
Key Exchange
Cryptographic Hashes
Obscuring User Information
Transport Layer Security
Final Thoughts on Transport Security
Further Reading
Review Questions
Part II: The Control Plane
Chapter 11: Topology Discovery
Nodes, Edges, and Reachable Destinations
Node
Edge
Reachable Destination
Topology
Learning about the Topology
Detecting Other Network Devices
Detecting Two-Way Connectivity
Detecting the Maximum Transmission Unit
Learning about Reachable Destinations
Learning Reactively
Learning Proactively
Advertising Reachability and Topology
Deciding When to Advertise Reachability and Topology
Reactive Distribution of Reachability
Proactive Distribution of Reachability
Redistribution between Control Planes
Redistribution and Metrics
Redistribution and Routing Loops
Final Thoughts on Topology Discovery
Further Reading
Review Questions
Chapter 12: Unicast Loop-Free Paths (1)
Which Path Is Loop Free?
Trees
Alternate Loop-Free Paths
Waterfall (or Continental Divide) Model
P/Q Space
Remote Loop-Free Alternates
Bellman-Ford Loop-Free Path Calculation
Garcia’s Diffusing Update Algorithm
Final Thoughts
Further Reading
Review Questions
Chapter 13: Unicast Loop-Free Paths (2)
Dijkstra’s Shortest Path First
Partial and Incremental SPF
Calculating LFAs and rLFAs
Path Vector
Disjoint Path Algorithms
Two-Connected Networks
Suurballe’s Disjoint Path Algorithm
Maximally Redundant Trees
Two-Way Connectivity
Final Thoughts
Further Reading
Review Questions
Chapter 14: Reacting to Topology Changes
Detecting Topology Changes
Polling to Detect Failures
Event-Driven Failure Detection
Comparing Event-Driven and Polling-Based Detection
An Example: Bidirectional Forwarding Detection
Change Distribution
Flooding
Hop by Hop
A Centralized Store
Consistency, Accessibility, and Partitionability
Final Thoughts
Further Reading
Review Questions
Chapter 15: Distance Vector Control Planes
Control Plane Classification
Spanning Tree Protocol
Building a Loop-Free Tree
Learning about Reachable Destinations
Concluding Thoughts on the Spanning
Tree Protocol
The Routing Information Protocol
Tying Bellman-Ford to RIP
Reacting to Topology Changes
Concluding Thoughts on RIP
The Enhanced Interior Gateway Routing Protocol
Reacting to a Topology Change
Neighbor Discovery and Reliable Transport
Concluding Thoughts on EIGRP
Further Reading
Review Questions
Chapter 16: Link State and Path Vector Control Planes
A Short History of OSPF and IS-IS
The Intermediate System to Intermediate System Protocol
OSI Addressing
Marshalling Data in IS-IS
Neighbor and Topology Discovery
Reliable Flooding
Concluding Thoughts on IS-IS
The Open Shortest Path First Protocol
Marshalling Data in OSPF
Neighbor and Topology Discovery
Reliable Flooding
Concluding Thoughts on OSPF
Common Elements of OSPF and IS-IS
Multiaccess Links
Conceptualizing Links, Nodes, and Reachability in Link State Protocols
Validating Two-Way Connectivity in SPF
Border Gateway Protocol
BGP Peering
The BGP Best Path Decision Process
BGP Advertisement Rules
Concluding Thoughts on BGP
Final Thoughts
Further Reading
Review Questions
Chapter 17: Policy in the Control Plane
Control Plane Policy Use Cases
Routing and Potatoes
Resource Segmentation
Flow Pinning for Application Optimization
Defining Control Plane Policy
Control Plane Policy and Complexity
Routing and Potatoes
Resource Segmentation
Flow Pinning for Applications
Final Thoughts on Control Plane Policy
Further Reading
Review Questions
Chapter 18: Centralized Control Planes
Considering the Definition of Software Defined
A Taxonomy of Interfaces
Considering the Division of Labor
BGP as an SDN
Fibbing
I2RS
PCEP
OpenFlow
CAP Theorem and Subsidiarity
Final Thoughts on Centralized Control Planes
Further Reading
Review Questions
Chapter 19: Failure Domains and Information Hiding
The Problem Space
Defining Control Plane State Scope
Positive Feedback Loops
The Solution Space
Summarizing Topology Information
Aggregating Reachability Information
Filtering Reachability Information
Layering Control Planes
Caching
Slowing Down
Final Thoughts on Hiding Information
Further Reading
Review Questions
Chapter 20: Examples of Information Hiding
Summarizing Topology Information
Intermediate System to Intermediate System
Open Shortest Path First
Aggregation
Layering
The Border Gateway Protocol as a Reachability Overlay
Segment Routing with a Controller Overlay
Slowing Down State Velocity
Exponential Backoff
Link State Flooding Reduction
Final Thoughts on Failure Domains
Further Reading
Review Questions
Part III: Network Design
Chapter 21: Security: A Broader Sweep
The Scope of the Problem
The Biometric Identity Conundrum
Definitions
The Problem Space
The Solution Space
Defense in Depth
Access Control
Data Protection
Service Availability Assurance
The OODA Loop as a Security Model
Observe
Orient
Decide
Act
Final Thoughts on Security
Further Reading
Review Questions
Chapter 22: Network Design Patterns
The Problem Space
Solving Business Problems
Translating Business Requirements into Technical
What Is a Good Network Design?
Hierarchical Design
Common Topologies
Ring Topologies
Mesh Topologies
Hub-and-Spoke Topologies
Planar, Nonplanar, and Regular
Final Thoughts on Network Design Patterns
Further Reading
Review Questions
Chapter 23: Redundant and Resilient
The Problem Space: What Failures Look Like to Applications
Resilience Defined
Other “Measures”
Redundancy as a Tool to Create Resilience
Shared Risk Link Groups
In-Service Software Upgrade and Graceful Restart
Dual and Multiplanar Cores
Modularity and Resilience
Final Thoughts on Resilience
Further Reading
Review Questions
Chapter 24: Troubleshooting
What Is the Purpose?
What Are the Components?
Models and Troubleshooting
Build How Models
Build What Models
Build Accurate Models
Shifting between Models
Half Split and Move
Using Manipulability
Simplify before Testing
Fixing the Problem
Final Thoughts on Troubleshooting
Further Reading
Review Questions
Part IV: Current Topics
Chapter 25: Disaggregation, Hyperconvergence, and the Changing Network
Changes in Compute Resources and Applications
Converged, Disaggregated, Hyperconverged, and Composable
Applications Virtualized and Disaggregated
The Impact on Network Design
The Rise of East/West Traffic
The Rise of Jitter and Delay
Packet Switched Fabrics
The Special Properties of a Fabric
Spine and Leaf
Traffic Engineering on a Spine and Leaf
A Larger-Scale Spine and Leaf
Disaggregation in Networks
Final Thoughts on Disaggregation
Further Reading
Review Questions
Chapter 26: The Case for Network Automation
Automation Concepts
Modern Automation Methods
NETCONF
RESTCONF
Automation with Programmatic Interfaces
On-box Automation
Network Automation with Infrastructure Automation Tools
Network Controllers and Automation
Network Automation for Deployment
Final Thoughts on the Future of Network Automation: Automation to Automatic
Further Reading
Review Questions
Chapter 27: Virtualized Network Functions
Network Design Flexibility
Service Chaining
Scaling Out
Decreased Time to Service through Automation
Centralized Policy Management
Intent-Based Networking
Benefit
Compute Advantages and Architecture
Improving VNF Throughput
Considering Tradeoffs
State
Optimization
Surface
Other Tradeoffs to Consider
Final Thoughts
Further Reading
Review Questions
Chapter 28: Cloud Computing Concepts and Challenges
Public Cloud Business Drivers
Shifting from Capital to Operational Expenditure
Time-to-Market and Business Agility
Nontechnical Public Cloud Tradeoffs
Operational Tradeoffs
Business Tradeoffs
Technical Challenges of Cloud Networking
Latency
Populating Remote Storage
Data Gravity
Selecting Among Multiple Paths to the Public Cloud
Security in the Cloud
Protecting Data over Public Transport
Managing Secure Connections
The Multitenant Cloud
Role-Based Access Controls
Monitoring Cloud Networks
Final Thoughts
Further Reading
Review Questions
Chapter 29: Internet of Things
Introducing IoT
IoT Security
Securing Insecurable Devices Through Isolation
IoT Connectivity
Bluetooth Low Energy (BLE)
LoRaWAN
IPv6 for IoT
IoT Data
Final Thoughts on the Internet of Things
Further Reading
Review Questions
Chapter 30: Looking Forward
Pervasive Open Automation
Modeling Languages and Models
A Brief Introduction to YANG
Looking Forward Toward Pervasive Automation
Hyperconverged Networks
Intent-Based Networking
Machine Learning and Artificial Narrow Intelligence
Named Data Networking and Blockchains
Named Data Networking Operation
Blockchains
The Reshaping of the Internet
Final Thoughts on the Future of Network Engineering
Further Reading
Review Questions
9781587145049 TOC 11/27/2017