Multicast PIM Snooping

In a network where you have a layer two switch connected to multicast routers, all multicast traffic is flooded to all multicast router ports, even if there are no multicast receivers behind a router.

When you enable PIM snooping, the switch will learn which multicast router ports should receive traffic by looking at PIM hello, join, prune, and designated forward election messages.

In a network where you have a layer two switch connected to multicast routers, all multicast traffic is flooded to all multicast router ports, even if there are no multicast receivers behind a router. When you enable PIM snooping, the switch will learn which multicast router ports should receive tra
Don’t confuse PIM snooping with IGMP snooping.

Let’s look at some examples:

Multicast Pim Snooping Pim Join Flood.

Above we have a small network where SW1 is connected to three multicast routers, R1, R2, and R3. R1 is our RP. Behind R2, we have a receiver that is interested in a multicast group so it sends an IGMP join.

This IGMP join should only be forwarded to the RP (R1) but in reality, it also ends up at R3 since our switch floods all multicast traffic.

What about data traffic?

Multicast Pim Snooping Data Flood

Once our source starts sending multicast traffic, the switch will flood it everywhere so it ends up at R2 (which needs it) but also at R3 that doesn’t have any receivers.

Once we enable PIM snooping, our switch will no longer flood unnecessary PIM join/prune messages nor will it forward multicast traffic to routers that don’t need it.

Some things to keep in mind about PIM snooping:

  • PIM dense mode traffic is dropped once you enable PIM snooping.
  • Traffic to Auto RP groups (224.0.1.39 and 224.0.1.40) are always flooded.
  • PIM snooping and IGMP snooping can be enabled at the same time.
  • Multicast router port and router information is timed out based on the hold time that the switch sees in PIM hello, join, and prune packets.

Configuration

Let’s take a look at this in action. I’ll use the topology I showed you before, but added some interface numbers:

Multicast Pim Snooping Lab Topology

R1, R2, and R3 are multicast routers running PIM sparse mode. R1 is the RP in this network. S1 is our source, H1 is a receiver.

Configurations

Want to take a look for yourself? Here you will find the startup configuration of each device.

H1

hostname H1
!
no ip routing
!
no ip cef
!
interface GigabitEthernet0/0
 ip address 10.255.0.94 255.255.0.0
!
interface GigabitEthernet0/1
 ip address 192.168.2.102 255.255.255.0
 ip igmp join-group 239.1.1.1
!
ip default-gateway 192.168.2.254
!
end

R1

hostname R1
!
ip multicast-routing 
ip cef
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet0/1
 ip address 192.168.123.1 255.255.255.0
 ip pim sparse-mode
!
interface GigabitEthernet0/2
 ip address 192.168.1.254 255.255.255.0
 ip pim sparse-mode
!
router ospf 1
 network 1.1.1.1 0.0.0.0 area 0
 network 192.168.1.0 0.0.0.255 area 0
 network 192.168.123.0 0.0.0.255 area 0
!
ip pim rp-address 1.1.1.1
!
end

R2

hostname R2
!
ip multicast-routing 
ip cef
!
interface GigabitEthernet0/1
 ip address 192.168.123.2 255.255.255.0
 ip pim sparse-mode
!
interface GigabitEthernet0/2
 ip address 192.168.2.254 255.255.255.0
 ip pim sparse-mode
!
router ospf 1
 router-id 2.2.2.2
 network 192.168.2.0 0.0.0.255 area 0
 network 192.168.123.0 0.0.0.255 area 0
!
ip pim rp-address 1.1.1.1
!
end

R3

hostname R3
!
ip multicast-routing 
ip cef
!
interface GigabitEthernet0/1
 ip address 192.168.123.3 255.255.255.0
 ip access-group MULTICAST_TRAFFIC in
 ip pim sparse-mode
!
router ospf 1
 router-id 3.3.3.3
 network 192.168.123.0 0.0.0.255 area 0
!
ip pim rp-address 1.1.1.1
!
ip access-list extended MULTICAST_TRAFFIC
 permit ip any host 239.1.1.1
 permit ip any any
!
end

S1

hostname S1
!
no ip routing
!
no ip cef
!
interface GigabitEthernet0/1
 ip address 192.168.1.101 255.255.255.0
!
ip default-gateway 192.168.1.254
!
end

PIM Snooping Disabled

PIM snooping is disabled by default. Let’s enable PIM debugging on all routers so we can see what happens behind the scenes:

R1#debug ip pim
PIM debugging is on

Let’s configure H1 to join a multicast group:

H1(config)#interface GigabitEthernet 0/1
H1(config-if)#ip igmp join-group 239.1.1.1

This will trigger some PIM join messages. We can see them here:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You've Ever Spent on Your Cisco Career!
  • Full Access to our 662 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

525 Sign Ups in the last 30 days

satisfaction-guaranteed
100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!

Tags: ,


Forum Replies

  1. hi thank you for your good article

    as i look this section, i have a question

    what is l3-aware switch ? for example cat 3750 3850 etc.

    please tell me what platform is l3-aware…

    thanks

  2. Hello Ananth. I will attempt to answer all of your questions in this single reply.

    1. You wrote: H1 and H2 are still interested so they will respond with a membership report. The switch will intercept these two messages and forwards them to the CPU. One of the two membership reports is then forwarded to the router. In the above statement , only one the membership report is forwarded to the router . Is this a form of report suppression? Also explain why only one report is sent?

    Yes, only one membership report is forwarded to the router, however this one member

    ... Continue reading in our forum

  3. Hello Say Hian

    I will attempt to answer your questions below:

    H1 and H2 are hosts. However, Rene has used routers there to simulate the hosts. This is why he has command line access to them.[quote=“sayhian16, post:28, topic:1321”]
    Does the following commands assign multicast ip address to ports in switch?
    ip igmp snooping vlan (vlan number) stat

    ... Continue reading in our forum

  4. Hi Hussein,

    You can try:

    R1# show mac address-table multicast vlan 1
     vlan   mac address     type    qos             ports
     -----+---------------+--------+---+--------------------------------
       1  0100.5e02.0203  static   --  Gi0/1,Gi0/2,Router
       1  0100.5e00.0127  static   --  Gi0/1,Gi0/2,Router
       1  0100.5e00.0128  static   --  Gi0/1,Gi0/2,Router
       1  0100.5e00.0001  static   --  Gi0/1,Gi0/2,Router,Switch

  5. Hi Hussein,

    You can see the multicast groups with show ip igmp snooping groups but it won’t show the corresponding MAC addresses that are used per group. About your questions:

    You can use this if you expect packet loss on your subnet. It changes the interval for some IGMP messages. The downside of changing this is that you increase the leave latency:

    * Group member interval: this is the am

    ... Continue reading in our forum

37 more replies! Ask a question or join the discussion by visiting our Community Forum