3.2 Explicit multicast protocols
3.2.1 Explicit multicast routing protocol (Xcast)
Xcast or Explicit Multicast [10] is a multicast protocol designed to support large number of
small multicast groups over a network. This concept is achieved by explicitly encoding all
destinations in the Xcast packet header, instead of using the conventional multicasting
concept which use a multicast group address for the group members in the network. Xcast
can be considered as a source-based protocol, as the source node is responsible for encoding
the entire destination in the packet header, assuming that the underlying routing protocol will
deliver this packet to all destinations.
In usual multicast protocols, packet carries the multicast group address as a multicast group
identifier. In Xcast, the source node knows the destinations of the packets to be sent. As
mentioned above, the source node will group the list of destination addresses according to
their next hops on its packet header and will send the packet to the Xcast routers; as soon as
the router receives this packet it parses the header and updates the packet header again by
grouping the destinations according to their next hops. This procedure is repeated until the
packet reaches the destinations.
Figure 3.1 illustrates the Xcast process in details. Node A wants to send data packet to the
receivers (B,C,D) by the following sequence. First it encodes all the destinations according to
the next hop (R1) into its packet header and forwards the packet to R1. By receiving the
packet, R1 determines that R2 is the next hop so R1 modifies the header to be (R2:B,C,D)
and forwards it to R3. Upon receiving the packet by R3, it determines that R4, R5 are the
next hops, so the header will be modified to be (R4:B; R5:C,D). This process will continue
and the header will be modified at each intermediate node, at R7 the header will be modified
to be (R8:C;R9:D), until finally each destination receives the packet.
35