This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.
Learn practical guidelines for designing and deploying a scalable BGP routing architecture
- Up-to-date coverage of BGP features like performance tuning, multiprotocol BGP, MPLS VPN, and multicast BGP
- In-depth coverage of advanced BGP topics to help design a complex BGP routing architecture
- Practical design tips that have been proven in the field
- Extensive configuration examples and case studies
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.
About the Author
Randy Zhang, Ph.D., CCIE No. 5659, is a network consulting engineer at Cisco Systems Advanced Engineering Services (AES), supporting Cisco strategic service provider and enterprise customers.
Micah Bartell, CCIE No. 5069, is a network consulting engineer at Cisco Systems. He is a member of the ISP Experts team in Advanced Engineering Services, providing support to Cisco strategic service provider and enterprise customers. He is a recognized expert in the area of large-scale IP network design, with a strong focus on BGP, IS-IS, and IP Multicast.
Table of Contents
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.
Appendix B: Matrix of BGP Features and Cisco IOS Software Releases.
Appendix C: Additional Sources of Information.
Appendix D: Acronym Glossary.
Most Helpful Customer Reviews
BGP Design and Implementation (ISBN: 1587051095, Cisco Press) is a new and welcome addition to Cisco Presss growing BGP library. Unlike previous BGP works, this book assumes that the reader already has a solid understanding of BGP theory and mechanics, and is geared for those people interested in real world BGP design, implementation, and management in enterprise and service provider networks. The book covers the following four major categories: advanced BGP, BGP in Enterprise Networks, BGP in Service Provider Networks, and BGP Multiprotocol Extensions. As the title suggests, BGP Design and Implementation goes into the depths of what to consider when implementing or managing a large BGP network. It is not for the casual reader as it's filled with large-scale design theory, and unless you're actually working with BGP at this level, it will be mostly an academic exercise and can drag on at times. Other foundational BGP theory books such as Halabi's Internet Routing Architectures will be a better fit for the CCNP/CCIE student. On the other hand, if the reader does or is contemplating using BGP at the enterprise or service provider level, this is an excellent resource to read and keep as a reference. The real value of this book is in the practical configuration designs that the authors propose based off of their experiences. For example, the explanation of BGP memory and CPU tuning based on small packet handling efficiency is not only surprisingly informative, but Zhang and Bartell solidify their theory by providing benchmark results. Not to be misunderstood, there is plenty of 'theory' in this book, but it normally prefaces a case study that ties the practical to the theoretical. The service provider section of the book proves to be interesting, going into examples of how providers more commonly use route reflectors, or how transit and peering connectivity is controlled. The section on BGP extensions regarding MPLS VPNs, multicast, and IPv6 is of additional value to the service provider engineer as it explains how BGP can help expand these concepts into a broader scale, spreading across disparate networks and protocols. If you have the proper expectations before reading the book, there really aren't that many drawbacks to the book itself. There aren't a lot of straight IOS config examples, but rather much of the conversation stays at the design level, which if you're the type of person that prefers to actually see the CLI commands, this can be frustrating at times. It's also questionable as to how valuable the third section of the book (service provider networks) would be to actual experienced service providers, but from an enterprise customer perspective, it's very informative. To the casual reader and someone not very familiar with BGP, this book will most likely prove to be much too boring and technically challenging. Perhaps a subtitle of 'Enterprise and Service Provider Networks' would've better clarified the scope of the book. Overall though, it is an excellent resource for people serious about BGP, and it's even more helpful to those actually working with BGP as it provides useful, practical design and tuning models.
BGP Design and Implementation (Zhang, Bartell Cisco Press, 2004, ISBN 1-58705-109-5) is a valuable addition to the literature on BGP. The book really shines by providing content that is not available in any other volume that I am aware of. This book provides an advanced look at BGP and is not for someone without prior knowledge of BGP. This book is aimed more at an engineer with a Service Provider, a large enterprise with a complex BGP network, or an individual pursuing the CCIE certification. The first section of the book provides a high level overview of BGP and then immediately delves into a good discussion of IOS Switching (though in my opinion the definitive work on this subject is the great Cisco Press book Inside Cisco IOS Software Architecture by Bollapragada, Murphy and White). A fairly detailed case study of BGP memory usage is then presented as well as some memory optimization techniques using peer groups. The next chapter provides an excellent collection of BGP performance tuning techniques specifically around optimizing the BGP convergence time. While a lot of this information can be gleaned from multiple documents on Cisco¿s web site, the book presents the information in a logical flow that greatly enhances the reader¿s overall comprehension. Chapter 4 discusses the various policy control methods available in BGP and provides the first of many case studies that discuss real world BGP scenarios. These case studies, which appear throughout the rest of the book, are especially valuable as they provide excellent guidance on topics such as merging AS¿s, deploying BGP core networks, deployment/migration of confederations and route reflectors, and Inter-AS VPNs with MPLS. I recommend having a copy of William Parkhurst¿s Cisco BGP-4 Command and Configuration Handbook (Cisco Press, 2001) around as you go through the case studies as the authors describe the concepts and then proceed to provide an example or case study without a lot of handholding on the IOS configuration, and Parkhurst¿s book can fill in some gaps. Part II of the book is focused on the needs of enterprise BGP networks. Much of this material is in Sam Halabi¿s Internet Routing Architectures book, though this volume provides a fresh look at enterprise issues such as multihoming, load balancing and inbound/outbound filtering, and the case studies are more complete than the content in Halabi¿s book. The book also provides some great information on alternative BGP architectures for really large enterprises which may be bumping up against the scalability limitations of their IGP¿s or have a need for multiple autonomous administrative domains within their networks. Part III covers Service Provider (SP) networks. I found this section especially valuable as most of the available books are written for enterprise network administrators so it is usually difficult for admins at service providers to get this material except from their peers, at ISPCon or Cisco Networkers. There is very in-depth coverage of Route Reflectors and Confederations, the relative merits of each, and deployment and migration case studies. These case studies should be very helpful for some preparing for the CCIE lab exam that can include some difficult scenarios on these topics. The chapter on SP architecture is a little light, but it does cover the major issues and provide some best practices for the SP network admin, but not really for the network architect. Part IV has chapters on BGP as it relates to MPLS VPN, Interdomain Multicast, and IPV6. This information is also not widely available without rooting through the RFCs and this book provides a good overview so that you can read (and understand) the RFCs. Overall, this book is an outstanding follow up book for someone learning BGP (after they first digest Halabi¿s classic!) and wanting to advance their knowledge, or a more experienced engineer who wants to broaden their understanding or learn one of the topics
I recently read the book titled ¿BGP Design and Implementation¿ by Randy Zhang and Micah Bartell. ISBN: 1587051095. In my opinion, this title is a magnificent compliment to two other great titles from Cisco Press, ¿Internet Routing Architectures¿, by Sam Halabi, ISBN: 157870233X and we mustn¿t forget the other great title ¿Cisco BGP-4 Command and Configuration Handbook¿ by William Parkhurst, ISBN: 158705017X. Each title has it¿s own strengths, but ¿BGP Design and Implementation¿ is a great hybrid of the two former titles on BGP. This book covers information that is either extremely hard to find, privileged information or it just hadn¿t been documented yet. This book gives you the knobs to turn, to tune BGP into everything it can be. I think the book is laid out very well. The authors do a great job of laying down foundational information on the subjects that are discussed in later chapters. The book starts off and goes 0 to 60 in about two chapters. Advanced topics and issues are discussed first, so the reader is not left in the dust when the more complex topics and details are covered. There are some great tip pertaining to BGP convergence tuning. The chapter is very well documented with several supporting examples. Some of the sections give great detail and are easily understood, but there are no command examples of how to implement the information. For example, TCP tuning is well documented, but there is no information on how to change the Maximum Segment Size on a router. Another great section pertains to how to leverage a feature in OSPF so that OSPF is aware of BGP. Unfortunately, the feature appears to be limited to a special IOS release. So certain sections would require the reader to either know how to implement the information or to look up the related commands to implement the information. The use of confederations, Route Reflectors and VPN/MPLS are well documented and studied in this book. The Authors have done a wonderful job of explaining the challenges of using Route Reflectors and Confederations and even how to migrate the two. These topics are very complex in nature, yet the books explanations and supporting diagrams are easy to follow, turning a complex issue into a manageable one. This book is best suited for Intermediate to Expert Networking professionals. Because of it¿s heavy information on ISP related features, I¿d say that Networking Professionals in the ISP space would get the most bang out of this book, not to count out the Enterprise folks though. This book has a wealth of information that can help the Enterprise professionals take a BGP implementation to the next level or perhaps fine tune the protocol to get maximum performance.
BGP Design and Implementation (ISBN: 1-58705-109-5, Cisco Press) is a must-have for anyone who works with BGP on a regular basis. Whereas other books explain BGP operation, this book goes to the next step in explaining design issues for both enterprise and service provider networks. This is an advanced book, and assumes a fundamental understanding of BGP operation. This is evidenced by the first chapter alone, titled Advanced BGP Introduction. If you are looking for a book that goes beyond explaining BGP routing and dives into the intricacies and real-world concerns of using BGP, then this is the book to buy. In the first part of the book, Randy Zhang (Ph.D., CCIE) and Micah Bartell (CCIE) offer general tips on tuning BGP performance and BGP policies, including how to determine memory requirements, convergence tuning, and queuing performance. Next, in part II, Zhang and Bartell explain design recommendations for BGP enterprise networks. There are plenty of configuration examples and diagrams to illustrate such advanced concepts as multihoming, route filtering, and load-balancing. As anyone who works with BGP in the enterprise knows, configuring load-balancing and route filtering can be a complex task; BGP Design and Implementation clarifies the issues and makes configuration easy. This section concludes with a relevant case study that, unlike most case studies on BGP that fall short of representing real networks, actually portrays situations that one may encounter in a live network. In part III, the authors address common issues in service provider networks. Specifically, route reflectors and confederations are compared in regards to their usage among service providers. These technologies are used to address scalability issues, a common concern for anyone who manages a large service provider network. Because of the varied migration methods in working with route reflectors and confederations, the authors provide four different case studies. As an added bonus, there is a case study in how to prevent denial-of-service attacks against service provider networks. With nine pages of configuration examples at the end of this chapter, this is the most detailed example of preventing DoS attacks that I have ever seen. In part IV, Zhang and Bartell detail the BGP multiprotocol extensions and how they are being used for MPLS VPNs, multicasting, and IPv6. In appendix A, MBGP extensions for CLNS is covered. Throughout the book are countless configuration examples to aid in understanding the advanced BGP topics. There are few books parallel to the detail provided in this book. Until now, network engineers in service provider and enterprise networks had to rely on experience alone to teach them how to properly deploy BGP. Now, Zhang and Bartell have condensed years of experience and expertise into a single source. Both Zhang and Bartell work for Cisco Systems; Zhang works with Cisco strategic service provider and enterprise customers, while Bartell is a member of the ISP Experts team. It is definitely written for an advanced audience who are already familiar with the workings of BGP, but for those who work with BGP on a regular basis, this is an invaluable resource.