Windows 2000 TCP/IP

Previous Topic Next Topic

Internet Group Management Protocol

Windows 2000 provides level 2 (full) support for IP multicasting and the Internet Group Management Protocol (IGMP) version 2 as described in RFC 1112 and RFC 2236. See "Introduction to TCP/IP" in this book for an overview of IP multicasting and IGMP.

Host group addresses are in the class D range 224.0.0.0 to 239.255.255.255 (as defined by setting the first four high order bits to 1110). Multicast addresses in the range 224.0.0.0 to 224.0.0.255 are reserved for local subnets and are not forwarded by IP routers regardless of the TTL in the IP header.

Multicast Route

To support IP multicasting, an additional route is defined on the host. The route specifies that if a datagram is being sent to a multicast host group, it should be sent to the IP address of the host group via the local interface card, and not forwarded to the default gateway. The following route illustrates this:

Network Destination        Netmask          Gateway       Interface  Metric

        224.0.0.0        224.0.0.0        10.1.1.99       10.1.1.99       1


Mapping Multicast IP Addresses to MAC Addresses

Multicast IP traffic does not use ARP to resolve the destination MAC address for the outbound IP datagram. To support IP multicasting, the Internet authorities have reserved the Ethernet multicast address range of 01-00-5E-00-00-00 to 01-00-5E-7F-FF-FF for IP multicast traffic. The high order 25 bits of the 48-bit Ethernet address are fixed and the low order 23 bits are variable, as shown in Figure 2.3.

Figure 2.3    Mapping IP Multicast Addresses to Ethernet Media Access Control Addresses
Enlarge figure

Figure 2.3 Mapping IP Multicast Addresses to Ethernet Media Access Control Addresses

To map an IP multicast address to an Ethernet multicast address, the low order 23 bits of the IP multicast address are mapped directly to the low order 23 bits in the Ethernet multicast address. Because the first 4 bits of an IP multicast address are fixed according to the Class D convention, there are 5 bits in the IP multicast address that do not map to the Ethernet multicast address. Therefore, it is possible for an Ethernet host to attempt to process IP multicast packets for groups to which it does not belong. These extra multicasts are silently discarded.

For example, a datagram addressed to the multicast address 225.0.0.5 would be sent to the Ethernet MAC address 0x01-00-5E-00-00-05. This MAC address is formed by the junction of 01-00-5E and the 23 low-order bits of 225.0.0.5 (0x00-00-05).

Fiber Data Distributed Interface (FDDI) also maps IP multicast addresses to MAC addresses.

Due to the nature of Token Ring MAC-level addressing and the limitation of Token Ring adapters, all IP multicast traffic is mapped to the Token Ring functional MAC address of 0xC0-00-00-04-00-00.

Multicast Extensions to Windows Sockets

IP multicasting is currently supported only on IP protocol family datagram and raw sockets. By default, IP multicast datagrams are sent with a TTL of 1. Applications can use the Windows Sockets setsockopt( ) function to specify a TTL.

By convention, multicast routers use TTL thresholds to determine how far to forward datagrams. These TTL thresholds are defined as follows:

Use of IP Multicasting by Windows 2000 Components

The following Windows 2000 protocols and services use IP multicast traffic:

© 1985-2000 Microsoft Corporation. All rights reserved.