What is TBXcast ?
TBXcast stands for Tree-Based eXplicit multicast.
It’s a tree-based multicast routing protocol, which means that a tree structure is used to represent the set of routes from the source to the destinations.
Why a new protocol ?
The TBXcast protocol is made for sending data to multiple recipients, for example during a video conference, a conference call or an online game.
Such protocols already exist, however TBXcast handles QoS (Quality of Service), which enables the scaling of communications through the adjustment of attributes like delay, fluidity or data loss. It also decreases the overhead due to the multicast handling, for example it does not need the multicast routing tables
Compared to other routing protocols, TBXcast offers better transmission rates when dealing with sparse users in numerous small groups.
Based on proven technologies
TBXcast is developed for IPv6 and is therefore designed for future.
Its source code is based on an existing protocol, Xcast, which has provided a solid base for a proper development.
The operation system of choice for TBXcast is NetBSD due to its clean design, high performance, scalability and support for many architectures.
In order to understand how the TBXcast protocol works, let’s have a look on the regular multicast routing.
Multicast routing
Routing is the process of selecting paths in a computer network along which to send data or physical traffic. This data is inserted in packets. When a message is delivered to one destination only , the routing is said to be unicast. When more than one are concerned, it is said to be multicast.
These destinations are part of a multicast group. The advantage of multicast over unicast becomes obvious when video is streamed to numerous destinations. In multi-unicast, a packet is sent as many times as there are destinations, which leads to a waste of time, of the server ressources and especially of the bandwidth of the network.
In multicast, a packet is emitted only once on each link of the network and will be forwarded towards all destinations. However, the usual type of multicast routing is most efficient for a reduced number of large groups, else, the multicast routing tables of the routers become too voluminous. Indeed, the tables must contain as many entries as multicast groups going by this router.
Explicit multicast routing
The explicit multicast routing protocols resolve this problem by integrating the exhaustive list of destinations in the header of each multicast packet instead of just the group's address.
Thus, there is no need to save the groups state in the multicast routing tables. Therefore, these protocols are able to support a very large number of small multicast sessions (several thousands and even billions), because they are based only on unicast routing tables. An example of an explicit multicast protocol is the Xcast protocol.
The characteristics of TBXcast
Nevertheless there are some drawbacks with the Xcast protocol. When a router receives a Xcast packet, it must analyze the Xcast header to determine the next router and then rebuild a new header before retransmitting the packet. This proves very costly.
In the perspective of reducing this cost, this project develop a tree-based explicit multicast routing protocol named TBXcast ("Tree-based Xcast").
The major difference with Xcast is situated in the header: it is not only the destinations' addresses that are explicitly encoded but the addresses of the significant nodes in the routing tree which represents a path a packet should follow to reach its destinations . This tree is previously calculated by the source when it is required. The routers need only to forward the packet to their sons in the tree.
In the case of too voluminous trees, the source proceeds to segmentation. It divides the tree into several sub trees. In the case of a modification of the topology as well as in the case of a modification in a group, the tree is recalculated by the source.

On the picture, the source S sends the datagram through the router R0 to the D1, D2, D3, D4 and D5 destinations. Only the green sub-tree will be transmitted to the router R1 in its datagram header. The R5 router will receive the orange sub-tree, and the recipient D2 will directly receive the datagram from the source S.
About
TBXcast is a student project of the Computer Science section of INSA de Rennes university, and involves seven students and two supervisors.
In order to test the protocol, we have set up a dedicated network which can simulate multiple routing configurations. It is an essential tool for the project realization.
Contacts
- Cyril BOULEAU -
- Hamze FARROUKH -
- Loïc LE HENAFF -
- Mickaël LECUYER -
- Jozef LEGENY -
- Benoît LUCET -
- Emmanuel THIERRY -
- Miklós MOLNÁR
- Bernard COUSIN
Links
- TBXCast homepage : contains project wiki and documentation.
- Xcast Sourceforge page
- NetBSD homepage
- INSA de Rennes homepage
- IRISA homepage



