Today we will be discussing MSDP with BGP ipv4 multicast address-family.
The topology is simple we have taken four routers R1 in BGP AS 1 , R5 in BGP AS 5 and R2,R3,R4 are in confederation 64511, our goal is to move multicast traffic from R1 to R5 , we are running Multicast Sparse-mode and using PIM BSR , all loopback0 interface of each router has joined a group 234.0.0.R where R is the router number.The sample diagram of gns3 is shown below.
1.We are running OSPF Area 0 between R2 , R4 and R3 as IGP and put default route pointing towards EBGP peer on R1 and R5 towards R2 and R3 for the purpose of Back route,rest of the BGP and OSPF configuration are normal R4 is Route Reflector, rest nothing fancy.
2.We advertised Loopback0 interface of R1,R4and R5 into bgp address-family ipv4 and also in address-family ipv4 multicast.
Steps to configure Multicast over BGP cloud:-
1.Enable Multicast Routing by the command “ip multicast-routing” on each router.
2.Enable pim sparse-mode on every interface on a router by the command “ip pim sparse-mode” under interface config mode.
3.Join multicast group 234.0.0.R where R is router number on every router Lo0pback0 interface by the command “ip igmp join-group 234.0.0.R” under interface config mode.
4.We made PIM RP and BSR both on R1 Loopback0 for BGP AS 1.
5.We made PIM RP on R4 Loopback0 and BSR on R2 Loopback0 for BGP AS 243.
6.We made PIM RP R5 and BSR on R5 Loopback0 for BGP AS 5.
7.We set our PIM border on R2 S0/0 and R3 S0/0 by the command “ip pim bsr-border” under interface config mode that the PIM RP information cannot be used outside our own AS.
8.We then start building MSDP peering from AS 1 and AS 5 to AS 243 with the command “ip msdp peer x.x.x.x connect-source loopback0 remote-as Y”, make sure you make your MSDP peers between both AS’s RP only(R1-R4 and R5-R4), else it will not work.
9.We can check the MSDP output with the command “sh ip msdp summary”.
R4#sh run | i msdp
ip msdp peer 1.1.1.1 connect-source Loopback0 remote-as 1
ip msdp peer 5.5.5.5 connect-source Loopback0 remote-as 5
R4#sh ip msdp summ
MSDP Peer Status Summary
Peer Address AS State Uptime/ Reset SA Peer Name
Downtime Count Count
1.1.1.1 1 Up 00:19:59 1 0 ?
5.5.5.5 5 Up 00:26:02 0 0 ?
10.Then we will enable BGP address-family ipv4 multicast between R1 and R2,R2 and R4,R4 and R3, and lastly between R3 to R5.The sample config of R2 is below.
R2#sh run | s bgp
router bgp 64511
bgp log-neighbor-changes
bgp confederation identifier 243
neighbor 4.4.4.4 remote-as 64511
neighbor 4.4.4.4 update-source Loopback0
neighbor 12.12.12.1 remote-as 1
!
address-family ipv4
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 next-hop-self
neighbor 12.12.12.1 activate
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 multicast
neighbor 4.4.4.4 activate
neighbor 12.12.12.1 activate
no auto-summary
no synchronization
exit-address-family
NOTE:-Make sure not to set “next-hop-self” on session between R2 to R4 and R3 to R4 in address-family ipv4 multicast as shown in the above config.
11.Upto this point our MSDP peers are up and our BGP ipv4 multicast address-families are up , now this is the time to run some SHOW commands to prove that we are correct till now.
R1#sh ip msdp summ
MSDP Peer Status Summary
Peer Address AS State Uptime/ Reset SA Peer Name
Downtime Count Count
4.4.4.4 243 Up 00:02:53 0 1 ?
R1#sh ip bgp ipv4 multicast
BGP table version is 4, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,
r RIB-failure, S Stale
Origin codes: i – IGP, e – EGP, ? – incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
*> 4.4.4.4/32 12.12.12.2 0 243 i
*> 5.5.5.5/32 12.12.12.2 0 243 5 i
R1#sh ip pim rp mapp
PIM Group-to-RP Mappings
This system is a candidate RP (v2)
This system is the Bootstrap Router (v2)
Group(s) 224.0.0.0/4
RP 1.1.1.1 (?), v2
Info source: 1.1.1.1 (?), via bootstrap, priority 0, holdtime 150
Uptime: 00:12:19, expires: 00:02:07
R1#sh ip pim int
Address Interface Ver/ Nbr Query DR DR
Mode Count Intvl Prior
1.1.1.1 Loopback0 v2/S 0 30 1 1.1.1.1
12.12.12.1 Serial0/0 v2/S 1 30 1 0.0.0.0
R1#sh ip pim neighbor
PIM Neighbor Table
Mode: B – Bidir Capable, DR – Designated Router, N – Default DR Priority,
S – State Refresh Capable
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
12.12.12.2 Serial0/0 00:52:30/00:01:39 v2 1 / S
R1#sh ip igmp groups
IGMP Connected Group Membership
Group Address Interface Uptime Expires Last Reporter Group Accounted
234.0.0.1 Loopback0 00:55:15 00:02:35 1.1.1.1
224.0.1.40 Loopback0 00:55:15 00:02:33 1.1.1.1
Same verification commands run on R5 and found the configuration healthy and working.
Now this is the time to check our configuration is working in the way that we were supposed to,we can check by pinging the remote end R5 IGMP join group 234.0.0.5 from R1 , if this is working then we are in a good shape.
R1#ping 234.0.0.5
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 234.0.0.5, timeout is 2 seconds:
Reply to request 0 from 35.35.35.5, 52 ms
Reply to request 0 from 35.35.35.5, 88 ms
–>>Boom and it is working like a champ.Lastly we will also check from R5 to R1.
R5#ping 234.0.0.1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 234.0.0.1, timeout is 2 seconds:
Reply to request 0 from 12.12.12.1, 148 ms
Reply to request 0 from 12.12.12.1, 192 ms
Again the ping results shows that we indeed made it working from both ends
- How to Get Your Home Wired With Network Cables? - December 19, 2024
- Wi-Fi 7 or 802.11be: A Quantum Leap in Wireless Networking Technology - December 11, 2024
- NETGEAR Nighthawk (RAX54S) WiFi 6 Router Review - August 24, 2024