IP Multicast Support

Previous Topic Next Topic

Routers

To forward IP multicast packets to only those subnets for which there are group members, an IP multicast router must be able to:

Receive All IP Multicast Traffic

For shared access technologies, such as Ethernet and FDDI, the normal listening mode for network adapters is unicast listening mode. The listening mode is the way that the network adapter analyzes the destination MAC address of incoming frames to decide to process them further. In unicast listening mode, the only frames that are considered for further processing are in a table of interesting destination MAC addresses on the network adapter. Typically, the only interesting addresses are the broadcast address (0xFF-FF-FF-FF-FF-FF) and the unicast address, also known as the media access control (MAC) address, of the adapter.

However, for an IP multicast router to receive all IP multicast traffic, it must place the network adapter in a special listening mode called multicast promiscuous mode. Multicast promiscuous mode analyzes the Institute of Electrical and Electronics Engineers (IEEE)-defined multicast bit to determine whether the frame requires further processing. The multicast bit for Ethernet and FDDI addresses is the last bit of the first byte of the destination MAC address.

The values of the multicast bit are the following:

When the network adapter is placed in multicast promiscuous listening mode, any frames with the multicast bit set to 1 are passed up for further processing.

Multicast promiscuous mode is different than promiscuous mode. In promiscuous mode, all frames—regardless of the destination MAC address—are passed up for processing. Promiscuous mode is used by protocol analyzers, also known as network sniffers, such as the full version of Microsoft Network Monitor that is part of the Microsoft® Systems Management Server.

Multicast promiscuous mode is supported by most network adapters. A network adapter that supports promiscuous mode might not support multicast promiscuous mode. Consult your network adapter documentation or manufacturer for information about whether your network adapter supports multicast promiscuous mode.

Forward IP Multicast Traffic

The ability to forward IP multicast packets is a capability of the TCP/IP protocol, and the Windows 2000 implementation of TCP/IP includes this functionality. When multicast forwarding is enabled, non-local subnet IP multicast packets are analyzed to determine over which interfaces the packet is forwarded. The analysis is done by comparing the destination group address to entries in the IP multicast forwarding table. Upon receipt of a non-local IP multicast packet, the Time to Live (TTL) in the IP header is decremented by 1. If the TTL is greater than 0 after decrementing, then the multicast forwarding table is checked. If an entry in the multicast forwarding table is found that matches the destination IP multicast address, the IP multicast packet is forwarded with its new TTL over the appropriate interfaces.

The multicast forwarding process does not distinguish between hosts on locally attached subnets who are receiving multicast traffic or hosts on a network segment that are downstream from the locally attached subnet across another router on the subnet. In other words, a multicast router might forward a multicast packet on a subnet for which there are no hosts listening. The multicast packet is forwarded because another router on that subnet indicated that a host in its direction is receiving the multicast traffic.

The multicast forwarding table does not record each host group member or the number of host group members; only that there is at least one host group member for a specific group address.

For information about how to view the IP multicast forwarding table on a Microsoft® Windows® 2000 Server–based computer running the Routing and Remote Access service, see "IP Multicast Troubleshooting Tools" later in this chapter.

Multicast forwarding is enabled by setting the value of the EnableMulticastForwarding registry entry (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip) \Parameters to 1. This registry entry is created and set to 1 when you install the Routing and Remote Access service.


caution-icon

Caution

Do not use a registry editor to edit the registry directly unless you have no alternative. The registry editors bypass the standard safeguards provided by administrative tools. These safeguards prevent you from entering conflicting settings or settings that are likely to degrade performance or damage your system. Editing the registry directly can have serious, unexpected consequences that can prevent the system from starting and require that you reinstall Windows 2000. To configure or customize Windows 2000, use the programs in Control Panel or Microsoft Management Console (MMC) whenever possible.

Receive and Process IGMP Host Membership Report Messages

Multicast routers receive IGMP Host Membership Report messages from all hosts on all locally attached subnets. This information is used to track host group membership by placing entries in the multicast forwarding table. Because all multicast routers are listening in multicast promiscuous mode, they receive all IGMP Host Membership Report messages sent to any group address.

For the Windows 2000 Routing and Remote Access service, this functionality is provided by adding the IGMP routing protocol and enabling IGMP router mode on an interface. For more information, see "IGMP Protocol" later in this chapter.

Query Attached Subnets for Host Membership Status

On a specific subnet, there can be a mixture of IGMP v1 hosts and IGMP v2 hosts. When an IGMP v1 host stops receiving IP multicast traffic for a specific group address (the host leaves the group), it does not send a specific message to inform the local routers. Consequently, the host can leave the group; if it is the last member on the subnet, then the local routers continue to forward multicast traffic for that group to the subnet.

To improve the leave latency, the time between when the last host on a subnet has left the group and when no more multicast traffic for that group is forwarded to that subnet, multicast routers periodically send IGMP Host Membership Query messages to the local subnet for host membership information. A host that is still a member of a multicast group responds to the query with an IGMP Host Membership Report message. To keep multiple hosts on a particular subnet from sending IGMP Host Membership Report messages for the same group, a random response is used on the hosts to delay the transmission of the IGMP Host Membership Report message. If the message is sent by another host on that subnet before the response timer expires, a message is not sent.

To further improve leave latency, an IGMP v2 host that is the last host of a group on a subnet sends an IGMP Leave Group message. After sending group-specific queries to the group being left and receiving no response, the IGMP v2 router can determine that there are no more group members on that subnet.

Communicate Group Membership to Other IP Multicast Routers

To create multicast-enabled IP internetworks containing more than one router, multicast routers must communicate group membership information to each other so group members can receive IP multicast traffic regardless of their location on the IP internetwork.

Multicast routers exchange host membership information using a multicast routing protocol such as Distance Vector Multicast Routing Protocol (DVMRP), Multicast Open Shortest Path First (MOSPF), or Protocol Independent Multicast (PIM). Group membership is either communicated explicitly, by exchanging group address and subnet information, or implicitly, by informing upstream routers whether or not group members exist downstream from the source of the multicast traffic.

The goals of a multicast routing protocol include the following:

Multicast routing is more complex than unicast routing. With unicast routing, unicast traffic is forwarded to a globally unique destination. Unicast routes summarize ranges of globally unique destinations. Unicast routes in the network are comparatively consistent and only need to be updated when the topology of the IP internetwork changes.

With multicast routing, multicast traffic is forwarded to an ambiguous group destination. Group addresses represent individual groups, and in general, cannot be summarized in the multicast forwarding table. The location of group members is not consistent, and the multicast forwarding tables of multicast routers might need to be updated whenever a host group member joins or leaves a host group.

Just as unicast routing protocols update the unicast IP routing table, multicast routing protocols update the IP multicast forwarding table. The Windows 2000 Routing and Remote Access service does not include any multicast routing protocols, although it provides a platform on which third-party protocols can run. The only component provided with Windows 2000 that can update entries in the multicast forwarding table is IGMP.

© 1985-2000 Microsoft Corporation. All rights reserved.