Network Routing, 2nd Edition
Read it now on the O’Reilly learning platform with a 10-day free trial.
O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
Book description
Network Routing: Algorithms, Protocols, and Architectures, Second Edition, explores network routing and how it can be broadly categorized into Internet routing, circuit-switched routing, and telecommunication transport network routing.
The book systematically considers these routing paradigms, as well as their interoperability, discussing how algorithms, protocols, analysis, and operational deployment impact these approaches and addressing both macro-state and micro-state in routing.
Readers will learn about the evolution of network routing, the role of IP and E.164 addressing and traffic engineering in routing, the impact on router and switching architectures and their design, deployment of network routing protocols, and lessons learned from implementation and operational experience. Numerous real-world examples bring the material alive.
- Extensive coverage of routing in the Internet, from protocols (such as OSPF, BGP), to traffic engineering, to security issues
- A detailed coverage of various router and switch architectures, IP lookup and packet classification methods
- A comprehensive treatment of circuit-switched routing and optical network routing
- New topics such as software-defined networks, data center networks, multicast routing
- Bridges the gap between theory and practice in routing, including the fine points of implementation and operational experience
- Accessible to a wide audience due to its vendor-neutral approach
Show and hide more
Table of contents Product information
Table of contents
- Cover image
- Title page
- Table of Contents
- Copyright
- Dedication
- Foreword (1st Edition)
- Preface (2nd Edition)
- Acknowledgments
- Audience
- Organization and Approach
- Bonus Materials and Online Resources
- Acknowledgments
- References
- Chapter 1: Networking and Network Routing: An Introduction
- Abstract
- 1.1. Addressing and Internet Service: An Overview
- 1.2. Network Routing: An Overview
- 1.3. IPv4 Addressing
- 1.4. IPv6 Addressing
- 1.5. On Architectures
- 1.6. Service Architecture
- 1.7. Protocol Stack Architecture
- 1.8. Router Architecture
- 1.9. Network Topology Architecture
- 1.10. Network Management Architecture
- 1.11. Global Telephone Network
- 1.12. Communication Technologies
- 1.13. Standards Committees
- 1.14. Last Two Bits
- 1.15. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 2.1. Background
- 2.2. Bellman–Ford Algorithm and the Distance Vector Approach
- 2.3. Dijkstra's Algorithm
- 2.4. Comparison of the Bellman–Ford Algorithm and Dijkstra's Algorithm
- 2.5. Shortest Path Computation with Candidate Path Caching
- 2.6. Widest Path Computation with Candidate Path Caching
- 2.7. Widest Path Algorithm
- 2.8. Shortest Widest Path and Widest Shortest Path
- 2.9. Tree, Spanning Tree, and Steiner Tree Algorithms
- 2.10. k-Shortest Paths Algorithm
- 2.11. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 3.1. Routing Protocol, Routing Algorithm, and Routing Table
- 3.2. Routing Information Representation and Protocol Messages
- 3.3. Distance Vector Routing Protocol
- 3.4. Link State Routing Protocol
- 3.5. Path Vector Routing Protocol
- 3.6. Link Cost
- 3.7. Threats to Routing Protocols
- 3.8. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 4.1. Terminologies
- 4.2. Single-Commodity Network Flow
- 4.3. Multicommodity Network Flow: Three-Node Example
- 4.4. Multicommodity Network Flow: General Link-Path Formulation
- 4.5. Multicommodity Network Flow Problem: Non-Splittable Flow
- 4.6. Node-Link Formulation
- 4.7. Generating Traffic Matrix
- 4.8. Summary
- Further Lookup
- Exercises
- References
- Chapter 5: IP Routing and Distance Vector Protocol Family
- Abstract
- 5.1. Routers, Networks, and Routing Information: Some Basics
- 5.2. Static Routes
- 5.3. Routing Information Protocol, Version 1 (RIPv1)
- 5.4. Routing Information Protocol, Version 2 (RIPv2)
- 5.5. Interior Gateway Routing Protocol (IGRP)
- 5.6. Enhanced Interior Gateway Routing Protocol (EIGRP)
- 5.7. Route Redistribution
- 5.8. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 6.1. From a Protocol Family to an Instance of a Protocol
- 6.2. OSPF: Protocol Features
- 6.3. Multitopology Routing in OSPF
- 6.4. OSPF Packet Format
- 6.5. Examples of Router LSA and Network LSA
- 6.6. Integrated IS–IS
- 6.7. Similarities and Differences Between IS–IS and OSPF
- 6.8. OSPFv3 and IS–IS for IPv6
- 6.9. Additional Extensions to OSPF and IS–IS
- 6.10. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 7.1. Traffic, Stochasticity, Delay, and Utilization
- 7.2. Applications' View
- 7.3. Traffic Engineering: An Architectural Framework
- 7.4. Traffic Engineering: A Four-Node Illustration
- 7.5. IGP Metric (Link Weight) Determination Problem for the Load Balancing Objective: Preliminary Discussion
- 7.6. Determining IGP Link Weights via duality of MCNF Problems
- 7.7. Illustration of Link Weight Determination through Duality
- 7.8. Link Weight Determination: Large Networks
- 7.9. IP Traffic Engineering of PoP-to-DataCenter Networks
- 7.10. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 8.1. Multicast IP Addressing
- 8.2. Internet Group Management Protocol (IGMP)
- 8.3. Multicast Listener Discovery Protocol (MLD)
- 8.4. Reverse Path Forwarding (RPF)
- 8.5. Distance Vector Multicast Routing Protocol (DVMRP)
- 8.6. Multicast OSPF
- 8.7. Core Based Trees
- 8.8. Protocol Independent Multicast (PIM)
- 8.9. Inter-Domain Multicast Routing
- 8.10. Internet Protocol Television (IPTV) Multicasting
- 8.11. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 9.1. BGP: A Brief Overview
- 9.2. BGP: Basic Terminology
- 9.3. BGP Operations
- 9.4. BGP Configuration Initialization
- 9.5. Two Faces of BGP: External BGP (eBGP) and Internal BGP (iBGP)
- 9.6. Path Attributes
- 9.7. BGP Decision Process
- 9.8. Internal BGP Scalability
- 9.9. Route Flap Damping
- 9.10. BGP Additional Features and Extensions
- 9.11. BGP Vulnerabilities
- 9.12. Securing BGP
- 9.13. Finite State Machine of A BGP Connection
- 9.14. BGP4 Protocol Message Format
- 9.15. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 10.1. Internet Routing Evolution
- 10.2. Addressing and Routing: Illustrations
- 10.3. Allocation of IP Prefixes and AS Numbers
- 10.4. Current Architectural View of the Internet
- 10.5. Traffic Engineering Implications
- 10.6. Point of Presence (PoP) for Large ISPs
- 10.7. Policy-Based Routing
- 10.8. IP Prefix Hijacking
- 10.9. Detecting and Preventing IP Prefix Hijacking
- 10.10. Internet Routing Instability
- 10.11. Size and Growth of the Internet Routing Architecture
- 10.12. Addressing the Growth: Locator/ID Separation Protocol (LISP)
- 10.13. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 11.1. Software Defined Networks: An Overview
- 11.2. OpenFlow
- 11.3. Routing Decisions
- 11.4. Traffic Engineering for Aggregated Flow Routing
- 11.5. Flow Management Approaches
- 11.6. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 12.1. Cloud Services and Data Center Applications
- 12.2. Data Center Network: A Simple Illustration
- 12.3. Data Center Network: Routing/Forwarding Requirements
- 12.4. Fat-Tree Data Center Topology
- 12.5. PortLand Approach for the Fat-Tree Topology
- 12.6. Multipath Routing and Traffic Engineering for Fat-Tree Topology
- 12.7. BCube
- 12.8. Multipath Routing and Traffic Engineering for BCube Architecture
- 12.9. Border Gateway Protocol (BGP) in Ultra Large Data Center Networks
- 12.10. Software-Defined Networking for Data Center Networks
- 12.11. Convergence Time and Performance
- 12.12. Summary
- Further Lookup
- Exercises
- References
- Chapter 13: Router Architectures
- Abstract
- 13.1. Functions of a Router
- 13.2. Types of Routers
- 13.3. Elements of a Router
- 13.4. Packet Flow
- 13.5. Packet Processing: Fast Path Versus Slow Path
- 13.6. Router Architectures
- 13.7. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 14.1. Impact of Addressing on Lookup
- 14.2. Longest Prefix Matching
- 14.3. Naïve Algorithms
- 14.4. Binary Tries
- 14.5. Multibit Tries
- 14.6. Compressing Multibit Tries
- 14.7. Search by Length Algorithms
- 14.8. Search by Value Approaches
- 14.9. Hardware Algorithms
- 14.10. Comparing Different Approaches
- 14.11. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 15.1. Importance of Packet Classification
- 15.2. Packet Classification Problem
- 15.3. Packet Classification Algorithms
- 15.4. Naïve Solutions
- 15.5. Two-Dimensional Solutions
- 15.6. Approaches for d Dimensions
- 15.7. Extending Two-Dimensional Solutions
- 15.8. Divide and Conquer Approaches
- 15.9. Tuple Space Approaches
- 15.10. Decision Tree Approaches
- 15.11. Hardware-Based Solutions
- 15.12. Lessons Learned
- 15.13. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 16.1. Generic Switch Architecture
- 16.2. Requirements and Metrics
- 16.3. Shared Backplane
- 16.4. Switched Backplane
- 16.5. Shared Memory
- 16.6. Crossbar
- 16.7. Head-of-Line (HOL) Blocking
- 16.8. Output Queueing
- 16.9. Virtual Output Queueing
- 16.10. Input and Output Blocking
- 16.11. Scaling Switches to a Large Number of Ports
- 16.12. Clos Networks
- 16.13. Torus Networks
- 16.14. Scaling Switches for High-Speed Links
- 16.15. Conclusions
- 16.16. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 17.1. Packet Scheduling
- 17.2. TCP Congestion Control
- 17.3. Implicit Feedback Schemes
- 17.4. Random Early Detection (RED)
- 17.5. Variations of RED
- 17.6. Explicit Feedback Schemes
- 17.7. New Class of Algorithms
- 17.8. Analyzing System Behavior
- 17.9. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 18.1. Service Level Agreements
- 18.2. Differentiated Services
- 18.3. Traffic Conditioning Mechanisms
- 18.4. Traffic Shaping
- 18.5. Traffic Policing
- 18.6. Packet Marking
- 18.7. Summary
- Further Lookup
- Exercises
- References
- Chapter 19: Circuit-Switching: Hierarchical and Dynamic Call Routing
- Abstract
- 19.1. Circuit Switching
- 19.2. Hierarchical Call Routing
- 19.3. The Road to Dynamic Routing
- 19.4. Dynamic Non-Hierarchical Routing (DNHR)
- 19.5. Dynamically Controlled Routing (DCR)
- 19.6. Dynamic Alternate Routing (DAR)
- 19.7. Real-Time Network Routing (RTNR)
- 19.8. Classification of Dynamic Call Routing Schemes
- 19.9. Maximum Allowable Residual Capacity Routing
- 19.10. Dynamic Routing and Its Relation to Other Routing
- 19.11. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 20.1. Why Traffic Engineering
- 20.2. Traffic Load and Blocking
- 20.3. Grade-of-Service (GoS)
- 20.4. Centi-Call Seconds (CCS) and Determining Offered Load
- 20.5. Economic CCS (ECCS) Method
- 20.6. Network Controls for Traffic Engineering
- 20.7. State-Dependent Call Routing
- 20.8. Analysis of Dynamic Routing
- 20.9. Performance for Heterogeneous Services
- 20.10. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 21.1. Background
- 21.2. QoS Attributes
- 21.3. Adapting Shortest Path and Widest Path Routing: A Basic Framework
- 21.4. Update Frequency, Information Inaccuracy, and Impact on Routing
- 21.5. Lessons from Dynamic Call Routing in the Telephone Network
- 21.6. A General Framework for Source-Based QoS Routing with Path Caching
- 21.7. Routing Protocols for QoS Routing
- 21.8. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 22.1. Background
- 22.2. Traffic Engineering Extension to Routing Protocols
- 22.3. Multiprotocol Label Switching (MPLS)
- 22.4. Generalized MPLS (GMPLS)
- 22.5. MPLS Virtual Private Networks
- 22.6. Multicast VPN with MPLS
- 22.7. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 23.1. Traffic Engineering of IP/MPLS Networks
- 23.2. VPN Traffic Engineering
- 23.3. Multicast VPN Traffic Engineering
- 23.4. Routing/Traffic Engineering for Voice over MPLS
- 23.5. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 24.1. Optical Technology: Overview
- 24.2. How is Optical Routing Different?
- 24.3. SONET/SDH and OTN Routing
- 24.4. WDM Routing and Wavelength Assignment
- 24.5. Protection Routing
- 24.6. Routing in Multilayer Networks
- 24.7. Overlay Networks and Overlay Routing
- 24.8. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 25.1. E.164 Addressing for GSTN
- 25.2. National Numbering Plan
- 25.3. Provider Identifier: Carrier Identification Code, Mobile Country Code, and Mobile Network Code
- 25.4. Signaling System: SS7 and Point Code
- 25.5. SS7 Protocol Stack
- 25.6. SS7 ISUP and Call Processing
- 25.7. Call Routing: Single Provider Case
- 25.8. Call Routing With Multiple Service Providers
- 25.9. Number Portability
- 25.10. Non-Geographic or Toll-Free Number Portability
- 25.11. Fixed/Mobile Number Portability
- 25.12. Multiple Provider Environment With Local Number Portability
- 25.13. Summary
- Further Lookup
- Exercises
- References
- Abstract
- 26.1. Background
- 26.2. GSTN Call Routing Using Internet
- 26.3. GSTN Call Routing: Managed IP Approach
- 26.4. IP-GSTN Interworking for VoIP
- 26.5. IP Multimedia Subsystem (IMS)
- 26.6. Multiple Heterogeneous Providers Environment
- 26.7. All-IP Environment for VoIP Services
- 26.8. Addressing Revisited
- 26.9. Summary
- Further Lookup
- Exercises
- References
- Appendix A: Notations, Conventions, and Symbols
- A.1. On Notations and Conventions
- A.2. Symbols
- B.1. Binary and Hexadecimal Numbers
- B.2. Functions: Logarithm and Modulo
- B.3. Fixed-Point Equation
- B.4. Computational Complexity
- B.5. Equivalence Classes
- B.6. Solving Linear Programming Problems
- B.7. Exponential Weighted Moving Average (EWMA)
- B.8. Linear Regression Fit
- B.9. Non-Linear Regression Fit
- B.10. Computing Probability of Path Blocking or Loss
- B.11. Four Factors in Packet Delay
- B.12. Exponential Distribution and Poisson Process
- B.13. Generating Normal and Lognormal Distributions
- B.14. Self-Similarity and Heavy-Tailed Distributions
- B.15. Markov Chain and the Birth-and-Death Process
- B.16. Average Network Delay
- B.17. Packet Format: IPv4, IPv6, TCP, and UDP
- References
Show and hide more
Product information
- Title: Network Routing, 2nd Edition
- Author(s): Deep Medhi, Karthik Ramasamy
- Release date: September 2017
- Publisher(s): Morgan Kaufmann
- ISBN: 9780128008294