A specification to extend the IP protocol with a multicast method was
laid down in RFC 1112 [SD89]. This method uses a range of the
previously reserved Class D address space, the remainder of which is now
called Class E (see Section
). A multicast address is
also referred to as a ``host group address'' or ``host group'' in this
thesis. In RFC 1112, the three issues presented in the introduction of
this chapter are addressed; Multicast address resolution to LAN
(multicast) addresses, copying/forwarding of messages and host
group membership registration (IGMP). The Internet Group Management
Protocol (IGMP) will be explained in detail in Section
,
because by understanding IGMP the addressing and message copying issues
will be clearer as well.
Another issue is the co-existence of nodes with and without multicasting support on the same internet. Hosts can have three levels of multicast support; no support, support for sending to host groups and support for receiving as well as sending to host groups.
Old TCP/IP implementations will have no support for sending or receiving multicast transmissions. These implementations are not aware of multicast addresses and discard the IP-packets addressed to multicast addresses as being corrupt (or rather sent to an invalid (reserved) IP address).
For a host to be able to send to a multicast address, the IP protocol implementation must be aware that it is not being asked to send to a reserved address and a mapping must exist from the host group address to the corresponding multicast LAN address. The mapping is analogous to ARP as discussed in Chapter 2, here host group addresses are resolved to LAN addresses.
When a host also wants to be able to join host groups and listen to the
multicast messages, IGMP must be implemented as well. IGMP is used to
inform local multicast routers of subscriptions to host groups. See
section
. The LAN implementation must be able to accept
multicast packets addressed to subscribed groups.
Every host on an internet capable
of sending to a multicast address, may send packets addressed to a host group
address. Processes
running on hosts capable of receiving multicast packets, may join host groups,
after which they will receive all transmissions sent to that host group
address.
When a host group has members that are not on the LAN, a multicast router ( mrouter) is needed to forward the packets to other networks with members of the host group. The routing of IP multicast packets requires special functions that are not present in unicast IP-routers. Although we will assume these functions are integrated in the IP-router, in the Internet, routers either do not support multicast routing or are not configured to do so. For LANs connected to such routers, the mrouter functions may be located on an IP-host. The multicast transmissions for outside the LAN are forwarded to the next IP multicast capable router using a unicast `` tunnelling'' method. Tunneling is the encapsulation of multicast packets using a unicast IP-header between two multicast routers.