IGMP Snooping


Table of Contents

What is IGMP Snooping?

IGMP Snooping is a Multicast mechanism that runs on Layer 2 switch. This mechanism checks the IGMP join, leave messages and record the information about user about the group that it joins or leaves. With this mechanism, Multicast Group Joins and leaves become effective.

The switch that is using IGMP Snooping, collects Layer 3 information from the IGMP packets between router and the receivers (hosts). These messages are join and leave messages. With IGMP Join message detection, IGMP Snooping mechanims adds the related port as the member of the specific multicast group. Whenever a leave message is detected, then the port is removed from the records.

You can test your IP Multicast knowledge with Multicast Quizes.

IGMP Snooping is generally used in the high end switches. In this switches there are ASICs for snooping job. It is achieved with these ASICs.

Related RFCs


How it Works?

Let’s see IGMP Snooping Operation with an example. As you can see, below, there are three receivers in the receiver segment that are connected to the switch. The switch is also connected to the Designated Router (DR).

Firstly, IGMP Join messages are sent from the Receivers. This can be manually or as a respond to the IGMP Query messages from the DR. Here, three receivers are sending IGMP Join messages for two different Multicast Group.

With IGMP Snooping mechanism, these receiver ports and the requested Groups are recorded to the Multicast Table. This means that;

• Port Fa0/1 want to connect Multicast Group,
• Port Fa0/2 want to connect Multicast Group,
• Port Fa0/3 want to connect Multicast Group

If a Leave Request comes to the switch, it also delete this record from the table.


At the end, the receivers that want to receive multicast traffic receive the multicast traffic. As you can see below, the receiver that sent leave request, do not receive the multicast traffic anymore.


Lesson tags: Multicast, IGMP
Back to: JNCIE > IP Multicast

Leave a Reply

Your email address will not be published. Required fields are marked *