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.

Cc940031.CNBC03(en-us,TechNet.10).gif

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:

  • Multicast datagrams with initial TTL 0 are restricted to the same host.

  • Multicast datagrams with initial TTL 1 are restricted to the same subnet.

  • Multicast datagrams with initial TTL 32 are restricted to the same site.

  • Multicast datagrams with initial TTL 64 are restricted to the same region.

  • Multicast datagrams with initial TTL 128 are restricted to the same continent.

  • Multicast datagrams with initial TTL 255 are unrestricted in scope.

Use of IP Multicasting by Windows 2000 Components

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

  • ICMP Router Discovery (224.0.0.1, the all-hosts multicast address, and 224.0.0.2, the all-routers multicast address).

  • RIP version 2 (224.0.0.9), used by Routing and Remote Access service.

  • OSPF (224.0.0.5 and 224.0.0.6), used by Routing and Remote Access service.

  • Site Server Lightweight Directory Access Protocol (LDAP) service is used to advertise IP multicast conferences on the network. You can also use it to publish user IP address mappings for H.323 IP telephony.

  • WINS servers use multicasting (224.0.1.24) when attempting to locate replication partners. For more information about WINS, see "Windows Internet Name Service" in this book.