MBGP is an extension to BGP-4 that supports routing for multiple protocols' address families (IPv4 unicast and multicast, VPNv4, and so forth).
Unicast and multicast network topologies can be different.
Multicast routing information can be carried between ASs, just like unicast routing.
A full set of BGP capabilities is available for multicast routing.
MBGP-capable routers maintain two sets of routesunicast and multicast. Multiprotocol (or multicast) routes cannot be redistributed into regular unicast BGP.
PIM utilizes the MBGP multicast route database (both PIM and MBGP must be configured).
NOTE
MBGP is defined by RFC 2283. Beginning with Cisco IOS Software Release 12.1, MBGP runs over a BGP session and uses separate address families and databases for unicast and multicast information. MBGP operates over BGP (both UDP port 179 and TCP port 179), with additional BGP attributes.
Refer to Section 7-7 for the configuration of multicast routing prior to configuring MBGP.
Configure a new or existing BGP routing process:
(global) router bgp as-number
Multicast over MBGP is configured within a normal BGP process, using the same AS number as unicast BGP.
Configure a BGP neighbor for multicast:
(router) neighbor ip-address remote-as as-number
A BGP peer can support both unicast and multicast information exchange.
Specify support for the IPv4 multicast address family:
(router) address-family ipv4 multicast
MBGP supports the concept of "address families," which group common characteristics according to IP version, unicast or multicast addressing, or virtual routing and forwarding (VRF) instance. This command can be used several times to define characteristics of multiple address families. By default, if no address family is specified, IPv4 unicast is assumed and supported for the neighbor. Multicast support must be explicitly configured.
Activate multicast route prefix exchanges with the neighbor:
(router-af) neighbor ip-address activate
MBGP activations are done by address family. Therefore, the IPv4 multicast address family is activated (the unicast address family is activated by default).
NOTE
The neighbor activate command must be used to enter address family configuration mode (router-af). In this mode, many of the normal BGP commands can be used and applied to multicast or MBGP. Although the following configuration steps seem identical to the BGP commands presented in Section 7-6, it is the address family configuration mode that makes the difference.
Define the networks to advertise by MBGP as originating from the local AS.
Specify a list of up to 200 networks:
(router-af) network network-number [ mask mask ]
Specified networks must be present in the unicast routing table, as directly connected, static routes, or learned from dynamic routing processes. The optional mask allows networks to be supernetted.
-OR-
Redistribute routes from an IGP:
(router-af) redistribute protocol [ process-id ] ... [ route-map map ]
Normally, local networks (within the local AS) should be specified with the network command. However, IGP routes can be redistributed into BGP if necessary. A route map should be used to filter the IGP routes that are redistributed.
(Optional) Configure other BGP attributes and operations using the commands presented in Section 7-6. To apply these commands to multicast or MBGP, first make sure that the IPv4 multicast address family is specified and that an MBGP neighbor is activated.
Figure 7-8 shows a network diagram for this example. Neighbor 192.168.24.1 supports both unicast and multicast MBGP exchanges, and neighbor 192.168.25.1 uses only unicast. In addition, neighbor 192.168.24.1 acts as both a unicast and multicast route reflector.
router bgp 1710 neighbor 192.168.24.1 remote-as 1710 neighbor 192.168.25.1 remote-as 600 neighbor 192.168.100.1 remote-as 1710 address-family ipv4 unicast network 192.168.100.0 neighbor 192.168.24.1 activate neighbor 192.168.24.1 route-reflector-client neighbor 192.168.24.1 filter-list 1 in neighbor 192.168.25.1 activate address-family ipv4 multicast network 192.168.100.0 neighbor 192.168.24.1 activate neighbor 192.168.24.1 route-reflector-client neighbor 192.168.24.1 filter-list 1 in ip as-path access-list 1 permit _300_ ip as-path access-list 1 deny _100_ ip as-path access-list 1 permit .*