Explicit Multicast (Xcast)[10] has been discussed in more details in the previous chapter,
which was proposed to support a large number of small size multicast groups in the network.
Xcast encodes the multicast receivers into a list and attaches it to the data packet header.
Xcast+ is an extension for Xcast, by adding the IGMP-enabled joining receiver at the
receiver side and sending the join request through a source specific join message to the
sender. The source encodes the list of multicast routers instead of receivers address as in
Xcast. Xcast+ supports a very large number of medium size multicast groups. However, both
Xcast and Xcast+ still face the scalability problem, in case of large number of individual
receivers which is found in the Internet.
The scalability problem facing Xcast and Xcast+ is considered by REUNITE [65]. It uses a
recursive unicast protocol to implement the multicast scheme, and also it uses a source
address and a port number to identify each multicast group rather that the class-D IP address.
REUNITE maintains two tables, MFT and MCT. The branching node routers maintain the
MFT table where the non-branching node routers implement the MCT table. REUNITE
supports node balancing and graceful degradation such that the branching can be
automatically migrated to other less loaded router if the designated router does not have
enough resources to support additional multicast group members. Similar to REUNITE,
HBH [22] uses unicast infrastructure to do packet forwarding, but uses EXPRESS’s [37]
channel abstraction to identify a group. The main advantage of HBH is that it takes into
consideration the asymmetric paths into the network. Both REUNITE and HBH suffer from
massive control messages because the use of extra multicast control table MCT besides using
the MFT table. Reducing the number of overhead messages found in the previous proposed
protocols is considered by Simple Explicit Multicast (SEM) [11]. This protocol uses a similar
mechanism used in Xcast+ [61] to construct the multicast tree. For delivering packets it uses
a similar mechanism used at REUNITE [65]. In (SEM) [11], the source uses unicast
encoding for multicast packets and sends them to its next hop branching node routers. Each
branching node router acts as a source where packets travel from a branching node router to
another. In SEM, the mechanism of using explicit messages is introduced to build a whole
multicast tree in advance to deliver multicast packets among branching nodes. However,
56