08-01-2002 06:25 AM - edited 03-02-2019 12:22 AM
Does every packet that enters a switch port on an IGMP enabled switch get IGMP snooped? say TCP, UDP etc
Thx in advance :)
08-01-2002 06:30 AM
Ken,
From Cisco IGMP Doc:
A switch running IGMP snooping examines every multicast data packet to determine if it contains any pertinent IGMP control information. If IGMP snooping is implemented on a low end switch with a slow CPU this could have a severe performance impact when data is transmitted at high rates.
Regards
Dale
08-01-2002 09:46 AM
No. If you recall, IGMP uses IP Protocol Type 2. Switches with specialized ASICs (to support IGMP Snooping) can simply recognize the IP Protocol Type to distinguish IGMP packets (Type 2) from actual multicast packets that use TCP (Type 6) or UDP (Type 17). As a result, only IGMP packets get snooped.
One of the inherent difficulties in implementing IGMP Snooping is that IGMP Membership Reports are transmitted to the destination IP address of the multicast group that the host wants to join. As a result, IGMP Membership Report packets and actual multicast packets (that use TCP or UDP) are indistinguishable at Layer 2 for a given multicast group since both packets use the same destination MAC address. Had the original designers of IGMP used the "All Hosts" IP multicast address (224.0.0.1), IGMP Snooping would be much easier to implement in software without undue stress to the switch CPU, since all IGMP Membership Reports would use a destination MAC address of 01-00-5e-00-00-01.
08-01-2002 09:53 AM
Many thx, that is great
one thing,
If a host IGMP membership report did use the 224.0.0.1 GDA, IGMP would not have to snoop all multicast packets. Is that correct? as the L2 forwarding table would just forward these packet with the mac of 01-00-5e-00-00-01 to the switching engine, or is that nonsense?
08-01-2002 10:04 AM
The point is moot - the IGMP v2 spec says that reports are sent to the group address.
None of the cisco switches that support IGMP snooping do it in software. All have hardware that picks out IGMP packets from all others based on IP protocol type, as mentioned in another post.
Every packet is checked, and if protocol type = 2 the CPU gets it. Otherwise, it is forwarded in hardware. No perf penalty for this.
08-02-2002 12:32 AM
Ken,
As discussed the switch can easily distinguish between M/cast control traffic and data flow. Here i show the Cat6k handles IGMP:
Only the 1st IGMP report per VLAN and per IP multicast group is forwarded to the router.
Subsequent reports for the same VLAN and group are suppressed.
The switch processor creates one entry per VLAN in the Layer 2 forwarding table for each MAC group from which it receives an IGMP join request then hosts interested in this multicast traffic send join (AKA Reports) requests and are added to the port list of this forwarding table entry.
Regards
Dale
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide