next up previous
Next: General Up: SADNA: ATM networks Previous: ARP server

Reliable Multicast

This project will build a multicast between a set of users.

Stage 1: Build a multicast tree for the group of users, with a certain leader. Build a virtual circuit from each user to the leader. To send a message from the user to all the other users, it send it to the leader who broadcast it on the multicast tree. (The leader will give a numbering to the packets, so there is a total order.)

Stage 2: We will add acknowledgments from each of the users to the leader. If the leader ``know'' that some user has a packet missing it will re-broadcast it. (This knowledge can be done by either positive acknowledgment, or by negative acknowledgment.)

Stage 3: Add the ability of the users to send messages to the entire multicast group. This is done by sending the message to the leader, he numbers it, and broadcasts it to everyone.

Bonus: Connect the users of the multicast in a ring. Giving a bidirectional connection between each pair. A node that receives a packet, will send the acknowledgment on the ring. If a node receives an acknowledgment on the ring, but did not receive the packet, after some time it will request the missing packet from its neighbor on the ring. (Compare the method of direct acknowledgments to the leader with acknowledgments on the ring.)

Summary Compare the method of positive and negative acknowledgments to the leader. Check what is the maximum throughput that you can reach.



Mansour Yishay
Wed Mar 6 15:24:36 GMT+0200 1996