This little booklet is the outcome of the questions I’ve frequently encountered in my engagement with various customers, big and small, in their journey to build a modern data center.
BGP in the data center is a rather strange beast, a little like the title of that Sting song, “An Englishman in New York.” While its entry into the data center was rather unexpected, it has swiftly asserted itself as the routing protocol of choice in data center deployments.
Given the limited scope of a booklet like this, the goals of the book and the assumptions about the audience are critical. The book is designed for network operators and engineers who are conversant in networking and the basic rudiments of BGP, and who want to understand how to deploy BGP in the data center. I do not expect any advanced knowledge of BGP’s workings or experience with any specific router platform.
The primary goal of this book is to gather in a single place the theory and practice of deploying BGP in the data center. I cover the design and effects of a Clos topology on network operations before moving on to discuss how to adapt BGP to the data center. Two chapters follow where we’ll build out a sample configuration for a two-tier Clos network. The aim of this configuration is to be simple and automatable. We break new ground in these chapters with ideas such as BGP unnumbered. The book finishes with a discussion of deploying BGP on servers in order to deal with the buildout of microservices applications and virtual firewall and load balancer services. Although I do not cover the actual automation playbooks in this book, the accompanying software on GitHub will provide a virtual network on a sturdy laptop for you to play with.
The people who really paid the price, as I took on the writing of this booklet along with my myriad other tasks, were my wife Shanthala and daughter Maya. Thank you. And it has been nothing but a pleasure and a privilege to work with Cumulus Networks’ engineering, especially the routing team, in developing and working through ideas to make BGP simpler to configure and manage.
Software Used in This Book
There are many routing suites available today, some vendor-proprietary and others open source. I’ve picked the open source FRRouting routing suite as the basis for my configuration samples. It implements many of the innovations discussed in this book. Fortunately, its configuration language mimics that of many other traditional vendor routing suites, so you can translate the configuration snippets easily into other implementations.
The automation examples listed on the GitHub page all use Ansible and Vagrant. Ansible is a popular, open source server automation tool that is very popular with network operators due to its simple, no-programming-required model. Vagrant is a popular open source tool used to spin up networks on a laptop using VM images of router software.