Multicast BGP feature adds capabilities to BGP to enable multicast routing to connect multicast topologies within and between BGP autonomous systems. MBGP is an enhanced BGP that carries IP multicast routes. PIM uses the multicast BGP database to perform Reverse Path Forwarding (RPF) lookups for multicast-capable sources. In our example, we will create a simple RPF failure in the network and then we will solve it by the multicast BGP. Example:
All routers are configured with PIM dense mode end-to-end. The multicast traffic path is:
R7 –> R5 –> R3 –> R1 –> R2 –> R4 –> R6 –> R8
Due to existence of eBGP between R3 and R4, Unicast path is:
R7 –> R5 –> R3 –> R4 –> R6 –> R8
So there’s an RPF failure, detected by R4… We can solve it either statically by “ip mroute” command or dynamically by MBGP.
Note: MBGP’s duty is to solve RPF failure, In fact multicast BGP routes are preferred over BGP unicast routes. We still need PIM for end to end delivery of IP multicast packets.
Configuration
R5:
ip multicast-routing
!
interface Ethernet0/0
ip pim dense-mode
!
interface Ethernet0/3
ip pim dense-mode
!
R3:
ip multicast-routing
!
interface FastEthernet0/0
ip pim dense-mode
!
interface ATM2/0
ip pim dense-mode
!
R1:
ip multicast-routing
!
interface FastEthernet0/0
ip pim dense-mode
!
interface ATM2/0
ip pim dense-mode
!
router bgp 135
neighbor 10.10.12.2 remote-as 246
neighbor 10.10.13.3 remote-as 135
!
address-family ipv4
neighbor 10.10.12.2 activate
neighbor 10.10.13.3 activate
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 multicast
neighbor 10.10.12.2 activate
no auto-summary
network 10.10.57.0 mask 255.255.255.0
exit-address-family
!
R2:
ip multicast-routing
!
interface Ethernet0/0
ip pim dense-mode
!
interface Serial1/0
ip pim dense-mode
!
router bgp 246
neighbor 10.10.12.1 remote-as 135
neighbor 10.10.24.4 remote-as 246
!
address-family ipv4
neighbor 10.10.12.1 activate
neighbor 10.10.24.4 activate
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 multicast
neighbor 10.10.12.1 activate
neighbor 10.10.24.4 activate
no auto-summary
no synchronization
exit-address-family
!
R4:
ip multicast-routing
!
interface Ethernet0/0
ip pim dense-mode
!
interface Serial1/0
ip pim dense-mode
!
router bgp 246
neighbor 10.10.24.2 remote-as 246
neighbor 10.10.34.3 remote-as 135
neighbor 10.10.46.6 remote-as 246
!
address-family ipv4
neighbor 10.10.24.2 activate
neighbor 10.10.24.2 route-reflector-client
neighbor 10.10.34.3 activate
neighbor 10.10.46.6 activate
neighbor 10.10.46.6 route-reflector-client
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 multicast
neighbor 10.10.24.2 activate
no auto-summary
no synchronization
exit-address-family
!
R6:
ip multicast-routing
!
interface Ethernet0/0
ip pim dense-mode
!
interface Ethernet0/3
ip pim dense-mode
!
R8:
interface Ethernet0/0
ip address 10.10.68.8 255.255.255.0
ip igmp join-group 224.69.69.69
!
Verification
R7#ping
Protocol [ip]:
Target IP address: 224.69.69.69
Repeat count [1]: 100
Extended commands [n]: y
Interface [All]: ethernet0/0
Time to live [255]:
Source address: 10.10.57.7
Sending 100, 100-byte ICMP Echos to 224.69.69.69:
Packet sent with a source address of 10.10.57.7
Reply to request 0 from 10.10.68.8
Reply to request 1 from 10.10.68.8
Reply to request 2 from 10.10.68.8
R2#sh ip bgp ipv4 multicast
Network Next Hop Metric LocPrf Weight Path
*> 10.10.57.0/24 10.10.12.1 12 0 135 i
R2#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
* i10.10.57.0/24 10.10.34.3 0 100 0 135 i
*> 10.10.12.1 0 135 i
r>i10.10.68.0/24 10.10.46.6 0 100 0 i
R4#sh ip bgp ipv4 multicast
Network Next Hop Metric LocPrf Weight Path
*>i10.10.57.0/24 10.10.12.1 12 100 0 135 i
R4#sh ip rpf event
Last 15 triggered multicast RPF check events
RPF backoff delay: 500 msec
RPF maximum delay: 5 sec
DATE/TIME BACKOFF PROTOCOL EVENT RPF CHANGES
Mar 1 00:20:24.767 500 msec BGP Route Modified 1
Mar 1 00:05:08.631 500 msec OSPF Route UP 0
Mar 1 00:05:05.851 500 msec BGP Route UP 0
Mar 1 00:05:01.595 500 msec PIM Nbr UP 0
Mar 1 00:03:08.263 500 msec OSPF Route UP 0
Mar 1 00:03:00.531 500 msec PIM Nbr UP 0
Mar 1 00:01:22.611 500 msec Connected Route UP 0
Mar 1 00:01:02.747 500 msec Connected Route Down 0
Mar 1 00:00:51.635 500 msec PIM Nbr UP 0
Mar 1 00:00:44.995 500 msec OSPF Route UP 0
Mar 1 00:00:28.915 500 msec Connected Route UP 0
R4#sh ip rpf 10.10.57.7
RPF information for ? (10.10.57.7)
RPF interface: Serial1/0
RPF neighbor: ? (10.10.24.2)
RPF route/mask: 10.10.57.0/24
RPF type: mbgp
RPF recursion count: 0
Doing distance-preferred lookups across tables
R4#sh ip mroute
IP Multicast Routing Table
(*, 224.0.1.40), 01:34:08/00:02:39, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/0, Forward/Dense, 01:19:37/00:00:00
(*, 224.69.69.69), 00:10:43/stopped, RP 0.0.0.0, flags: D
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial1/0, Forward/Dense, 00:10:43/00:00:00
Ethernet0/0, Forward/Dense, 00:10:43/00:00:00
(10.10.57.7, 224.69.69.69), 00:10:43/00:00:02, flags: T
Incoming interface: Serial1/0, RPF nbr 10.10.24.2, Mbgp
Outgoing interface list:
Ethernet0/0, Forward/Dense, 00:10:23/00:00:00


Posted by CCIE SP Lab Blog on July 28, 2010 at 9:23 am
Cool
this is great
thanks