An increasing number of applications require support for multipary communication at network-service level. For example, teleseminar applications require one-to-many connections. Teleconferencing, on the other hand, requires a one-to-many or many-to-many network delivery service. Distributed interactive simulation systems need support for multicast receiver groups with potentially large and dynamically changing memberschip. Publish/subscribe methods to system-level fault tolerance may not involve large memberships, but take advantage of the separation of senders from receivers typical for multiparty communication schemes.
In order to conserve network resources, support for multiparty application requires the capability to do multicasting. Multicasting permits sources to send a single copy of a message to an address that causes the message to be delivered to multiple recipients. Multicasting is far more efficient than sending separate copies of the same message to each recipient, each over a separate unicast connection. In addition to the obvious reduction in wasted bandwidth the sender is released from having to manage the set of receivers.
Adding multicasting capabilities to internetworks, has been achieved only in the past few years, primarily with multicast IP [6]. Multicast IP consists of extensions to routing protocols to allow subnetworks to advertise (through their routers) whether they wish to receive datagrams sent to particular sets of servers (called multicast group). Routing information for a particular multicast group is shared. There is no need to set up explicit delivery trees for each sender. The trees are implicitly computed when multicast datagrams arrive, and if trees from two different sources overlap, the same routing information can be used.