IGMP Protocol

Because there are no multicast routing protocols provided with Windows 2000, the maintenance of entries in the IP multicast forwarding table is a function of IGMP, a component that is added as an IP routing protocol. After the IGMP routing protocol is added, router interfaces are added to IGMP. Each interface added to the IGMP routing protocol can be configured in one of two operating modes: IGMP router mode and IGMP proxy mode. The operating modes are discussed in more detail in the following sections.

While the IGMP protocol provides some limited ability to create or extend multicast-enabled IP internetworks, it is not the equivalent of a multicast routing protocol, such as DVMRP or PIM. Do not use the Windows 2000 IGMP routing protocol to create a multicast-enabled IP internetwork of an arbitrary size or topology. For more information about how Windows 2000 routers with the IGMP routing protocol component can be used, see "Supported Multicast Configurations" later in this chapter.

IGMP Router Mode

When an IGMP routing protocol interface is configured in IGMP router mode, it performs the following functions:

  • Listens in multicast promiscuous mode.
    The IGMP router mode interface is enabled for multicast promiscuous mode. If multicast promiscuous mode is not supported by the network adapter, then IP Router Manager event number 20157 is logged.

  • Listens for IGMP Host Membership Report messages and Leave Group messages.
    The IGMP router mode interface listens for IGMP Host Membership Report messages and Leave Group messages sent by hosts on the subnet.

  • Sends IGMP Host Membership Queries.
    The IGMP router mode interface sends periodic general queries and group-specific queries after receiving a Leave Group message.

  • Elects an IGMP querier.
    As an IGMP multicast router, the IGMP router mode interface elects an IGMP querier for the subnet.

  • Maintains entries in IP multicast forwarding table.
    Based on the current group membership for hosts on the subnet, IGMP maintains the appropriate entries in the IP multicast forwarding table.

IGMP router mode can be enabled on multiple interfaces. For each interface, either version of IGMP can be configured. The default version is IGMP v2.

IGMP Router Mode Settings

The operation of IGMP v2 running in IGMP router mode is configurable for each interface. You can modify the operation of IGMP router mode using:

  • The Router tab on the properties of an IGMP interface in the Routing and Remote Access snap-in.

  • The netsh routing ip igmp set interface command.

Figure 4.4 shows the IGMP router mode settings for the Local Area Connection interface in the Routing and Remote Access snap-in.

Cc957920.INAF04(en-us,TechNet.10).gif

Figure 4.4 IGMP v2 Router Properties

Robustness Variable    The robustness variable is a way of indicating how susceptible the subnet is to lost packets. IGMP can recover from robustness variable minus 1 lost IGMP packets. You can also click the scroll arrows to select a new setting. The robustness variable should be set to a value of 2 or greater. The default robustness variable value is 2.

Query Interval    The query interval is the amount of time in seconds between IGMP General Query messages sent by the router (if the router is the querier on this subnet). You can also click the scroll arrows to select a new setting. The default query interval is 125 seconds.

Query Response Interval    The query response interval is the maximum amount of time in seconds that the IGMP router waits to receive a response to a General Query message. The query response interval is the Maximum Response Time field in the IGMP v2 Host Membership Query message header. You can also click the scroll arrows to select a new setting. The default query response interval is 10 seconds and must be less than the query interval.

Last Member Query Interval    The last member query interval is the amount of time in seconds that the IGMP router waits to receive a response to a Group-Specific Query message. The last member query interval is also the amount of time in seconds between successive Group-Specific Query messages. You can also click the scroll arrows to select a new setting. The default last member query interval is 1 second.

Calculated Defaults    IGMP variables can be manually configured or automatically calculated based on the values of the robustness variable and the query interval. For automatic calculation, select the Enableautomatic recalculation of defaults check box.

Startup Query Interval    The startup query interval is the amount of time in seconds between successive General Query messages sent by a querier during startup. You can also click the scroll arrows to select a new setting. The default startup query interval is one-fourth of the value for the query interval.

Startup Query Count    The startup query count is the number of general query messages sent at startup. You can also click the scroll arrows to select a new setting. The default startup query count is 2.

Last Member Query Count    The last member query count is the number of Group-Specific Query messages sent before the router assumes that there are no members of the host group being queried on this interface. You can also click the scroll arrows to select a new setting. The default last member query count is 2.

