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:
- Establish an EBGP session with an ISP
- Connect to two upstream providers
- Advertise your IPv4 address space
- Configure BGP for IPv6
- Redistribute IGP Information Into BGP
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:
- Use MD5 passwords and TTL-based session protection
- Use TCP Authentication Option (TCP-AO)
- Limit the Number of Accepted BGP Prefixes
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:
- Establish an IBGP session between WAN edge routers
- Build a Transit Network with IBGP
- Use BGP Route Reflectors
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:
- Reuse a BGP AS Number Across Multiple Sites
- Fix AS-Path in Environments Reusing BGP AS Numbers
- Use Multiple AS Numbers on the Same Router
- Remove Private BGP AS Numbers from the AS Path
- BGP Route Server in an Internet Exchange Point
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:
- Load Balancing across External BGP Paths
- EBGP Load Balancing with BGP Link Bandwidth
- IBGP Load Balancing with BGP Link Bandwidth
- IBGP Load Balancing with BGP Additional Paths
Other Useful Topics
Willing to learn more? Challenge yourself with these advanced topics:
- Use BGP Timers and BFD to Speed Up BGP Convergence
- BGP route aggregation
- Advertise Default Route in BGP
- EBGP Sessions over IPv6 LLA Interfaces
- Running EBGP Across a Firewall
- Passive BGP Sessions
-
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. ↩