Deploy BGP in Your Network

The first set of the BGP labs focuses on the basics:

  • Configuring BGP sessions and advertising IPv4 and IPv6 prefixes
  • Protecting BGP sessions
  • Running BGP in networks with more than one BGP router
  • Other valuable topics like using BFD or BGP route aggregation.

If you use Cumulus Linux or FRR in your labs (either as the customer routers or as the external routers), start with Configuring Cumulus Linux and FRRouting. Next, take the labs in this order:

Simple BGP Deployments

In these labs, you’ll learn how to:

Protecting BGP Sessions (Optional)

You should always protect the control plane of your router and the routing protocols it’s running. While it’s impossible to achieve perfect results without using access control lists, you should also master the BGP tools at your disposal:

Running BGP in Larger Networks

If your network has multiple BGP routers, they must exchange BGP information. While it’s possible to build a network where each BGP router uses a different autonomous system number (hint: don’t), running Internal BGP (IBGP) between routers in your network is more common. You can practice IBGP in these lab exercises:

Other important aspects of large-scale BGP deployments are scalability and consistency. The following lab exercises will help you grasp those concepts:

BGP AS Number and AS Path Manipulations

Even though one should not use the same BGP AS number in multiple networks or more than one BGP AS number on a single device, you’ll always stumble upon scenarios that violate the common-sense rules. In these lab exercises, you’ll practice how to deal with them:

BGP Load Balancing

Modern BGP implementations perform simple EBGP and IBGP equal-cost multipathing1 (ECMP) without additional configuration. Still, you might have to fine-tune it to adapt its behavior to your environment. These lab exercises cover the typical scenarios:

Other Useful Topics

Willing to learn more? Challenge yourself with these advanced topics:


  1. Sending traffic toward a single destination across multiple equal-cost paths. Packet distribution across paths (load balancing) depends on the device configuration and the implementation details, and might be done per-packet, per-session, or per-destination.