IP Multicast Support |
A host supports IP multicast at one of the following levels:
TCP/IP for Windows 2000 supports all levels of IP multicasting and by default is configured for level 2 support for IP multicast traffic. For information about changing the level of multicast support, see "Windows 2000 TCP/IP" in the TCP/IP Core Networking Guide.
For a host to send IP multicast packets, it must:
To determine the IP multicast address to use, the application must first determine whether to create a new host group or use an existing host group. To join an existing group, the application can use a service location protocol to determine the group address for a specific service.
The multicast address for a new group can either be determined by the application or obtained through a mechanism that allocates a unique multicast address such as Multicast Address Dynamic Client Allocation Protocol (MADCAP). MADCAP is an extension to the Dynamic Host Configuration Protocol (DHCP) protocol standard that you can use to support dynamic assignment and configuration of IP multicast addresses on TCP/IP-based networks.
Ordinarily, you use DHCP scopes to provide client configurations by allocating ranges of unicast IP addresses. MADCAP scopes can be used to allocate ranges of IP multicast addresses. For more information about MADCAP and its support in Windows 2000, see "Dynamic Host Configuration Protocol" in the TCP/IP Core Networking Guide.
The sending host must construct an IP packet containing the wanted destination IP multicast address and place it on the medium. In the case of shared access technologies such as Ethernet, FDDI, and Token Ring, the destination MAC address is created from the IP multicast address as previously described.
For a host to receive IP multicast packets, it must:
To determine the IP multicast address to use, the application must first determine whether to create a new host group or use an existing host group. To join an existing group, the application can use a service location protocol to determine the group address for a specific service.
After the group address is determined, an application must inform IP to receive multicasts at a specified destination IP multicast address. If multiple applications are using the same IP multicast address, then IP must pass a copy of the multicast to each application. IP must track which applications are using which multicast addresses as applications join or leave a host group. Additionally, for a multihomed host, IP must track the application membership of host groups for each subnet.
If the network technology supports hardware-based multicasting, then the network adapter is told to pass up packets for a specific multicast address. In the case of shared access technologies such as Ethernet, FDDI, and Token Ring, the NdisRequest function is used to program the network adapter to respond to a multicast MAC address corresponding to the wanted IP multicast address.
The host must inform local subnet routers that it is listening for multicast traffic at a specific group address. The protocol that registers host group information is the Internet Group Management Protocol (IGMP).
IGMP is required on all hosts that support level 2 IP multicasting. The IGMP Host Membership Report message is sent by a host to register membership in a specific host group. TCP/IP for Windows 2000 supports IGMP version 2. For more information about IGMP, see "IGMP v1" and "IGMP v2" later in this chapter.