PG1X WIKI

My Knowledge Base

User Tools

Site Tools


tech:network:cisco:multicast:routing:pim:pim-sm:bsr:config:config

Multicast PIM-SM: BSR Configuration

Terms

  • BSR(Bootstrap Router)
  • BSR is correspond to RP Mapping Agent in Auto-RP.
  • Auto-RP is available PIMv1 and PIMv2, but BSR is available PIMv2 only.
BSR Auto-RP
Mapping BSR(Bootstrap Router) RP Mapping Agent
PIM version PIMv2 PIMv1, PIMv2
RP Candidate C-RP advertisement by unicast RP-Announce by multicast(224.0.1.39)
RP election Notify BSR Message to 224.0.0.13: Multicast Group, RP address Notify RP-Discovery to 224.0.1.40: Multicast Group, RP address
Multiple Mapping Only one BSR works by BSR election mechanithm if multiple BSR exists Multiple RP Mapping Agent can be works at a same time
  • BSR Candidate
  • BSR election
    1. Largest BSR priority
    2. Largest IP address
  • BSR send BSR Message to 224.0.0.13 (All PIM Routers). 224.0.0.0/24 is link local scope (TTL=1), so BSR Message will propagate to all PIM routers hop by hop basis.
  • RP Candidate send C-RP advertisement using unicast. (RP: 10.0.0.1, G: 239.1.1.5).
  • BSR learn all mapping information from RP Candidate.
Group RP
239.1.1.5 10.0.0.1
10.0.0.2
  • BSR send BSR message multicast group, RP address, priority to all PIM routers.
  • If multiple RP address exist an multicast group, each PIM router select an RP address by RP Candidate election mechanism.
  • RP election
    1. Lowest router priority(default to 0)
    2. Largest hash value
    3. Largest RP address
  • One router can be configured as both a RP Candidate and BSR.
Message Type in BSR address description
C-RP Advertisement unicast RP Candidate to BSR Message
BSR Message 224.0.0.13 BSR priority, IP address, Group address, RP address
  • BSR Redundancy
    • BSR Candidate states
      • C-BSR status
      • Elected-BSR status
    • If only one BSR Candidate exist, after Bootstrap timer(150 sec.) elapsed, be the Elected-BSR.
    • If new BSR receive BSR message from current BSR, check BSR priority or IP address, if lower than current BSR, be a C-BSR status.
    • If larger than current BSR, be the Elected-BSR status.
    • If Current BSR failure, C-BSR status BSR Candidate cannnot receive BSR Message, after Bootstrap timer(150 sec.) elapsed, be the Elected-BSR.
  • RP Candidate Redundancy
    • Multiple RP Candidate
    • BSR send BSR Message to all PIM routers 224.0.0.13.
    • RP Candidate failure
      • RP Candidate C-RP Advertisement every 60 sec.
      • If BSR can't receive C-RP Advertisement in 150 sec., remove the RP address entry.
      • BSR send BSR Message and send the removal information.
RP Protocol timer (sec.)
BSR 150
Auto-RP 180

Lab 1: PIM-SM BSR 09bdfa2b-75d2-48b8-a189-7aeaf452b1c0

This lab is almost same with

23caf050-7c23-4f12-b484-d5738505467f
network-infrastructure.multicast.pim.pim-sm.auto-rp.23caf050

So, I will use Auto-RP lab 23caf050-7c23-4f12-b484-d5738505467f for BSR lab 09bdfa2b-75d2-48b8-a189-7aeaf452b1c0.
And diagram difference is label difference(RP Mapping Agent → BSR).
Except that, everything else same.

  • (S,G) = (10.1.1.100,239.0.1.1)
  • (*,G) = (*,239.0.1.1)
09bdfa2b-75d2-48b8-a189-7aeaf452b1c0
network-infrastructure.multicast.pim.pim-sm.bsr.09bdfa2b
  1. Dependent Custom Images(This lab require following custom images!!)

Common Configuration Snippet

R1

R2

R3

px-ubuntu-nw-0

px-ubuntu-nw-1

Configure PIM-SM BSR a6af3df8-fa22-497b-a03c-5aef018fd511

  • What is hash-mask? Identical hash source all group correspond to same RP.(?)
  • R1
configure terminal
!
ip multicast-routing
!
interface Loopback0
 ip pim sparse-mode
interface GigabitEthernet0/0
 ip pim sparse-mode
interface GigabitEthernet0/1
 ip pim sparse-mode
interface GigabitEthernet0/2
 ip pim sparse-mode
!
ip pim bsr-candidate Loopback0
!
end
  • R2
configure terminal
!
ip multicast-routing
!
interface Loopback0
 ip pim sparse-mode
interface GigabitEthernet0/0
 ip pim sparse-mode
interface GigabitEthernet0/1
 ip pim sparse-mode
!
access-list 1 permit host 239.0.1.1
!
ip pim rp-candidate Loopback0 group-list 1
!
end
  • R3
configure terminal
!
ip multicast-routing
!
interface GigabitEthernet0/0
 ip pim sparse-mode
interface GigabitEthernet0/1
 ip pim sparse-mode
interface GigabitEthernet0/2
 ip pim sparse-mode
!
end

Configure PIM-SM BSR Message Suppression ip pim bsr-border

BSR Message will forward hop by hop to entire multicast network by default.
Following configuration stop to send/receive BSR Messages on the configured interface.
Following example, supressing BSR Message from Sender, Receiver connected interface.

  • R1, R3
configure terminal
!
interface GigabitEthernet0/2
 ip pim bsr-border
!
end

Verification a6af3df8-b883-4aa5-906b-1e5201b730f3

  • Enable BSR.

