Learn practical guidelines for designing and deploying a scalable BGP routing architecture
BGP Design and Implementation focuses on real-world problems and provides not only design solutions, but also the background on why they are appropriate and a practical overview of how they apply into a top-down design. The BGP protocol is being used in both service provider and enterprise networks. The design goals of these two groups are different, leading to different architectures being used in each environment. The title breaks out the separate goals, and resulting solutions for each group to assist the reader in further understanding different solution strategies.
This book starts by identifying key features and functionality in BGP. It then delves into the topics of performance tuning, routing policy development, and architectural scalability. It progresses by examining the challenges for both the service provider and enterprise customers, and provides practical guidelines and a design framework for each. BGP Design and Implementation finishes up by closely looking at the more recent extensions to BGP through Multi-Protocol BGP for MPLS-VPN, IP Multicast, IPv6, and CLNS.
Each chapter is generally organized into the following sections: Introduction, Design and Implementation Guidelines, Case Studies, and Summary.
I. UNDERSTANDING ADVANCED BGP.1. Advanced BGP Introduction.
Understanding BGP Characteristics. Reliability. Stability. Scalability. Flexibility. Comparing BGP and IGP.2. Understanding BGP Building Blocks.
Comparing the Control Plane and Forwarding Plane. BGP Processes and Memory Use. BGP Path Attributes. ORIGIN. AS_PATH. NEXT_HOP. MULTI_EXIT_DISC. LOCAL_PREF. COMMUNITY. ORIGINATOR_ID. CLUSTER_LIST. Understanding Internal BGP. Path Decision Process. BGP Capabilities. BGP-IGP Routing Exchange. Routing Information Base. Switching Paths. Process Switching. Cache-Based Switching. Fast Switching. Optimum Switching. Distributed Optimum Switching. NetFlow Switching. Shortcomings of Cached-Based Switching Methods. Cisco Express Forwarding. FIB. Adjacency Table. Distributed CEF. Load Sharing. Comparison of Switching Mechanisms. Case Study: BGP Memory Use Estimation. Methods. Estimation Formulas. Free Memory Before BGP Is Enabled. Memory Use for BGP Networks. Memory Use for BGP Paths. Memory Use for BGP Path Attributes. Memory Use for IP NDB. Memory Use for IP RDB. Memory Use for IP CEF. Total BGP Memory Use. Analysis. Summary.3. Tuning BGP Performance.
BGP Convergence Tuning. TCP Protocol Considerations. TCP MSS. TCP Window Size. Path MTU Discovery. Queue Optimization. Packet Reception Process. Hold Queue Optimization. SPD. System Buffers. BGP Update Generation. Peer Groups. BGP Dynamic Update Peer Groups. Update Packing Enhancement. BGP Read-Only Mode. Performance Optimization Interdependencies. BGP Network Performance Features. Network Failure Impact Mitigation. BGP Fast External Fallover. IGP/BGP Convergence Time Deltas. BGP Non-Stop Forwarding. Prefix Update Optimization. Route Flap Dampening. BGP Soft Reconfiguration. Route Refresh Feature. Transmit Side Loop Detection. Outbound Route Filtering. Case Study: BGP Convergence Testing. Test Scenario. Baseline Convergence. Peer Group Benefits. Peer Groups and Path MTU Discovery. Peer Groups and Queue Optimization. Pre-Release 12.0(19)S Feature Comparison. Post-Release 12.0(19)S BGP Enhancements. Case Study Summary. Summary.4. Effective BGP Policy Control.
Policy Control Techniques. Regular Expression. Components of a Regular Expression. How to Use Regular Expressions in Cisco IOS Software. Filter Lists for Enforcing BGP Policies. Prefix Lists. AS Path Lists. Community Lists. Route Maps. Policy Lists. Filter Processing Order. Conditional Advertisement. Configurations. Examples. Aggregation and Deaggregation. Local AS. QoS Policy Propagation. Identifying and Tagging BGP Prefixes That Require Preferential Treatment. Setting FIB Policy Entries Based on BGP Tagging. Configuring Traffic Lookup on an Interface and Setting QoS Policies. Enforcing Policing on an Interface as Traffic Is Received and Transmitted. An Example of QPPB. BGP Policy Accounting. Case Study: AS Integration via the Local AS. Summary.
II. DESIGNING BGP ENTERPRISE NETWORKS.5. Enterprise BGP Core Network Design.
Using BGP in the Enterprise Core. Defining the Problem. Determining the Solution. BGP Strengths. BGP Weaknesses. BGP Network Core Design Solutions. Internal BGP Core Architecture. Path Selection. Failure and Recovery Scenarios. Administrative Control. Routing Policy. External BGP Core Architecture. Path Selection. Failure and Recovery Scenarios. Administrative Control. Routing Policy. Internal/External BGP Core Architecture. Path Selection. Failure and Recovery Scenarios. Administrative Control. Routing Policy. Remote Site Aggregation. Case Study: BGP Core Deployment. BGP Core Design Scenario. Design Requirements. Potential Solutions. Requirements Analysis. Solution Description. Core Design. Major Center Attachment. Remote Site Aggregation. Internet Connectivity. Migration Plan. Supporting Infrastructure. Overlay BGP and Inject Prefixes. BGP Core Activation. Final Cleanup. Final Scenario. Summary.6. Internet Connectivity for Enterprise Networks.
Determining What Information to Accept from Upstream Providers. Default Route Only. Default Plus Partial Routes. Full Internet Tables. Multihoming. Stub Network Single-Homed. Stub Network Multihomed. Single Border Router. Multiple Border Routers. Standard Multihomed Network. Single Border Router. Multiple Border Routers. Route Filtering. Inbound Filtering. Outbound Filtering. Load Balancing. Inbound Traffic Load Balancing. Outbound Traffic Load Balancing. Multiple Sessions to the Same Provider. EBGP Multihop Solution. EBGP Multipath Solution. Additional Connectivity Concerns. Provider-Based Summarization. Peering Filters. Case Study: Load Balancing in a Multihoming Environment. Scenario Overview. Traffic Flow Requirements. Failure Scenarios. Initial Configurations. Inbound Traffic Policy. Outbound Traffic Policy. Final Configurations. Summary.
III. DESIGNING BGP SERVICE PROVIDER NETWORKS.7. Scalable iBGP Design and Implementation Guidelines.
Issues of iBGP Scalability. Route Reflection. How Route Reflection Works. Rules for Prefix Advertisement. Clustering. Loop-Prevention Mechanisms. ORIGINATOR_ID. CLUSTER_LIST. Hierarchical Route Reflection. Route Reflection Design Examples. Keeping Logical and Physical Topologies Congruent. Using Comparable Inter-AS Metrics in an RR Environment. Setting Proper IGP Metrics in an RR Environment. Clustering Design. Resetting the Next Hop. Route Reflection with Peer Groups. Confederation. How Confederation Works. Special Treatment of AS_PATH. Special Treatment of Communities. Confederation External and Confederation Internal Routes. Private AS Numbers. Confederation Design Examples. Hub-and-Spoke Architecture. Setting Proper IGP Metrics for Confederations. Confederation Versus Route Reflection. Summary.8. Route Reflection and Confederation Migration Strategies.
General Migration Strategies. Preparatory Steps. Identifying the Starting and Final Network Topologies. Identifying the Starting Router. Minimizing Traffic Loss. Case Study 1: iBGP Full Mesh to Route Reflection Migration. Starting Configurations and RIBs. Migration Procedures. Step 1: Select the Starting Core Router. Step 2: Create a New Peer Group for Clients, and Enable Route Reflection. Step 3: Move All Access Routers to the New Peer Group. Step 4: Move the Other Core Router to RR, and Add Access Routers as Clients. Step 5: Remove iBGP Sessions That Are No Longer Needed. Step 6: Repeat Steps 1 Through 5 for the Other POP. Step 7: Verify BGP Reachability for All Prefixes. Final BGP Configurations. Case Study 2: iBGP Full Mesh to Confederation Migration. Starting Configurations and RIBs. Migration Procedures. Step 1: Select R4 as the Starting Router and Move It out of the Forwarding Paths. Step 2: Replace R4's BGP Process with the Confederation Configuration and Update. All Routers. Step 3: Create iBGP Mesh Sessions and Intraconfederation eBGP Sessions. Step 4: Update the Configurations on R1 and R2 to Peer with R. Step 5: Move R6 from Member AS 100 to Member AS 65001 and Put R4 Back in the. Forwarding Paths. Step 6: Move R7 from Member AS 100 to Member AS 65001 and Move R5 out of the. Forwarding Paths. Step 7: Move R5 from Member AS 100 to Member AS 65001 and Put R5 Back in the. Forwarding Paths. Step 8: Update the Peering with R5 on R1 and R. Step 9: Move R2 out of the Forwarding Paths, and Migrate R2 from Member AS 100. to Member AS. Step 10: Update the Peerings with R2 and Put R2 Back in the Forwarding Paths. Step 11: Move R3 from Member AS 100 to Member AS. Step 12: Move R1 from Member AS 100 to Member AS. Step 13: Update the Peering with R. Step 14: Verify BGP Reachability for All Prefixes. Case Study 3: Route Reflection to Confederation Migration. Starting Configurations. Migration Procedures. Step 1: Select R4 as the Starting Router and Move It out of the Forwarding Paths. Step 2: Migrate R4 from AS 100 to Member AS 65001 and Update All Other Routers. with Confederation Configurations. Step 3: Create Intramember and Intermember AS Sessions on R. Step 4: Update the Peering on R1 and R. Step 5: Move R6 from Member AS 100 to Member AS 65001 and Put R4 Back in the. Forwarding Paths. Step 6: Move R7 from Member AS 100 to Member AS 65001 and Move R5 out of the. Forwarding Paths. Step 7: Move R5 from Member AS 100 to Member AS 65001 and Put R5 Back in the. Forwarding Paths. Step 8: Update the Peering with R. Step 9: Move R2 out of the Forwarding Paths and Migrate R2 from Member AS 100 to. Member AS. Step 10: Update the Peerings with R2, and Put R2 Back in the Forwarding Paths. Step 11: Move R3 from Member AS 100 to Member AS. Step 12: Move R1 from Member AS 100 to Member AS. Step 13: Update the Peerings with R. Step 14: Verify All the Routing Information. Case Study 4: Confederation to Route Reflection Migration. Starting Configurations. Migration Procedures. Step 1: Select R4 as the Starting Router and Move It out of the Forwarding Paths. Step 2: Migrate R4 to a New Member AS 100 and Make It a Route Reflector. Step 3: On R1 and R2, Add Member AS 100 to the Peers and Update the Peerings. with R. Step 4: Move R6 from Member AS 65001 to Member AS 100 and Put R4 Back in the. Forwarding Paths. Step 5: Move R7 from Member AS 65001 to Member AS 100 and Move R5 out of the. Forwarding Paths. Step 6: Move R5 from Member AS 65001 to Member AS. Step 7: On R1 and R2, Update the Peerings with R5 and Put R5 Back in the. Forwarding Paths. Step 8: Move R2 out of the Forwarding Paths and Migrate R2 from Member AS 65000. to Member AS. Step 9: Update the Peering on R4 and R5 and Put R2 Back in the Forwarding Paths. Step 10: Move R3 from Member AS 65000 to Member AS. Step 11: Move R1 from Member AS 65000 to Member AS. Step 12: Update the Peering with R. Step 13: Remove the Confederation from the Configurations of All the Routers in. AS. Step 14: Verify BGP Reachability for All Prefixes. Summary.9. Service Provider Architecture.
General ISP Network Architecture. Interior Gateway Protocol Layout. Network Layout. The Network Core Layer. The Aggregation Layer. The Network Edge Layer. General BGP Settings. Network Addressing Methodology. Loopback Addressing. Link Addressing. Customer Addressing. Customer Connectivity. Customer BGP Peering. Static Route Redistribution. Identifying Customer Prefixes. Transit and Peering Overview. Transit Connectivity. Peering. Public Peering. Private Peering. ISP Tiers and Peering. BGP Community Design. Prefix Origin Tracking. Dynamic Customer Policy. Local Preference Manipulation. Controlling Upstream Prefix Advertisement. QoS Policy Propagation with BGP. Static Redistribution and Community Application. BGP Security Features. TCP MD5 Signatures for BGP Sessions. Peer Filtering. Graded Route Flap Dampening. Public Peering Security Concerns. Pointing Default. Third-Party Next Hop. GRE Tunneling. Case Study: Distributed Denial-of-Service Attack Mitigation. Dynamic Black Hole Routing. Final Edge Router Configuration Example. Summary.
PART IV. IMPLEMENTING BGP MULTIPROTOCOL EXTENSIONS.10. Multiprotocol BGP and MPLS VPN.
BGP Multiprotocol Extension for MPLS VPN. Route Distinguisher and VPN-IPv4 Address. Extended Community Attribute. Route Target Extended Community. Route Origin Extended Community. Multiprotocol Reachability Attributes. Understanding MPLS Fundamentals. MPLS Labels. Label Exchange and LSP Setup. Forwarding Labeled Packets. Building MPLS VPN Architectures. Components of an MPLS VPN. VPN Routing/Forwarding Instance. VPNv4 Route and Label Propagation. Automatic Route Filtering. AS_PATH Manipulation. AS Override. Allow-AS. VPNs Across AS Borders. Inter-AS VPN. Back-to-Back VRF. Single-Hop Multiprotocol eBGP for VPNv. Multihop Multiprotocol eBGP for VPNv. Non-VPN Transit Provider for VPNv. Comparison of Various Inter-AS VPN Options. Carrier Supporting Carrier VPN. CSC for Full Internet Routes. Hierarchical VPN. BGP Confederations and MPLS VPN. Deployment Considerations. Scalability. Resource Consumption on PE Devices. Route Reflector Designs with MPLS VPN. Design Guidelines for RDs. Route Target Design Examples. Hub-and-Spoke VPN Topologies. Extranet VPN. Management VPN. Convergence. Provider Backbone Convergence. Site-to-Site Convergence. Case Study: Inter-AS VPN Using Multihop eBGP Between RRs and IPv4 Labels. Summary.11. Multiprotocol BGP and Interdomain Multicast.
Multicast Fundamentals. Multicast Distribution Trees. Multicast Group Notation. Shared Tree. Source Tree. Building Multicast Distribution Trees. Dense Mode. Sparse Mode. Interdomain Multicast. Multicast Source Discovery Protocol. Multicast NLRI in MP-BGP. mBGP/MSDP Interaction. Peer-RPF Checking Rule 1: i(m)BGP Session. Peer-RPF Checking Rule 2: e(m)BGP Session. Peer-RPF Checking Rule 3: No (m)BGP Session. Mesh Groups. Route Reflection Issues. Case Study: Service Provider Multicast Deployment. Anycast RP. Customer Configurations. MSDP Default Peer. Multiple Links, Same Upstream Provider. Multiple ISPs, Dedicated Unicast and Multicast. Multiple Upstream ISPs, Redundant Multicast. Interdomain Connections. Summary.12. Multiprotocol BGP Support for IPv.
IPv6 Enhancements. Expanded Addressing Capabilities. Autoconfiguration Capabilities. Header Simplification. Security Enhancements. QoS Capabilities. IPv6 Addressing. Anycast Address Functionality. General Address Format. Aggregatable Global Unicast Addresses. Local Addressing. Interface Identifiers. Special Addresses. MP-BGP Extensions for IPv6 NLRI. Dual-Stack Deployment. MP-BGP for IPv6 Deployment Considerations. Configuring MP-BGP for IPv. BGP Address Family Configuration. Injecting IPv6 Prefixes into BGP. Prefix Filtering for IPv. Case Study: Deploying a Dual-Stack IPv4 and IPv6 Environment. Initial IPv4 Network Topology. Initial Configurations. Planned IPv6 Overlay. IPv6 Network Topology. Final Configurations. Summary.
V. APPENDIXES.Appendix A: Multiprotocol BGP Extensions for CLNS Support.