MP-BGP
Last Updated: [last-modified] (UTC)
Extending BGP
BGP has been around for a long time as the routing protocol of the internet. Because of this, we often think of BGP as the IPv4 routing protocol used to peer with service providers.
Modern BGP is very robust, and is capable of so much more than IPv4 routes. Back in 2007, RFC 4760 defined extensions to BGP to make it capable of carrying more than IP traffic, at one time. This is MP-BGP, or Multiprotocol BGP.
Each type of traffic that BGP can carry is an address family. Address families include:
- IPv4 and IPv6 – Including unicast and multicast routes
- L2VPN – layer-2 VPN information, such as VPLS or EVPN
- VPNv4 and VPNv6 – Layer-3 VPN information. This is MPLS VPN
The available address families will depend on the platform. Smaller platforms may only have IPv4 and IPv6. Large service-provider platforms will have many address-family options.
The strength of MP-BGP is that it can carry several address families at once. It is often used with MPLS VPN’s, as it can carry MPLS information as well as IPv4 and IPv6 information. This makes it a great choice for service providers. They can create a backbone network, and use
BGP and VRF’s to carry routes for several customers.
Configuration
This lab provides a simple example of how BGP can carry routes for several protocols.
In this lab, there are two routers, which both run IPv4 and IPv6. Loopback interfaces simulate extra networks.
BGP uses IPv4 and IPv6 address families. There is a neighbour relationship configured in each address family.
The interfaces use IPv4 and IPv6 addresses. Once done, the routers will be able to ping each other with IPv4 and IPv6.
[rtbs name=”mpbgp-interfaces”]
To use IPv6 in a dynamic routing protocol, enable ipv6 unicast-routing.
BGP is configured with an IPv4 and IPv6 iBGP neighbour. Networks are advertised within the address families.
[rtbs name=”mpbgp-peering”]
Verify this by looking at the BGP routing table. One instance of BGP is carrying information for two address families.
[rtbs name=”mpbgp-verification”]
References
Cisco – Multiprotocol BGP for IPv6 Configuration Example