R1-R3 link pcap BSR Message Log

R1 Log

R2 Log

R3 Log

  • Configure RP Candidate
177	2021-10-02 12:26:16.673792	172.16.2.2	172.16.1.1	PIMv2	60	Candidate-RP-Advertisement

R1-R2 link pcap Candidate-RP-Advertisement Log

R1-R3 link pcap BSR Message with RP Candidate addresses Log

R1 Log

R2 Log

R3 Log

  • Sender
msend -g 239.0.1.1 -p 8888 -text "hello multicast world" -t 60

R1-R2 link pcap PIM Register Log

R1 Log

R2 Log

R3 Log

  • Receiver
mreceive -g 239.0.1.1 -p 8888

R1 Log

R2 Log

R3 Log

Optional: Configure PIM-SM BSR Message Suppression ip pim bsr-border

Supressing BSR Message from Sender, Receiver connected interface.

R1 Log

R3 Log

R1-R3 link pcap Log

Verification Commands

show ip route ospf | begin Gateway
!
show ip igmp groups
!
show ip pim interface
show ip pim neighbor
show ip pim rp mapping
show ip mroute
show ip mroute summary
show ip mroute | begin \(
show ip mroute summary | begin \(
show ip mroute 239.0.1.1 | begin \(
show ip rpf x.x.x.x
!
! Check BSR router
show ip pim bsr-router
! Check BSR selected RP address
show ip pim rp-hash 239.0.1.1
!
debug ip mpacket
debug ip pim
debug ip mrouting
!
debug ip mpacket 224.0.0.13
debug ip mpacket 239.0.1.1
debug ip pim 224.0.0.13
debug ip pim 239.0.1.1
debug ip mrouting 224.0.0.13
debug ip mrouting 239.0.1.1
  • Wireshark Display Filter

Wireshark Filter Expression Cheat Sheet

!ospf && !igmp && (pim || (icmp && icmp.type != 3 ) || ip.addr  == 224.0.0.0/4)
!ospf && (pim || (icmp && icmp.type != 3 ) || igmp || ip.addr  == 224.0.0.0/4)
igmp || (udp.port == 8888 && ip.addr  == 224.0.0.0/4)
  • Capture Filter (BPF)

tcpdump

# Exclude LOOP protocol
not ether proto 9000
# Exclude ARP, CDP, LOOP, 0x6002(DEC DNA Remote Console) protocol
not (arp or ether[20:2] == 0x2000 or ether proto (loopback or 0x6002))
# Exclude ARP, CDP, LOOP, 0x6002(DEC DNA Remote Console), OSPF protocol
not (arp or ether[20:2] == 0x2000 or ether proto (loopback or 0x6002) or ip proto ospf)
# **NOT TESTED LLDP!!** Exclude ARP, CDP, LOOP, 0x6002(DEC DNA Remote Console), LLDP(0x88cc), OSPF protocol
not (arp or ether[20:2] == 0x2000 or ether proto (loopback or 0x6002 or 0x88cc) or ip proto ospf)
# Exclude ARP, CDP, LOOP, 0x6002(DEC DNA Remote Console), OSPF protocol, DHCP, ICMPv6 ND(Neighbor Discovery)
not (arp or ether[20:2] == 0x2000 or ether proto (loopback or 0x6002) or ip proto ospf or udp port (67 or 68) or (icmp6 and (ip6[40] == 133 or ip6[40] == 134 or ip6[40] == 135 or ip6[40] == 136)))
# **NOT TESTED LLDP!!** Exclude ARP, CDP, LOOP, 0x6002(DEC DNA Remote Console), LLDP(0x88cc), OSPF protocol, DHCP
not (arp or ether[20:2] == 0x2000 or ether proto (loopback or 0x6002 or 0x88cc) or ip proto ospf or udp port (67 or 68) or (icmp6 and (ip6[40] == 133 or ip6[40] == 134 or ip6[40] == 135 or ip6[40] == 136)))
network-infrastructure.multicast.pim.pim-sm.bsr.09bdfa2b.a6af3df8.lab1.r1ge0-0_r2ge0-1.pcapng
network-infrastructure.multicast.pim.pim-sm.bsr.09bdfa2b.a6af3df8.lab1.r2ge0-0_r3ge0-1.pcapng
network-infrastructure.multicast.pim.pim-sm.bsr.09bdfa2b.a6af3df8.lab1.r1ge0-1_r3ge0-0.pcapng
network-infrastructure.multicast.pim.pim-sm.bsr.09bdfa2b.a6af3df8.lab1.r1ge0-2_px-ubuntu-nw-0-ens2.pcapng
network-infrastructure.multicast.pim.pim-sm.bsr.09bdfa2b.a6af3df8.lab1.r3ge0-2_px-ubuntu-nw-1-ens2.pcapng

Notes

  1. PIM DR router sends PIM Join Message and PIM Register Message
  2. ip pim sparse-dense-mode or ip pim sparse-mode must be enabled all multicast packet path including Sender, Receiver connected interfaces.
  3. If an interface be enabled PIM, IGMPv2 enabled automatically. So, IGMP only enable/disable configuration not exist.
  4. Unicast routing is successfully operational is prerequisite.
  5. And RPF check must be successful.
  6. Typically, RP address will be used loopback interface from fault tolerance point of view.
    1. Multicast router must have IP reachablity.
  7. ip pim rp-candidate or ip pim bsr-candidate specified interface must be enabled PIM. So, above example enables PIM on Loopback0 respectively.

References

tech/network/cisco/multicast/routing/pim/pim-sm/bsr/config/config.txt · Last modified: 2021/10/02 15:09 by wnoguchi