Three procedures are important in IP multicasting: how to join a multicast group, how to map an IP multicast address to a hardware address, and how to forward multicast data. Let's use a CEO audio conference to explain how IP multicasting works. Figure A shows the Ethernet network layout for the conference. Computers CEO, A, C, and F participate in this audio conference.
The unique IP multicast address for the audio conferencing application is 126.96.36.199. This address represents the multicast group that includes computers CEO, A, C, and F. The four computers join the conference by specifying the same IP multicast address, 188.8.131.52, in the application. They become members of the same multicast group when they start the application. Membership in the group is dynamic. A computer can be at any location on the network, can join and leave a group at any time, and can be a member of several multicast groups.
When a source host sends IP data to a destination host in an IP network, the source host must resolve the destination host's IP address to its hardware address so that the data can move through the ISO/OSI model's two lowest layers, the data link and physical layers. IP multicasting follows this principle, too, but the big difference is that the destination hardware address identifies a group of hosts that participate in the multicast application; the destination hardware address is not a physical address of any machine. A source host in the multicast group sends data to this address. A group of destination hosts listen to this address to receive data.
IGMP's rule for mapping an IP multicast address to an Ethernet multicast address is that you place the low-order 23 bits of the IP multicast address into the low-order 23 bits of a special 48-bit Ethernet address, 01.00.5E.00.00.00. Therefore, IP multicast address 184.108.40.206 maps to the Ethernet address 01.00.5E.64.D8.1E. In Figure A, computers A, C, and F listen to the address 01.00.5E.64.D8.1E and receive the audio stream that computer CEO sends to that address. Computer G in Figure A listens to the Ethernet address 01.00.5E.64.D8.1E, too, because the IP address 220.127.116.11 that computer G has joined maps to the same Ethernet address. Only 23 bits of 28 definable bits of an IP multicast address go into the Ethernet multicast address, so 32 different IP multicast addresses can map to the same Ethernet address.
IGMP requires that IP software be intelligent enough to tell whether the computer wants the multicast data it receives. If the computer doesn't want the data, it quietly discards the data. Computer G receives the audio, finds the audio is not what it wants, then discards the audio. To save processor cycles, don't use IP multicast addresses that map to the same Ethernet address on the same network. An easy way to avoid using those addresses is to standardize on the first two dotted decimal numbers of IP multicast addresses in your network18.104.22.168, for example. If you standardize on these numbers, you will have 65,536 IP multicast addresses that will not map to the same Ethernet address; 65,536 IP applications are unlikely to run on a network at the same time.
IGMP doesn't define how to map an IP multicast address to a hardware address other than Ethernet addresses. According to IGMP, however, the procedures for Ethernet work for any networks that conform to IEEE 802.2.
Router 1 and router 2 in Figure A are multicast-aware routers supporting IGMP. A multicast router forwards multicast data to only its immediately attached subnets that contain computers participating in a specific multicast group. To forward data to only these specific computers, IGMP requires that the multicast router keep track of the group membership status of computers on its immediately attached subnets: IGMP periodically queries whether these neighboring computers are still active in a group.
In the example, router 1 knows that computer C in sub-net 3 is in the group 22.214.171.124, so router 1 forwards the audio to subnet 3 but not subnet 2 because computer B is not in the multicast group. Similarly, router 2 knows that computer F in subnet 5 is in the group 126.96.36.199, so router 2 forwards the audio to subnet 5 but not subnet 4 because computer E is in a different multicast group. When the CEO audio travels on subnet 3, it passes by computer D, because computer D is not interested in the audio and its network interface card filters out the audio.
IGMP doesn't define specifications for IP multicast routing protocols that find an optimal path to forward multicast data from a source to a group of destination hosts. Three major multicast routing protocols are Distance Vector Multicast Routing Protocol (DVMRP), Multicast Open Shortest Path First (MOSPF), and Protocol Independent Multicast (PIM). A multicast router uses at least one of these protocols.