AlliedWare™ OS How To | Configure IGMP for Multicasting on Routers and Managed Layer 3 Switches Introduction Allied Telesis routers and managed layer 3 switches use IGMP—Internet Group Management Protocol—to track which multicast groups their clients belong to. This enables them to send the correct multimedia streams to the correct destination.
Introduction > Contents Multiple potential IGMP queriers ...................................................................................................... 15 Example ............................................................................................................................................ 15 Explanation of multiple potential IGMP queriers .................................................................... 17 IGMP proxy .................................................................
Introduction > Products and software versions this note applies to Stopping snoopers from snooping non-IGMP messages .............................................................. Example ............................................................................................................................................ Preventing an All Groups entry for a port ............................................................................... Controlling which addresses create All Groups entries ......
Introduction > Products and software versions this note applies to The following table shows the software versions and products each feature is available on. IGMP feature Software versions Products Snooping All All except AR410, AR410S, AR725 and AR745 Multiple potential queriers All All Proxy AT-8948, x900-48: 2.8.1 and later All except AT-9800 and SwitchBlade Other products: all versions Filtering 2.7.5 and later All that support this version 2.8.
IGMP overview > Queriers and Snoopers IGMP overview Clients in an IP subnetwork use IGMP to indicate that they are interested in receiving a multicast. IGMP then ensures that routers and switches forward multicast packets out the appropriate ports to the interested clients. IGMP terms: IGMP is very flexible, as the examples in this How To Note show, but the basic operation is simple.
IGMP overview > Messages The key differences between a network’s Querier and its Snoopers are: z The Querier generates Query messages to find out which ports need to transmit each multicast stream. The Snoopers also use Query messages to find this out, but they use the Querier’s messages—Snoopers cannot create Query messages themselves. z The Querier has IGMP enabled as part of its IP configuration.
IGMP overview > Choosing group addresses Choosing group addresses This section describes things you need to be aware of when choosing addresses for your multicast groups. Reserved IP addresses IP addresses in the range 224.0.0.0-239.255.255.255 are multicast addresses, but many addresses in this range are reserved. Therefore, before choosing a multicast address, you should check its status in the “Internet Multicast Addresses” document at the IANA website at www.iana.org/assignments/multicast-addresses.
IGMP overview > Choosing group addresses Avoid x.0.0.y, x.0.1.y, x.128.0.y, and x.128.1.y It is particularly important to avoid using any address in the ranges x.0.0.y, x.128.0.y, x.0.1.y, or x.128.1.y (where x is 224-239 and y is 1-254). This is because x.0.0.y and x.128.0.y will map to the same multicast MAC address as 224.0.0.y. Similarly, x.0.1.y and x.128.1.y will map to the same multicast MAC address as 224.0.1.y. Most addresses in the ranges 224.0.0.y and 224.0.1.
IGMP snooping > Example IGMP snooping In this example, we discuss IGMP snooping, the key to efficient multicast traffic flow in a layer 2 network. IGMP snooping is enabled by default on switch ports in Allied Telesis managed layer 3 switches and routers—it does not require any configuration. In a single-switch network, IGMP snooping makes multicasting happen with no configuration at all. All you need to do is connect your server and clients to the switch.
IGMP snooping > Example X Configure switch 1 Switch 1 is configured with IGMP, which makes it the IGMP Querier in this network. It is best practice to make the Querier the closest switch to the multicast source, and in this example switch 1 is closest. For more information about queriers see "Multiple potential IGMP queriers" on page 15. set system name="Switch 1" # VLAN general configuration create vlan=vlan100 vid=100 add vlan=100 port=1-52 # IP configuration enable ip add ip int=vlan100 ip=172.31.0.
IGMP snooping > Explanation of IGMP snooping Explanation of IGMP snooping This section steps through the events that occur in a typical use of multicasting in this network: to stream multicast packets for a group. IGMP learning process The following figure shows the process by which IGMP tracks multicast clients and ensures that the correct clients receive the stream. What happens before a multicast client exists: 1. Querier starts receiving multicast stream from server.
IGMP snooping > Explanation of IGMP snooping Using Show command output to investigate IGMP state No group members In the first stage of the figure above, the multicast server is turned on and is streaming group 224.12.13.14 to the Querier, switch 1. Switch 1 knows about the group, but has nobody interested in receiving it. You can see this by using the command show igmpsnooping on switch 1. The output of this command shows that switch 1 has an entry for the group, but no associated ports.
IGMP snooping > Explanation of IGMP snooping This output now shows two entries, one for each of the following: z group 224.12.13.14 and port 3, which shows that the client is attached to the Snooper through port 3 and is listening to group 224.12.13.14. The Snooper created this entry at stage 5 in the process ("IGMP learning process" on page 11). This entry means that the Snooper forwards packets from 224.12.13.14 out port 3.
IGMP snooping > Explanation of IGMP snooping Finally, look at the output of the command show igmpsnooping on the Querier. Even though switch 1 is the Querier for this network instead of a Snooper, this command shows that a client for group 224.12.13.14 is reached out port 49. Manager Switch 1> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........ None Vlan Name (vlan id) .....
Multiple potential IGMP queriers > Example Multiple potential IGMP queriers To find out more about IGMP, we next investigate what happens when more than one router or switch has an IGMP configuration. RFC 2236, Internet Group Management Protocol, Version 2, says that each Layer 2 network should have only one IGMP Querier.
Multiple potential IGMP queriers > Example X Configure switch 1 Switch 1 is a potential IGMP Querier. It acts as a Snooper if it is not elected as the Querier. set system name="Switch 1" # VLAN general configuration create vlan=vlan100 vid=100 add vlan=100 port=1-52 # IP configuration enable ip add ip int=vlan100 ip=172.31.0.254 mask=255.255.255.
Multiple potential IGMP queriers > Explanation of Multiple potential IGMP queriers Explanation of Multiple potential IGMP queriers When there are no group members Switch 1 and switch 2 are both possible Queriers, and an election determines which switch becomes the actual Querier. We can see the results of the election by using the command show ip igmp on each switch. Manager Switch 1> show ip igmp IGMP Protocol -----------------------------------------------------------------------Status ..................
Multiple potential IGMP queriers > Explanation of Multiple potential IGMP queriers When a client joins a group Now imagine that Client 1 sends a Membership Report to switch 2 for the group 224.12.13.14. If we check the group membership for switch 2 by using the command show igmpsnooping, we see a group entry for 224.12.13.14. Manager Switch 2> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ...........................
Multiple potential IGMP queriers > Explanation of Multiple potential IGMP queriers To see the difference between a switch acting as a Snooper and a switch acting as a Querier, compare the IGMP snooping table for switch 1 (above) with its IGMP table (below). They seem to contradict each other. The IGMP snooping table tells us that switch 1 is aware that it is receiving the group 224.12.13.14 and will send all groups (including this one) out port 49 towards the IGMP Querier, switch 2.
Multiple potential IGMP queriers > Explanation of Multiple potential IGMP queriers Manager Switch 2> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........ None Vlan Name (vlan id) ..... default (1) Fast Leave .............. Off Group List .............. No group memberships. Vlan Name (vlan id) ..... vlan100 (100) Fast Leave .............. Off Group List .............. Group. 224.
IGMP proxy > Example IGMP proxy In very simple tree-design networks, IGMP Proxy is a useful simple alternative to a multicast routing protocol for multicasting between VLANs. An IGMP Proxy sends IGMP Membership Report and Leave group messages to an upstream subnetwork on behalf of downstream devices, and sends Queries downstream. In other words, an IGMP Proxy effectively ferries IGMP messages from one VLAN to another.
IGMP proxy > Example X Configure switch 1 Switch 1—the closest switch to the multicast source—is an IGMP Querier. set system name="Switch 1" # Switching configuration disable switch port=50 link=disable # VLAN general configuration create vlan=vlan200 vid=200 add vlan=200 port=1-49 # IP configuration enable ip add ip int=vlan200 ip=172.31.1.254 mask=255.255.255.0 enable ip igmp enable ip igmp int=vlan200 X Configure switch 2 Switch 2 is an IGMP Snooper.
IGMP proxy > Explanation of IGMP proxy Explanation of IGMP proxy When there are no group members The multicast server streams group 224.12.13.14 to switch 1 through port 1. IGMP snooping detects the stream, as you can see by using the command show igmpsnooping on switch 1. Manager Switch 1> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........ None Vlan Name (vlan id) .....
IGMP proxy > Explanation of IGMP proxy through vlan200. Output of the commands show ip igmp and show igmpsnooping show that switch 3 knows of a client interested in the group 224.12.13.14 through port 25. Manager Switch 3> show ip igmp IGMP Protocol -----------------------------------------------------------------------Status ........................... Enabled Default Query Interval ........... 125 secs Default Timeout Interval ......... 260 secs Last Member Query Interval .......
IGMP proxy > Explanation of IGMP proxy Switch 1 receives the proxied report from switch 3. Switch 1 notes that switch 3 is interested in the group 224.12.13.14 and sends the group multicast to switch 3 on port 49. Output of the command show igmpsnooping shows the membership that switch 1 is aware of. Manager Switch 1> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........
Query solicitation (rapid recovery from topology changes) > How query solicitation works Query solicitation (rapid recovery from topology changes) Query Solicitation minimises loss of multicast data after a topology change. It is a built-in feature of Allied Telesis managed layer 3 switches since software versions 281-03 and 2.9.1 when running EPSR or spanning tree (STP, RSTP, or MSTP) for loop protection.
Query solicitation (rapid recovery from topology changes) > How query solicitation works The following figure shows how Query Solicitation works when a port goes down. Multicast Initial state: Port on Switch 3 is blocking. Multicasts flow from server to client via Switches 1 and 4 Switch 2: STP root Switch 1: Querier Switch 4 Switch 3 Multicast Multicast 1. Link to Switch 4 goes down. Switch 3 stops blocking and sends topology change (TC) Switch 2: STP root Switch 3 TC 2.
Query solicitation (rapid recovery from topology changes) > Why convergence takes so long without query solicitation Why convergence takes so long without query solicitation This section illustrates IGMP convergence in a simple network that does not need STP because it has no switch loops. Query Solicitation is disabled by default in networks like this, because no switch is an STP root bridge or an EPSR master node.
Query solicitation (rapid recovery from topology changes) > Why convergence takes so long without query solicitation Explanation from the perspective of switch 2, the snooper When link is up When the link is connected (all ports are up), the Snooper has entries for two ports: z port 9, which is the Snooper’s connection to the client.
Query solicitation (rapid recovery from topology changes) > Why convergence takes so long without query solicitation When link comes up again When we reconnect port 1 on the Snooper, the All Groups entry does not reappear. Manager Switch 2> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........ None Vlan Name (vlan id) ..... Fast Leave .............. Query Solicitation ......
Query solicitation (rapid recovery from topology changes) > Why convergence takes so long without query solicitation Explanation from the perspective of switch 1, the querier When link is up When the link is connected (all ports are up), the Querier has an entry for port 1, so it sends the group 224.12.13.14 out port 1. The output of the command show igmpsnooping shows this entry.
Query solicitation (rapid recovery from topology changes) > Why convergence takes so long without query solicitation When link comes up again When we reconnect port 1 on the Snooper, the port does not reappear because the Querier has not yet received a Report over it. Therefore, the Querier does not start forwarding the multicast stream out the port. Eventually, the Querier sends an IGMP Query out all its ports. In response it receives a Report from the client (via the Snooper).
Query solicitation (rapid recovery from topology changes) > Speeding up IGMP convergence in a non-looped topology Speeding up IGMP convergence in a non-looped topology The previous section described how it can take up to 125 seconds for multicasting to recover in a non-looped topology after a port comes back up. You can speed up convergence simply by enabling RSTP. This enables the network to use Query Solicitation and means that multicasting resumes within 3 seconds of the link coming up.
Query solicitation (rapid recovery from topology changes) > Enabling query solicitation on multiple switches in a looped topology Multicast Initial state: Port on switch 3 is blocking. Multicasts flow from server to client via switches 1 and 4 Switch 2: STP root Switch 1: Querier Multicast 1. Link to switch 4 goes down. Switch 3 stops blocking and sends Topology Change (TC) and Query Solicit (QS). Switch 2 forwards QS to switch 1. Switch 1 sends General Query (GQ) Multicast Switch 1: Querier 2.
IGMP filtering (controlling multicast distribution) > Example IGMP filtering (controlling multicast distribution) IGMP filtering lets you control the distribution of multicast services on each switch port. Filtering is useful for subscription services when clients must be explicitly authorised to view a multicast stream. IGMP Filtering is available in Software Version 2.7.5 or later. Example This example uses the same network configuration as "IGMP snooping" on page 9.
IGMP filtering (controlling multicast distribution) > Example X Configure switch 1 Switch 1—the closest switch to the multicast source—is an IGMP Querier. The filter is configured on it, as shown in bold in the script below. Note that the order of entries in a filter is important. When IGMP tries to match a message to a filter, it performs a linear search of the filter to find a matching entry, starting with the lowest-numbered entry. It stops processing the filter at the first match it finds.
IGMP filtering (controlling multicast distribution) > Example X Configure switch 2 Switch 2 is an IGMP Snooper. IGMP snooping is enabled by default and does not need any configuration. set system name="Switch 2" # STP general configuration enable stp=default set stp=default mode=rapid set stp port=2 edgeport=yes # VLAN general configuration create vlan=vlan100 vid=100 add vlan=100 port=1-26 X Configure switch 3 Switch 3 is also an IGMP Snooper.
IGMP filtering (controlling multicast distribution) > Explanation of IGMP filtering (controlling multicast distribution) Explanation of IGMP filtering (controlling multicast distribution) Immediately after applying the filter, we check the group entries on switch 1 by using the command show ip igmp, and see that the switch still has an entry for the group we are filtering out. Manager Switch 1> show ip igmp IGMP Protocol -----------------------------------------------------------------------Status ........
IGMP filtering (controlling multicast distribution) > Explanation of IGMP filtering (controlling multicast distribution) If we enter these commands again a few minutes later, we see that the filter has dropped packets and the group entry has expired and disappeared. Manager Switch 1> show igmp filter=1 IGMP Filters -----------------------------------------------------------------No. Entry Group Address Action Matches -----------------------------------------------------------------1 1 224.0.1.22 224.0.1.
IGMP throttling (limiting the number of streams for each subscriber) > Example IGMP throttling (limiting the number of streams for each subscriber) IGMP throttling allows you to limit the number of streams that subscribers may access at a given time, for example, to protect from bandwidth oversubscription.
IGMP throttling (limiting the number of streams for each subscriber) > Example X Configure switch 1 Switch 1 is an IGMP Querier. Note that it has a filter configured on it, which is from the previous example.
IGMP throttling (limiting the number of streams for each subscriber) > Example X Configure switch 3 Switch 3 is also an IGMP Snooper.
IGMP throttling (limiting the number of streams for each subscriber) > Explanation of IGMP throttling (limiting the number of streams Explanation of IGMP throttling (limiting the number of streams for each subscriber) In this example, switch 2’s configuration limits port 2 to six concurrent multicast groups. The port has a throttling action of replace, meaning that any additional group replaces the oldest group. Consider switch 2 after a client on port 2 has joined six groups from 224.12.13.11224.12.13.16.
IGMP throttling (limiting the number of streams for each subscriber) > Explanation of IGMP throttling (limiting the number of streams Next, the client joins three more groups (224.12.13.17-224.12.13.19). Output from the command show igmpsnooping still shows six memberships, but the oldest three groups have been dropped. Manager Switch 2> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ...........................
IGMP throttling (limiting the number of streams for each subscriber) > Explanation of IGMP throttling (limiting the number of streams When switch 2 drops groups by throttling, it does not send a Leave message, because IGMP snooping cannot generate IGMP packets. Therefore, the Querier (switch 1) still believes that switch 2 is interested in the throttled groups, as output from the command show ip igmp on switch 1 shows.
IGMP throttling (limiting the number of streams for each subscriber) > Explanation of IGMP throttling (limiting the number of streams Membership Report for that group. IGMP throttling cannot distinguish between different clients on the same port. For this reason, the limit is tied to the port, not to the client. When we deny groups instead of replacing them Finally, we will consider the effect of changing the IGMP throttle action to deny, by using the command below.
IGMP throttling (limiting the number of streams for each subscriber) > Explanation of IGMP throttling (limiting the number of streams group. The following output for the command show igmpsnooping demonstrates this. Note that the timeout for the groups 224.12.13.11 and 224.12.13.12 has been reset. Manager Switch 2> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........
Static IGMP > Example Static IGMP Static IGMP enables you to configure a switch with specified group-to-interface or group-toport mappings, which you may want to do if: z your network includes hosts that cannot send IGMP Membership Reports z you need to guarantee that a specific multicast stream is instantly available on a port, without any delay from the joining process A common usage of Static IGMP is for protocols like Service Location Protocol (SLP).
Static IGMP > Example X Configure switch 1 Switch 1 is an IGMP Querier and has the static IGMP entry.
Static IGMP > Example X Configure switch 3 Switch 3 is also an IGMP Snooper. Later in this example, we will add a static IGMP entry on this switch. "Modify switch 3 Configuration" on page 52 shows the extra commands for this.
Static IGMP > Explanation of Static IGMP Explanation of Static IGMP When the IGMP static entry is created on switch 1, entries immediately appear in the IGMP snooping table and the IGMP table. Manager Switch 1> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........ None Vlan Name (vlan id) ..... default (1) Fast Leave .............. Off Group List ..............
Static IGMP > Explanation of Static IGMP When the group 224.12.13.14 starts streaming into switch 1, we can use the command show switch port=5 counter to watch the number of multicast packets sent on port 5 increase. This means that the link is up and the static IGMP entry is working. Manager Switch 1> show switch port=5 counter Switch Port Counters -------------------------------------------------------------------------Port 5.
Static IGMP > Explanation of Static IGMP To see the effect that the new configuration has on switch 1, we can check the IGMP snooping and IGMP tables. The IGMP snooping table shows that switch 1 now has an All Groups entry because it is no longer the Querier. The IGMP table also shows that switch 1 is not the Querier. Manager Switch 1> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports .
Static IGMP > Explanation of Static IGMP We can see the static entry on switch 3 by checking the IGMP snooping and IGMP tables. Manager Switch 3> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........ None Vlan Name (vlan id) ..... default (1) Fast Leave .............. Off Group List .............. No group memberships. Vlan Name (vlan id) ..... vlan100 (100) Fast Leave ............
Static IGMP > Explanation of Static IGMP X Modify switch 3 Configuration destroy ip igmp destination=224.12.13.14 int=vlan100 create ip igmp destination=224.12.13.14 int=vlan100 port=5,26 To see the new static entry, we use the commands show igmpsnooping and show ip igmp, and to see multicast packets streaming, we use the command show switch port=5,26 counter. Manager Switch 3> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ...................
Static IGMP > Explanation of Static IGMP Manager Switch 3> show switch port=5,26 counter Switch Port Counters -------------------------------------------------------------------------Port 5.
Static IGMP > Explanation of Static IGMP When a static entry’s port goes down Finally, note that when the port attached to a static entry goes down, the static entry remains but no ports are attached to it. You can see this from the output of the commands show igmpsnooping and show ip igmp for switch 1 when port 5 has been disconnected. Manager Switch 1> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ...........................
How clients leave groups: queries and timers > Overview of leave process How clients leave groups: queries and timers When a client leaves a group, the Snoopers and the Querier check which ports now have clients that belong to that group. They will stop forwarding the group’s traffic out any ports that are now unnecessary. In this section, we describe the process in detail. Overview of leave process The basic process when a client leaves a group is as follows: 1.
How clients leave groups: queries and timers > Snooper timer values The command show ip igmp displays the timer for the most recently updated port as the group’s Refresh Time. From Software Version 291-08, the command show igmpsnooping vlan={|all} detail displays the timers for each individual port. Snooper timer values As described in Step 5 above, when the Snooper receives a Specific Query from the Querier, it may update a timer for ports that forward that group.
How clients leave groups: queries and timers > Comparing the Querier and Snooper timers Changes with 281-03 and 2.9.1 z To calculate the timer, the Snooper takes the LMQI value that it receives from the Querier and multiplies it by the Snooper’s own LMQC. z The Snooper only reduces the timer if it receives a Leave message followed by a Specific Query—one of the messages is not enough.
IGMP fast leave > Example IGMP fast leave IGMP Fast Leave enhances your control over router or switch bandwidth. Enabling Fast Leave tells IGMP snooping to stop the transmission of a group multicast stream to a port as soon as it receives a Leave message on that port. No timeouts are observed. Ordinarily, when IGMP snooping sees a Leave message, it waits for a Membership Query message before setting the entry timeout to 2 seconds.
IGMP fast leave > Example X Configure switch 1 Switch 1 is an IGMP Querier. set system name="Switch 1" # STP general configuration enable stp=default set stp=default mode=rapid set stp=default port=1 edgeport=yes # VLAN general configuration create vlan=vlan100 vid=100 add vlan=100 port=1-52 # IP configuration enable ip add ip int=vlan100 ip=172.31.0.254 mask=255.255.255.0 enable ip igmp enable ip igmp int=vlan100 X Configure switch 2 Switch 2 is an IGMP Snooper.
IGMP fast leave > Explanation of IGMP fast leave Explanation of IGMP fast leave Imagine that client 2 on switch 3 sends a Membership Report to join the group 224.12.13.14. The Snooper, switch 3, adds this to its the IGMP snooping table. When the same client then sends a Leave message, the IGMP Querier responds with a Membership Query and waits for a configured time for a response.
IGMP fast leave > Explanation of IGMP fast leave When fast leave is disabled The IGMP Snooper sees the Membership Query from the Querier and accordingly sets its expiry time to match the Querier. Output of the command show igmpsnooping on switch 3 shows that the timeout for the group 224.12.13.14 has dropped to 2 seconds and that port 3 is still attached to the group. Likewise, output of the command show ip igmp on switch 1 shows a timeout of 2 seconds.
IGMP fast leave > Explanation of IGMP fast leave When you enable fast leave on switch 3 When Fast Leave is enabled on switch 3, but not on switch 1, an interesting chain of events occurs when the client sends a Leave message, as shown in the following diagram. Client 2 1 Switch 3 Switch 3 Switch 3 2 3 1 Client sends Leave message 2 Switch 3 forwards Leave message and deletes snooping entry 3 Switch 1 sends Membership Query with 2 second timeout period Switch 1 Switch 1 igmp-fast-leave.
IGMP fast leave > Explanation of IGMP fast leave When you set fast leave on all interfaces Fast leave is enabled on a per-interface basis, but if you do not specify an interface, it is enabled on all interfaces. In this example, that means that if no VLAN is specified when enabling Fast Leave, it is enabled on all VLANs (vlan1 and vlan100).
IGMP fast leave > Explanation of IGMP fast leave Multiple host mode for fast leave The previous discussion assumes that only one client is attached to the port on the Snooper. Imagine instead a situation where multiple clients are attached to a single port on the snooping switch, as the following figure shows. Multicast Server: TV source for channels 1-3 port 1 AT-8948 Switch 1: Querier port 49 port 26 Rapier 24i Switch 3: Snooper port 3 Channel: TV A 1 TV B 2 TV C 3 TV D 3 igmp-snooper.
IGMP fast leave > Explanation of IGMP fast leave You can see the list of hosts for each port by entering the command show igmpsnooping and specifying the detail parameter: show igmpsnooping vlan={name|1..4094|all} [group={multicast-ip-address|allgroups}] detail The group parameter lets you display information for only one group or for only the All Groups port (the allgroups option). The following example shows output when the detail parameter has been specified.
Configurable IGMP timers and counters > Timer and counter relationships Configurable IGMP timers and counters This section looks at some of the timers and counters that control how often IGMP sends queries and how quickly entries time out.
Configurable IGMP timers and counters > Software versions Software versions Since software versions 281-03 and 2.9.1, IGMP automatically sets the Default Timeout Interval to the value from the formula in the section above. Therefore, if you change any of the Robustness Variable, the LMQC, the Default Query Interval, or the Query Response Interval, IGMP changes the Default Timeout Interval to match. You can override the Default Timeout Interval if necessary, but we do not recommend doing so.
Configurable IGMP timers and counters > Initial configuration X Configure switch 1 Switch 1 is an IGMP Querier. set system name="Switch 1" # STP general configuration enable stp=default set stp=default mode=rapid set stp=default port=1 edgeport=yes # VLAN general configuration create vlan=vlan100 vid=100 add vlan=100 port=1-52 # IP configuration enable ip add ip int=vlan100 ip=172.31.0.254 mask=255.255.255.0 enable ip igmp enable ip igmp int=vlan100 X Configure switch 2 Switch 2 is an IGMP Snooper.
Configurable IGMP timers and counters > Default values Default values Output of the command show ip igmp shows the values of the configurable IGMP settings. The following output shows the default values. Manager Switch 1> show ip igmp IGMP Protocol -----------------------------------------------------------------------Status ........................... Enabled Default Query Interval ........... 125 secs Default Timeout Interval ......... 260 secs Last Member Query Interval ....... Last Member Query Count .
Configurable IGMP timers and counters > Last Member Query Count and Last Member Query Interval Potential problems with changing these counters For most networks, the default LMQI and LMQC values work. You should only change them if you are aware of the likely effect on the network. In particular, note that: z Changing the LMQC automatically changes the Robustness Variable. Therefore, we do not recommend setting the LMQC to 1, because it removes the system’s allowance for packet loss.
Configurable IGMP timers and counters > Last Member Query Count and Last Member Query Interval Similarly, if we change the LMQC from 2 to 3, the refresh time also changes. Manager Switch 1> set ip igmp lmqc=3 Info (1005003): Operation successful. Manager Switch 1> show ip igmp IGMP Protocol -----------------------------------------------------------------------Status ........................... Enabled Default Query Interval ........... 125 secs Default Timeout Interval .........
Configurable IGMP timers and counters > Robustness Variable Robustness Variable What this counter does The Robustness Variable (RV) allows you to tune for the expected packet loss on a subnet. If you expect a subnet to be lossy, you can increase the RV. IGMP is robust to packet loss of one packet less than the RV. The RV is an integer from 1 to 5 and should not be set to 1.
Configurable IGMP timers and counters > Default Query Interval Default Query Interval What this timer does To maintain an accurate picture of group membership, the Querier periodically sends General Queries to all its IGMP interfaces. The Default Query Interval is the gap between General Queries. Note that General Queries are quite different from Specific Queries, which the Querier sends to a group address when it receives a Leave message for that group.
Configurable IGMP timers and counters > Query Response Interval Query Response Interval What this timer does The Query Response Interval determines the longest time clients can take to reply to a General Query. The Querier inserts the Query Response Interval into General Query messages. Clients randomly choose a time between 0 and the Query Response Interval at which to respond to a General Query.
Configurable IGMP timers and counters > Default Timeout Interval Default Timeout Interval The Default Timeout Interval is referred to as the Group Membership Interval in RFC 2236. What this timer does The Default Timeout Interval specifies the length of time before the router or switch deletes a group from its multicast group database after the router or switch last receives a Membership Report for that group.
Configurable IGMP timers and counters > Default Timeout Interval Defaults First, the following output shows the default settings. Manager Switch 1> show ip igmp IGMP Protocol -----------------------------------------------------------------------Status ........................... Enabled Default Query Interval ........... 125 secs Default Timeout Interval ......... 260 secs Last Member Query Interval ....... Last Member Query Count .......... Robustness Variable .............. Query Response Interval ....
Configurable IGMP timers and counters > Default Timeout Interval Increase Query Response Interval Next, change the Query Response Interval to 200 tenths of a second. Manager Switch 1> set ip igmp queryresponseinterval=200 Info (1005003): Operation successful. Manager Switch 1> show ip igmp IGMP Protocol -----------------------------------------------------------------------Status ........................... Enabled Default Query Interval ........... 130 secs Default Timeout Interval .........
Configurable IGMP timers and counters > Default Timeout Interval Override Default Timeout Interval To support existing configurations and for maximum flexibility, you can manually override the Default Timeout Interval. We do not recommend this. Manager Switch 1> set ip igmp timeout=180 Warning (2005430): The Default Timeout Interval is below the default safe value of (Default Query Interval * Robustness ) + (Query Response Interval / 10).
Configurable IGMP timers and counters > Default Timeout Interval Earlier software versions With software versions earlier than 281-03 and 2.9.1, you need to manually calculate and change the Default Timeout Interval if you change any of the Robustness Variable, the LMQC, the Default Query Interval, or the Query Response Interval.
Example of bad choices for timer values > Example Example of bad choices for timer values It is generally unwise to change any of the default IGMP settings unless you have advanced knowledge of how IGMP works. As "Timer and counter relationships" on page 69 describes, most of the timers and counters are related. This means setting timers can cause problems unless you understand the potential impact on the IGMP process.
Example of bad choices for timer values > Problem 1: Last Member Query Interval too short Problem 1: Last Member Query Interval too short The Last Member Query Interval was set to 5, using the command: set ip igmp lmqi=5 This value is incredibly low—actually 5 tenths of a second (half a second). A Last Member Query Count of 2 (the default), gives your clients 1 second to get their Report back to the Querier before the Snooper and Querier stop sending the data stream.
Example of bad choices for timer values > Problem 3: Default Timeout Interval too short Note that the Query Response Interval is specified in 1/10 second units on the command line and in output of show ip igmp, but in units of seconds in the above formula. In this example, the Query Response Interval was set with queryresponseinterval=5, so is 0.5 seconds. Automatic changes Since software versions 281-03 and 2.9.
Stopping snoopers from snooping non-IGMP messages > Example Stopping snoopers from snooping non-IGMP messages Some networks include routers that have no interest in IGMP, but still generate multicast messages by running protocols like OSPF. When a Snooper receives multicast messages from such a router, the Snooper adds the router’s port to its All Groups port list. This means the router is unnecessarily sent IGMP and multicast traffic.
Stopping snoopers from snooping non-IGMP messages > Example X Configure switch 1 Switch 1 is an IGMP Querier. set system name="Switch 1" # STP general configuration enable stp=default set stp=default mode=rapid set stp=default port=1 edgeport=yes # VLAN general configuration create vlan=vlan100 vid=100 add vlan=100 port=1-52 # IP configuration enable ip add ip int=vlan100 ip=172.31.0.254 mask=255.255.255.0 enable ip igmp enable ip igmp int=vlan100 X Configure switch 2 Switch 2 is an IGMP Snooper.
Stopping snoopers from snooping non-IGMP messages > Example X Configure the router The router uses OSPF. set system name=Router # VLAN general configuration create vlan=vlan100 vid=100 add vlan=100 port=1-4 # IP configuration enable ip set ip autonomous=65000 add ip int=vlan100 ip=172.31.0.1 mask=255.255.255.0 add ip int=eth0 ip=10.0.0.1 # OSPF configuration set ospf routerid=172.31.0.1 add ospf area=0.0.0.1 add ospf range=172.31.0.0 area=0.0.0.1 mask=255.255.255.0 add ospf interface=vlan100 area=0.0.0.
Stopping snoopers from snooping non-IGMP messages > Example Manager Switch 3> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........ None Vlan Name (vlan id) ..... default (1) Fast Leave .............. Off Group List .............. No group memberships. Vlan Name (vlan id) ..... vlan100 (100) Fast Leave .............. Off Group List ..............
Stopping snoopers from snooping non-IGMP messages > Preventing an All Groups entry for a port Preventing an All Groups entry for a port This section stops port 24 from being in switch 2’s All Groups entry, then adds it back again. Disabling All Groups entry for a port You can avoid the All Groups entries shown above by simply disabling the All Groups entry for the port that switch 2 uses to connect to the router. Manager Switch 2> disable ip igmp allgroups=24 Info (1005003): Operation successful.
Stopping snoopers from snooping non-IGMP messages > Preventing an All Groups entry for a port Enabling All Groups entry again To further explore the system we will next reverse the process and follow switch 2 while group entries time out and the switch starts transmitting traffic for the group 224.12.13.14 to the router again. This sequence illustrates the time delay between when you change a port’s All Groups configuration and when multicast traffic flow changes. 1.
Stopping snoopers from snooping non-IGMP messages > Preventing an All Groups entry for a port 4. Display port 24’s packet counters, which show that only a few multicast packets have been transmitted on the port. Manager Switch 2> show switch port=24 counter Switch Port Counters -----------------------------------------------------------------------Port 24.
Stopping snoopers from snooping non-IGMP messages > Preventing an All Groups entry for a port 6. Enable IGMP debugging. Manager Switch 2> enable ip igmp debug Info (1005003): Operation successful. 7. Observe the debugging output, which shows that the group 224.12.13.14 was deleted when its timer expired, then was immediately added in again. Manager Switch 2> IGMP Snoop Timeout: group=224.12.13.14 (0) is deleted Deleting all ports for group 224.12.13.
Stopping snoopers from snooping non-IGMP messages > Preventing an All Groups entry for a port 9. Display port 24’s packet counters, which show that many multicast packets have been transmitted on the port. Manager Switch 2> show switch port=24 counter Switch Port Counters -----------------------------------------------------------------------Port 24.
Stopping snoopers from snooping non-IGMP messages > Controlling which addresses create All Groups entries Controlling which addresses create All Groups entries The router or switch adds a port to its All Groups list when it determines that the port has a router attached to it. This example shows how to influence the router or switch’s process in determining who is a router, and therefore when to add a port to the All Groups list.
Stopping snoopers from snooping non-IGMP messages > Controlling which addresses create All Groups entries Configuring switch 2 The example below shows how to tailor the list of router addresses on switch 2. In summary, you do this by using the commands: set igmpsnooping routermode=ip delete igmpsnooping routeraddress=224.0.0.5 The example removes 224.0.0.5 because it is the address for OSPF messages, as the table above shows.
Stopping snoopers from snooping non-IGMP messages > Controlling which addresses create All Groups entries Manager Switch 2> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........ None Vlan Name (vlan id) ..... default (1) Fast Leave .............. Off Group List .............. No group memberships. Vlan Name (vlan id) ..... vlan100 (100) Fast Leave .............. Off Group List ....
Stopping snoopers from snooping non-IGMP messages > Controlling which addresses create All Groups entries Configuring switches 1 and 3 The output of the command show igmpsnooping, above, shows that switch 2 is still receiving the multicast group 224.12.13.14 even though it has no ports interested in receiving it. This is because switch 2 still switches the OSPF Hello packet, which it received on port 24, to switch 3.
Stopping snoopers from snooping non-IGMP messages > Controlling which addresses create All Groups entries Manager Switch 2> show igmpsnooping routeraddress IGMP Snooping Router Address ---------------------------------------------------------------------IGMP Snooping Router Mode ......... ip Router Address List -------------------------------------------------------224.0.0.1 224.0.0.4 224.0.0.9 224.0.0.15 224.0.0.2 224.0.0.6 224.0.0.13 224.0.0.
Stopping snoopers from snooping non-IGMP messages > Controlling which addresses create All Groups entries Using the other routermode options As described earlier, routermode=multicastrouter is just a shortcut for the two IP addresses for DVMRP and PIM. Manager Switch 2> set igmpsnooping routermode=multicastrouter Info (1005282): IGMPSnooping Routermode successfully updated.
Statically specifying that a port is a router port > Example Statically specifying that a port is a router port Since software versions 281-04 and 291-04, you can statically configure particular ports as multicast router ports. This feature is useful in some unusual network configurations in which the learning process cannot identify all router ports. You could also use it creatively in special circumstances, when a Querier is unnecessary.
Statically specifying that a port is a router port > Example 3. Statically add port 6 as a router port attached to VLAN 1. Manager Rapier 48i> add igmpsnooping vlan=1 routerport=6 snooped group 224.0.0.2 added Adding port 6 for group 224.0.0.2 on default Info (1005003): Operation successful. Manager Rapier 48i> show igmpsnooping IGMP Snooping -----------------------------------------------------------------------Status ........................... Enabled Disabled All-groups ports ........
IGMP debugging > Example IGMP debugging In this section, we shall examine the debugging messages that the router or switch outputs when certain events occur while debugging is enabled. To enable debugging, use the command: enable ip igmp debug Example This example uses the same network configuration as "IGMP snooping" on page 9. For convenience, the diagram is reproduced below.
IGMP debugging > Example X A client leaves a group Client 2 sends a Leave message for group 224.12.13.14. Switch 1 sees the Leave message on vlan100 (port 49). The port is in a state of “deferred deletion” because of the Last Member Query process (see "Last Member Query Count and Last Member Query Interval" on page 72). Switch 1 is an IGMP Querier, so it sends out two Membership Queries and waits 2 seconds for a response. None arrives, so switch 1 deletes the entry.
IGMP debugging > Example X A port entry times out Client 2 sends a Membership Report for group 224.12.13.14. Switch 1 sees the report on vlan100 (port 49) and adds an entry. The entry eventually expires. Manager Switch 1> IGMP Snoop(48): Report -> snooped group 224.12.13.14 added Adding port 49 for group 224.12.13.14 on vlan100 IGMP Rx(48): Report -> group 224.12.13.14 added Manager Switch 1> IGMP Snoop Timeout: group=224.12.13.14 (0) is deleted Deleting all ports for group 224.12.13.
IGMP debugging > Example This example also shows what debugging output looks like when the Snooper receives a General Query. The Querier sends the General Query to the destination address 224.0.0.1 (the IGMP Query address) and the Snooper tells us that it has added the “router” port to its All Groups list. In the IGMP standards, “All routers on this subnet” are identified with the group address of 224.0.0.2, so the debugging output refers to that address.
IGMP debugging > Example X Output for show ip igmp changes When IGMP debugging is enabled, the command show ip igmp gives more information about static IGMP associations, as shown in bold in the following output. See "Explanation of Static IGMP" on page 51 for more information about static associations. IGMP Protocol -----------------------------------------------------------------------Status ........................... Enabled Default Query Interval ........... 125 secs Default Timeout Interval .........
Appendix: STP state > Switch 1 Appendix: STP state In most of the examples in this document, the switches are configured in a loop and are all in the same VLAN. To prevent packets from looping the network, STP is configured. The STP state on each switch is given in the following output screens. Switch 1 Note that port 50 on switch 1 is in a discarding state. Manager Switch 1> show stp=default port=49-50 STP Port Information -----------------------------------------------------------------------STP .......
Appendix: STP state > Switch 2 Switch 2 Manager Switch 2> show stp=default port=25-26 STP Port Information -----------------------------------------------------------------------STP ..................... default STP Status ............ ON Port .................. RSTP Port Role ...... State ............... Point To Point ...... Port Priority ....... Port Identifier ..... Pathcost ............ Designated Root ..... Designated Cost ..... Designated Bridge ... Designated Port ..... EdgePort ............
Switch 3 Manager Switch 3> show stp port=25-26 STP Port Information -----------------------------------------------------------------------STP ..................... default STP Status ............ ON Port .................. RSTP Port Role ...... State ............... Point To Point ...... Port Priority ....... Port Identifier ..... Pathcost ............ Designated Root ..... Designated Cost ..... Designated Bridge ... Designated Port ..... EdgePort ............