Enable Automatic Recalculation of Defaults    Specifies whether the values in startup query interval, startup query count, and last member query count are calculated automatically based on the following:

  • The startup query interval is one-fourth of the value for the query interval.

  • The startup query count is the same value as the robustness variable.

  • The last member query count is the same value as the robustness variable.

Group Membership Interval    The group membership interval is the number of seconds that must pass before a multicast router determines that there are no more members of a host group on a subnet. The group membership interval is calculated as the (robustness variable) * (query interval) + (query response interval). The group membership interval is a calculated value and is not configurable.

Other Querier Present Interval    The other querier present interval is the number of seconds that must pass before a multicast router determines that there is no other multicast router that takes precedence as the querier. The other querier present interval is the robustness variable multiplied by the query interval plus the query response interval divided by two. The other querier present interval is a calculated value and is not configurable.

note-icon

Note

For more information about these settings and their relationship to each other, see RFC 2236.

IGMP Proxy Mode

While the purpose of IGMP router mode is to act as a multicast router, the purpose of IGMP proxy mode is to act as a multicast proxy for hosts on interfaces on which IGMP router mode is enabled. When an IGMP routing protocol interface is configured in IGMP router mode, it performs the following functions:

  • Forwards IGMP Host Membership Reports
    All IGMP Host Membership Reports received on IGMP router mode interfaces are retransmitted on the IGMP proxy mode interface.

  • Registers multicast MAC addresses
    For shared access technologies such as Ethernet, the network adapter is left in unicast listening mode. For each unique group registered by IGMP Host Membership Reports forwarded on the IGMP proxy mode interface, the network adapter is programmed to pass up frames with the corresponding multicast MAC address. Each additional multicast MAC address is an entry in the table of interesting destination MAC addresses on the network adapter. Each network adapter has a maximum number of entries it can store. If the maximum number of entries is used, then the IGMP routing protocol enables multicast promiscuous listening mode on the network adapter.

  • Adds entries to the multicast forwarding table
    When non-local multicast traffic is received on an IGMP router mode interface, the IGMP routing protocol adds or updates an entry to the multicast forwarding table to forward the multicast traffic out the IGMP proxy mode interface. The end result of this process is that any non-local multicast traffic received on IGMP router mode interfaces is flooded, or copied, to the IGMP proxy mode interface.

  • Receives multicast traffic received on IGMP proxy mode interfaces
    Multicast traffic received on the IGMP proxy mode interface corresponding to the groups registered by hosts on IGMP router mode interfaces are forwarded to the appropriate interfaces using the IP protocol and the multicast forwarding table.

The purpose of IGMP proxy mode is to connect a Windows 2000 router to a multicast-enabled IP internetwork, such as the MBone, or a private intranet that is using multicast routing protocols, such as DVMRP and PIM. The IGMP proxy mode interface acts like a host and joins host groups on behalf of hosts on its IGMP router mode interfaces. Multicast traffic sent to host members on IGMP router mode interfaces are received on the IGMP proxy mode interface and forwarded by the IP multicast forwarding process. Multicast traffic sent by hosts on IGMP router mode interfaces are flooded on the IGMP proxy mode interface where a downstream IP multicast-enabled router can either forward the traffic or ignore it.

IGMP proxy mode can only be enabled on a single IGMP routing protocol interface. The correct interface on which to enable IGMP proxy mode is the interface attached to a subnet containing a multicast router running multicast routing protocols. In other words, the IGMP proxy mode interface "points" to the multicast-enabled intranet.

Router Mode vs. Proxy Mode

Table 4.4 summarizes the features and behavior of IGMP router mode and IGMP proxy mode.

Table 4.4 IGMP Router Mode and IGMP Proxy Mode

Behavior

IGMP Router Mode

IGMP Proxy Mode

Listening mode

Multicast promiscuous mode.

Unicast listening mode.

IGMP router or host

Acts as an IGMP-based multicast router and listens for IGMP Host Membership Report messages.

Acts as an IGMP-based host by forwarding IGMP Host Membership Reports and responding to IGMP queries. Listens for IGMP Host Membership Report messages as a host, not as a router.

Updating of IP multicast forwarding table

Updates the IP multicast forwarding table based on IGMP traffic.

Updates the IP multicast forwarding table to flood non-local multicast traffic received on IGMP router mode interfaces.

Sends IGMP queries

Sends IGMP queries to maintain a current forwarding table.

Sends no IGMP queries.