Most of us have learned that when you deploy devices in a multicast network configuration, there is a feature that you are encouraged to turn on with each of the switches. It’s called IGMP Snooping. IGMP is the Internet Group Messaging Protocol, the underlying technology of multicasting. I once had a client who had failed to turn on Snooping and said, rather proudly, “It didn’t make a difference. Everyone still saw their videos.” He was really wrong about how the network was working.
The purpose of multicast networks is to deliver the videos using the least possible bandwidth. However, switches and routers normally relay IP packets based on different information. A switch makes its decision based on the destination mac address and any VLAN tag. The VLAN tag also makes reference to a list of mac addresses or physical ports on the switches. However, a router makes its relaying decision based on a list of network addresses. This is where the problem with multicasting becomes evident. When a switch reads the address of an incoming packet, it reads the mac address. When a router reads the address of an incoming packet, it reads the IP address of the packet.
Let’s remind ourselves of the difference between these two types of addresses. The mac address, or hardware address, is the 48 bit address of the source or destination interface card. In the addressing system which is used with mac addresses, the very first bit designates whether the address is a unicast (to a single device) or a multicast (to a group of devices.) Most of the time this bit is 0, designating a unicast. With IP addresses, the distinction between unicast and multicast is based on the first decimal byte in the address. If it is 223 or below, the packet is a unicast. If it is 224-239, the packet is being sent as a multicast. When an IP multicast packet is sent, a switch which is not capable of Snooping will only read the mac address. Since the address is to a group of devices rather than to a single device, it will not find a match in its address table. (You might want to look at the last lesson on Spanning Tree to see how the switch builds its address table.) As we pointed out in the previous lesson, this causes the switch to broadcast the packet to all ports. It assumes that a return packet will indicate which port is the direction towards the destination. But there will not be a return packet. Consequently, all multicast packets are treated by the switch as broadcasts.
This situation can create very high volumes of unnecessary traffic. IGMP Snooping breaks the rule for conventional switch operations and has the switch “snoop” into the IP address to determine if the packet is an IP broadcast. This procedure makes it possible to avoid broadcasting the video packets. When we studied my client’s network more closely, we discovered that he had about four times the traffic level that was necessary for proper operation on the IPTV network.
Phil Hippensteel, PhD, teaches at Penn State Harrisburg. He is a regular contributor to AV Technology and Sound & Video Contractor.