IGMP and CGMP

IGMP and CGMP

Internet Accumulation Management Agreement (IGMP) functions mainly at Layer 3. Individual end accessories use IGMP to advertise that they ambition to accompany a accurate multicast group. The IGMP appeal is best up by a router that again attempts to accomplish the appeal by forwarding the multicast abstracts beck to the arrangement absolute this device. The IGMP agreement is in its third version, which is authentic in RFC 3376. However, abounding accessories still use IGMP Adaptation 2 (RFC 2236), and some alone abutment Adaptation 1 (RFC 1112).

What IGMP does is almost simple in concept. It provides a adjustment for end accessories to accompany and leave multicast groups. Here is the achievement of tcpdump assuming the accessory 192.168.1.104 abutting the accumulation 239.5.5.55:

17:10:16.397055 192.168.1.104 > 239.5.5.55: igmp nreport 239.5.5.55 (DF) [ttl 1]

17:10:19.276998 192.168.1.104 > 239.5.5.55: igmp nreport 239.5.5.55 (DF) [ttl 1]

17:10:21.027002 192.168.1.104 > 239.5.5.55: igmp nreport 239.5.5.55 (DF) [ttl 1]

Note that the accessory sends three IGMP packets, advertence its associates to accomplish abiding that it is heard. The router receives the appeal to accompany this accumulation and sets a timer to calculation bottomward for three minutes. As continued as some accessory reasserts its associates with IGMP aural this period, the accumulation will abide in the router's multicast acquisition table. If all of the accumulation associates leave, or if they all artlessly stop sending IGMP updates for added than three minutes, again the router will abolish this accumulation from its tables to save memory.

When the accessory wants to stop accepting a multicast group, it sends a distinct IGMP Leave packet. The router anon reacts by sending a concern to this articulation to acquisition out if there are still any added associates larboard in this group. It tries alert afore chief to stop sending cartage for this accumulation to this arrangement segment:

17:16:17.934667 192.168.1.104 > ALL-ROUTERS.MCAST.NET: igmp leave 239.5.5.55 (DF) [ttl 1]

17:16:17.937715 192.168.1.1 > 239.5.5.55: igmp concern [gaddr 239.5.5.55] [tos 0xc0] [ttl 1]

17:16:19.050430 192.168.1.1 > 239.5.5.55: igmp concern [gaddr 239.5.5.55] [tos 0xc0] [ttl 1]

The important changes to the agreement amid Versions 1 and 2 of IGMP accept to do with free back all of the associates of a accumulation in a accurate arrangement accept left. The best important accession to Adaptation 3 is the adeptness to specify and clarify multicast sources. So a accessory may specify that it is absorbed in accepting multicast letters from one source, but not from another, alike admitting both sources may be sending to the aforementioned group.

IGMP Adaptation 3 is the new accepted standard, but abounding accessories do not abutment the new extensions. However, Cisco provides a absolutely adjustable IGMPv3 implementation. And, in fact, you lose annihilation by appliance IGMPv3 because the agreement is backward-compatible.

In a switched Ethernet LAN (including 100 Mbps, 1,000 Mbps, and college acceleration variants), there is an added account to multicast transmission. If the switches are multicast aware, they can advanced packets with a accurate accumulation abode to alone those accessories that are associates of this group. So it is not all-important to "flood" the absolute VLAN with multicast packets aloof because one accessory is a multicast accumulation member. Naturally, this agency that the about-face charge be able to apprehend and use Layer 3 information, so this array of functionality is not accessible on all Ethernet switches.

Many multicast acquainted switches use IGMP concern to apprehend IGMP packets from accessories as they accompany and leave accurate groups. On the surface, this sounds like a absolute and simple solution, but in convenance it can be actual circuitous to apparatus in the switch. The aboriginal botheration is that there are several adapted cases that are difficult to manage. For example, things become absolutely circuitous back you accept several multicast routers on a segment, or back there are complicated block topologies or access to workgroup hubs. Addition important botheration with IGMP concern is that the about-face charge apprehend the capacity of all multicast packets casual through it so that it won't absence any IGMP Accompany or Leave messages. In effect, the about-face acts as if it were a affiliate of every multicast group. If there is a abundant multicast appliance such as a multimedia application, this can account austere CPU aerial on the switch.

Cisco has developed a proprietary agreement alleged Cisco Accumulation Management Agreement (CGMP) to accord with these problems. CGMP is implemented on all Cisco routers and best new switches, alike those after Layer 3 capabilities. It is a almost simple agreement that allows the router to do best of the adamantine assignment for the switch. Back a accessory on the LAN articulation joins a multicast accumulation by sending an IGMP Accompany message, the about-face artlessly passes the IGMP packet through to the router as it would with any added packet. The router again sends a CGMP packet to the about-face to let it apperceive the MAC addresses of the accessory and the group. Similarly, back a accessory leaves a group, the router uses CGMP to acquaint the about-face to stop forwarding this accurate multicast accumulation to this device. In this way, the router, which has to accumulate clue of this advice anyway, can artlessly acquaint the about-face what to do.

Unfortunately, CGMP doesn't break all of the problems inherent in the IGMP model. Specifically, a accessory doesn't charge to accelerate an IGMP Leave bulletin back it is no best absorbed in accepting packets for that group. If the aftermost accumulation affiliate leaves after sending the adapted IGMP Leave message, the router will still anticipate that there are accessories in the group. It will abide to advanced multicast packets to the articulation until a timer expires. The router will eventually poll the LAN articulation to see if any accessories are still absorbed in accepting this group. If it gets no response, it will assuredly stop sending the multicast abstracts stream. However, best implementations of IGMP Adaptation 2 do accelerate absolute Leave messages, unless the end accessories blast or abolish improperly. In any case, it is usually bigger to accept a accessory accept multicast abstracts it didn't subscribe to than to lose the data. The alone time back this isn't accurate is back the multicast abstracts beck consumes too abundant bandwidth and starts to account bottleneck for accustomed unicast traffic, or back processing the accidental multicast cartage causes CPU problems on the end devices.

Switches active newer versions of CGMP accommodate a decidedly nice affection alleged Local Leave Processing. They are able to ambush IGMP Leave letters from accessories and action them internally. If there are added accumulation associates abroad on the switch, it can artlessly stop sending abstracts from this accumulation to the accessory that no best wishes to be a member. Then, back the aftermost accumulation affiliate leaves the group, the about-face will accelerate a all-around IGMP Leave packet to the router to acquaint it to stop sending this multicast group.