IGMP and the Quirky Querier
By Erik Indresøvde
Network configuration is a key consideration when deploying AV over IP, so if you’re in the AV industry, you should probably familiarize yourself with the terms “Multicast“and “IGMP” sooner rather than later. Multicast is basically a group communication where a single stream of data is addressed to a group of destinations simultaneously rather than being sent to a single endpoint. Using multicast reduces the bandwidth requirements significantly and provides an efficient method for transporting low latency video and audio to multiple endpoints. There are plenty of good introductions to multicasting, so I won’t cover that in this post. For AV professionals looking for good resources on networking, I can recommend AMX’s Multicast for Enterprise Video Streaming and Extron’s Multicast for AV Streaming white papers. (Disclaimer: I was one of the writers of the Extron white paper).
IGMP (Internet Group Management Protocol) is used to manage multicast streams. IGMP uses special multicast IP addresses specifying what stream each packet belongs to. Decoders subscribe to a stream with a specific multicast address and will then receive all the packets from the encoder with this address. Since IP addressing belongs to Layer 3 (Network Layer) of the OSI model, IGMP has to be a Layer 3 protocol, and requires devices such as routers or bridges. However, over time features have been developed to allow switches, which are Layer 2 devices, to listen in on, or “snoop” on these packets. This feature is found in most modern, managed network switches, and is called IGMP snooping. A switch without IGMP snooping will not be able to determine which receivers have subscribed to the stream, and will simply forward any multicast packets to all ports. If the switch is receiving multiple high bitrate streams, the aggregated data rate of the streams could exceed the bandwidth of the ports, causing congestion, packet loss and errors affecting the video and audio quality of the streams.
The device managing subscriptions of the multicast streams is called the IGMP querier. As previously mentioned, IGMP is a Layer 3 protocol, but similar to how the snooping function was developed to allow switches to listen to the multicast streams, querier capabilities has also been added to most managed network switches. This means that you can in most cases, easily deploy AV over IP using a standard managed network switch acting as the querier.
For a small- to mid-size installation with less than 48 endpoints, a single switch is usually sufficient. The switch configuration for this type of installation is easy and can be set up in just a few minutes by anyone with basic networking experience. Since there is only one switch, there are no questions when it comes to configuration of the querier; just make sure both IGMP snooping and IGMP querier is enabled for the switch. For installations with 48 or more endpoints, one or more additional switches are often needed. This is where it gets a bit tricky. IGMP doesn’t have any way of “announcing” a stream, so to be able to manage a multicast stream, the querier needs to see it. This means that every single multicast stream on the network needs to be forwarded to the querier.
In the example below, switch number one has three attached encoders. The only decoder is attached to switch number three. This decoder subscribes to the stream from Encoder one, but since switch number two is configured as Querier, all the streams have to be forwarded upstream to this switch, even if there are no subscribers. If each stream has a 1 Gbps bitrate, this means the uplink between the switches now needs minimum 3 Gbps capacity, even with only a single decoder! In cases like this, careful planning is required to determine which switch to connect encoders to, which to connect decoders to, which switch to configure as the Querier, and how much bandwidth is required for each uplink.
In reality, installations with more than two switches would often benefit from using layer 3 switches with PIM (Protocol Independent Multicast) routing protocols. Setup and configuration of multicast routing protocols is more complex, but this ensures each stream is only forwarded to neighboring switches if requested by a decoder connected to this switch. For more information on Multicast routing protocols the previously mentioned white papers from AMX and Extron are good resources. Ultimately, if you’re going to design or support systems at this level, it might be wise to leverage resources with in-depth networking experience and certifications such as Cisco’s CCNP.
Erik Indresøvde is a technology manager with more than 13 years of experience in the global IT and AV industries. He is an expert in hardware and software development, project management and Agile processes, and holds a Lean Six Sigma Green Belt.
This post was reprinted with permission from Erik Indresøvde and originally appeared here.