Dear Professor Phil,
After a bit of a struggle, we’ve managed to implement IPTV. We encountered the issue of excessive broadcasting, until we configured our switches differently. I understand this is a common problem but don’t understand exactly why. Is there a simple explanation?
—Bill, Pittsburgh, PA
- The explanation may not be simple, but it is certainly understandable. It has to do with the relationship between Ethernet and IP addresses.
First, a quick review of the addresses involved in IPTV transmissions. The Ethernet address used by the network interface cards and the switches are six bytes (48 bits) long. The first byte determines whether the frame is treated as a unicast address or as a multicast address. This is where the explanation becomes difficult. The way we write or document the address in binary is the reverse of the way the byte is actually transmitted. For example, if the destination address is 4B:20:7B:5F:87:23, then it is transmitted as
When the first bit in the transmitted byte is a binary zero, the frame is a unicast. If that bit is a binary one, the frame is considered to be a multicast.
The second part of the explanation involves the way multicast IP addresses are changed to Ethernet addresses. As you discovered in your implementation of IPTV, the multicast addresses usually have the format 224.X.X.X. Because they are 32 bits long, the sending station, such as an encoder, uses the following method to create a 48-bit Ethernet address:
In this address, the first binary bit is one when we write the hex 01 as binary 00000001. This means it will be treated as a multicast frame.
However, many Ethernet switches have a switching algorithm such as this:
1. If destination address has already been learned, send to listed outgoing port.
2. If destination address has not been learned, broadcast frame to all outgoing ports.
Why isn’t hasn’t a multicast frame already been learned? The answer is that switches need to see the frame going both directions before it records the corresponding ports. Consequently, without additional consideration, many switches broadcast all multicast traffic.
The solution to the problem is to configure the switches to do IGMP Snooping (Internet Group Management Protocol). Using this function, the switches dig deeper into the address to discover whether or not the address is actually for a multicast group.
Phil Hippensteel, PhD, teaches at Penn State Harrisburg.