Skip to Main Content
Currently, IP multicast and Explicit Multi-Unicast (Xcast) are two approaches for multicast communications. IP multicast is designed for large groups but is not scalable in terms of the group number because every router in a multicast tree needs to store the forwarding state for each group. In contrast, Xcast is designed for small groups and is not scalable in terms of the group size because each packetpsilas header can include only the addresses of a few receivers. Therefore, the two approaches are designed for different scenarios and address different problems. However, the selection of IP multicast or Xcast is left to end users who will choose the corresponding API in the applications. In other words, the scalability of the network relies on the end users, and is not guaranteed by the protocol itself. In this paper, we address the above issues and propose a multicasting protocol that is scalable and adaptive in terms of both group number and group size. We avoid the disadvantages of IP multicast and Xcast by choosing only a few routers to store the forwarding states, and multicast packets are delivered via Xcast among these routers. The main advantage of our protocol is that the assignment of forwarding states is optimal and performed in a fully distributed manner. We show that IP multicast and Xcast are two extreme and special cases of our approach. We prove that the overhead of our protocol is limited. In addition, the assignment of forwarding states in our protocol is adaptive to the dynamic group membership and the change in network topology. Moreover, our protocol is simple and can be extended from existing multicast routing protocols.