CCIE SP – Multicast BGP

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

 


One response to this post.

  1. Cool
    this is great

    thanks

    Reply

Respond to this post