Fundamentals of Border Gateway Protocol (BGP) - Part 6Jun 04, 2019
This post is the 6th and final in a series of Border Gateway Protocol (BGP) posts. If you missed any of the first five parts, here are the links:
- Part #1: BGP Overview, Messages Types, and Neighbor States
- Part #2: BGP Path Selection
- Part #3: BGP Peering and Authentication
- Part #4: Advertising NLRI and BGP Routing Policies
- Part #5: BGP Scalability Mechanisms
In this post, we're going to take a look at how we can work with BGP in IPv6.
BGP in IPv6
You will recall from this chapter that BGP was constructed to support many different protocols and NLRI right out from its creation. As a result, we have robust support for such technologies as IPV6, MPLS VPNs, and more.
You will also relish in the fact that once you master the basics of BGP that we have covered in this , working with BGP in IPv6 is much more similar than it is different!
BGP is so remarkably flexible, as discussed earlier in this chapter, you can use IPv4 as the “carrier” protocol for IPv6 NLRI. In this case, we consider IPv6 the “passenger” protocol. Let’s examine this configuration first and let’s use two simple routers as shown in Figure 1.
Figure 1: A Simple Topology for IPv6 BGP
Example 1 shows the configuration and verification of such a network. Notice how this configuration requires the setting of the appropriate IPv6 next hop address for the prefix advertisement. This is not needed when using IPv6 as both the carrier and the passenger protocol.
Example 1: IPv4 Carrying IPv6 NLRI
Example 2 shows the verification of this configuration on ATL2. Note that because EUI-64 is in effect on the loopback interface of ATL, you would need to copy the full IPv6 address from that interface in order to perform the ping test.
Example 2: Verifying the IPv4/IPv6 BGP Configuration
As you might guess, a much cleaner configuration is to use IPv6 to carry the IPv6 prefix information. When I say “cleaner”, I allude to the fact that it is just a much simpler configuration, and more what you would “expect”. Example 3 demonstrates this configuration. Note that I have stripped all IPv4 off the devices, so I must set a 32-bit router ID for BGP as it is not able to set one automatically from an interface on the device.
Example 3: Verifying the IPv4/IPv6 BGP Configuration
You might be wondering about verification of BGP neighbors with our various methods of IPv6 configuration. We know that we love show ip bgp summary in an IPv4 environment for this. For IPv6, use the command show bgp ipv6 unicast summary. Note how this command specifically calls out the address family that you are working with and will show you the tabular peering and prefix count you would expect.
As you recall from earlier in this blog series, there are many wonderful filtering mechanisms we can choose from for IPv4 BGP environments. The wonderful news is, we have these same set of techniques available for IPv6. This would include such mechanisms as:
- Prefix lists
- AS Path Filtering
- Route maps
Example 4 shows a sample filtering configuration using a prefix list. Note that this configuration really does not require you to re-learn any technologies. We love it when that happens!
Example 4: IPv6 Prefix Filtering in BGP
That's going to completely wrap up our BGP series. Keep an eye out for our upcoming blog series, which will be dedicated to advanced OSPF concepts. Take good care.