Randy Zhang and Micah Bartell's BGP Design and Implementation (ISBN: 1587051095, Cisco Press) is a new and welcome addition to Cisco Press's 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: Building Blocks, Performance Tuning, Policy Control
* Designing BGP Enterprise Networks: Core & Internet Connectivity
* Designing BGP Service Provider Networks: iBGP, Route Reflection & Confederations, and Service Provider Architecture
* Implementing BGP Multiprotocol Extensions: MPLS VPN, Multicast, IPv6
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 is filled with large-scale design theory, and unless you are 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. It was good to see examples of a BGP implementation at the enterprise core instead of merely seeing ISP connectivity examples, although there is plenty of information in that area as well. 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, but it seems that the authors are writing more to the enterprise customer than they are to the service provider. Perhaps they do this so the enterprise customer can have a better understanding of the carrier network. From a provider perspective, much of the information seems basic and would not be new to an experienced network engineer. It's in the final section of BGP extensions regarding MPLS VPN's, multicast, and IPv6, that the information presented might be of additional value to the service provider engineer. The typical customer might be more accustomed of thinking about VPN's in terms of IPSec and IKE, or simple static rendezvous points for multicast. It's interesting to see 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. The majority of the information is not a repeat from previous works on BGP, and there is a good amount of practical examples and case studies. 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 is 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 have better clarified the scope of the book.
BGP Design and Implementation is an excellent resource for people serious about BGP, and it is even more helpful to those actually working with BGP as it provides useful, practical design and tuning models.