IGMP

IGMP (Internet Group Management Protocol) is communication protocol used by receivers/hosts  to signal their  adjacent/local Multicast routers that they are interested in multicast traffic for a particular group.
  •  IGMP is Host to router signalling protocol for Mulitcasting.
  • IGMP has protocol number "2" and runs on Top of Network layer i.e. at Transport layer.
  • IGMP protocol uses query-response method for communication b/w Host and Local Router.
  • Hosts/Receivers send Membership Report Messages dynamically and immediately after joining a multicast group.
  • Last hop routers/Local routers on the segment are the Queriers.
  • If there are more than 1 local routers in segment, the router with lowest IP becomes the Querier.
  • Router with highest IP in the segment becomes Designated Router(DR). DR is the one that forwards the PIM Joins for segment towards First hop router.
  • There are 3 versions released for IGMP. Ver1, 2, and 3. Below are details.




IGMP version 1
  • Last hop router or Querier send periodic queries every 60 seconds.
  • Queries are sent to 'All-Host' Multicast address 224.0.0.1.
  • Hosts or Receivers can send Membership reports dynamically to the group's multicast address. For example 239.1.1.1.
  • IGMPv1 does not have a mechanism to allow a host to leave a group if it is no longer interested in the group’s content or traffic.
  • Last hop Router ages the multicast group (239.1.1.1) out of an interface if no membership reports are received for three consecutive query intervals (60x3 or 180 seconds).
  • In case all hosts in a segment are not interested in multicast for any of the groups, multicast traffic is still sent onto a segment for up to 3 minutes.


IGMP version 2
  • Last hop router or Querier send periodic queries every 60 seconds.
  • Queries are sent to 'All-Host' Multicast address 224.0.0.1.
  • Hosts or Receivers can send Membership reports dynamically to the group's multicast address(example- 239.1.1.1). Membership reports are sent to this destination address.
  • IGMPv2 has a mechanism to allow a host to leave a group. Hosts can send leave-group message for the group it has joined. Leave Group messages are sent to 'All-Routers' address 224.0.0.2. All local routers( if more than one last hop) on the segment keep the note, and the Querier router decides to investigate further. It responds with a Group-Specific Query message(destined to 239.1.1.1), asking if any host in the segment is still interested in receiving traffic for that group(239.1.1.1).
  • Any other hosts in the segment must reply with a Membership Report. Otherwise, the Querier safely assumes that there is no need to continue forwarding the group traffic on that segment.


IGMP version 3

IGMP Version 3 enables a multicast host/receiver to signal to the local router for the groups it wants to receive multicast traffic from, and from which source(s) this traffic is expected. This is done using support for “source filtering" in IGMPv3.
  • Querier send periodic queries at intervals of 60secs.
  • Host send IGMPv3 membership report at 224.0.0.22 immediately after joining a particular group.
  • Hosts/Receivers use an out of band mechanism to learn about source, for example a content server or web page.
With IGMPv3, receivers signal membership to a multicast host group in the following two modes:

INCLUDE mode — The receiver announce  membership to a host group and provides a list of IP addresses (the INCLUDE list ) from which it wants to receive traffic.

EXCLUDE mode — The receiver announces membership to a host group and provides a list of IP addresses (the EXCLUDE list) from which it does not want to receive traffic. This indicates that the host wants to receive traffic on ly from other sources whose IP addresses are not listed in the EXCLUDE list. To receive traffic from all sources, like in the case of the Internet Standard Multicast (ISM) service model, a host  expresses EXCLUDE mode membership with an empty EXCLUDE list.

IGMPv3 is the designate protocol for hosts to signal channel subscriptions in Source Specific Multicast (SSM).

Advantages of IGMPv3:

  • Enables new multicast services—SSM.
  • Optimized bandwidth utilization—Receiver may request to receive traffic only from explicitly
  • known sources.
  • Improved security—No denial of service attacks from unknown sources.

Useful Commands(using IGMPv2):


Output from Host/Receiver R3:


R3#sh ip igmp groups
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter   Group Accounted
239.1.1.1        FastEthernet0/0          00:34:31  stopped   10.10.10.40     

R3#sh ip igmp interface f0/0
FastEthernet0/0 is up, line protocol is up
  Internet address is 10.10.10.30/24
  IGMP is enabled on interface
  Current IGMP host version is 2
  Current IGMP router version is 2
  IGMP query interval is 60 seconds

  IGMP configured query interval is 60 seconds
  IGMP querier timeout is 120 seconds
  IGMP configured querier timeout is 120 seconds
  IGMP max query response time is 10 seconds
  Last member query count is 2
  Last member query response interval is 1000 ms
  Inbound IGMP access group is not set
  IGMP activity: 1 joins, 0 leaves
  Multicast routing is disabled on interface
  Multicast TTL threshold is 0
  Multicast groups joined by this system (number of users):
      239.1.1.1(1)

 
Output from Local Router/Last hop Router. R6 and R7 are local routers in segment (10.10.10.0/24). 
R6 having lowest IP in segment (10.10.10.6/24) becomes querier.
R7 having highest IP in segment (10.10.10.7/24) becomes DR.

R6#sh ip igmp groups
IGMP Connected Group Membership
Group Address    Interface                  Uptime    Expires   Last Reporter   Group Accounted
239.1.1.1        FastEthernet0/0          00:21:41  00:02:12  10.10.10.30     
224.0.1.40       FastEthernet0/0          00:21:44  00:02:14  10.10.10.6      


R6#sh ip igmp interface
FastEthernet0/0 is up, line protocol is up
  Internet address is 10.10.10.6/24
  IGMP is enabled on interface
  Current IGMP host version is 2
  Current IGMP router version is 2
  IGMP query interval is 60 seconds
  IGMP configured query interval is 60 seconds
  IGMP querier timeout is 120 seconds
  IGMP configured querier timeout is 120 seconds
  IGMP max query response time is 10 seconds
  Last member query count is 2
  Last member query response interval is 1000 ms
  Inbound IGMP access group is not set
  IGMP activity: 2 joins, 0 leaves
  Multicast routing is enabled on interface
  Multicast TTL threshold is 0
  Multicast designated router (DR) is 10.10.10.7  
  IGMP querying router is 10.10.10.6 (this system)
  Multicast groups joined by this system (number of users):
      224.0.1.40(1)