Broadcast and multicast routing A superb presentation from Joakim Lundmark and Martin Neuman
What is broadcasting and multicasting? Broadcasting ◦ Send to every user in a network Multicasting ◦ Send to specific users in a network
Broadcasting routing N-way-unicasting ◦ Most straightforward way to send a broadcast packet, to each destination is to make N copies, one for every user. And then send one to each user. ◦ Drawback: use a lot of bandwidth for one line.
Broadcasting routing Network duplication ◦ Using the network to create and distribute the copies. ◦ Flooding, sending to all neighbors in the network.
Broadcasting routing: Flooding Uncontrolled flooding ◦ A fatal flaw with flooding. All nodes have two neighbors: Will broadcast packages indefinitely. More then two neighbors: Will create a broadcast storm.
Broadcasting routing: Flooding Controlled flooding ◦ SNCF(Sequence-number-controlled flooding) Every sender node puts its address and broadcast sequence-number in the broadcast packet. Every node has a memory of the address and number of each packet it has duplicated and sent. If it receives a packet in the memory it drops the packet. If not it forward-copy it to its neighbors.
Broadcasting routing: Flooding Controlled flooding ◦ RPF (Reverse path forwarding) Only sends packet forward if it is received from the next node in the shortest path back to the sender.
Spanning-Tree Broadcast Limits number of sent packets. Creates a path for each node to forward received packets. A so called minimum spanning-tree. This is done by routing algorithms. Broadcasting routing
Creating a center based spanning-tree A central node is defined. Then all nodes sends a message at the same time towards the center node until they arrive at ether the center node or a node that’s already a part of the tree. Broadcasting routing
Spanning-Tree Broadcast
Specific receivers ◦ How to identify the receivers of a packet. ◦ How to address a packet sent to these receivers. ◦ You can not have all the addresses in the packet because it would be to big. ◦ A multicast packet is sent by address indirection. A single identifier for all the receivers. This is done by a multicast group. Multicasting
Managing a group ◦ IGMP(Internet group management protocol). ◦ Provides the means for a host to inform the router that it wants to join a multicast group. ◦ It has 3 message types, used for management of the group. Membership_QueryFor joining the group Membership_ReportFor acknowledgements Leave_GroupFor leaving the group Multicasting
Multicasting routing using a group-shared tree. ◦ Similar to the spanning-tree broadcast. ◦ May use nodes not in the group to “jump” between different parts of the group. Multicasting routing algorithms
Multicasting routing using a source-based tree ◦ Using a RPF(reverse path forwarding) algorithm each node gets its own spanning tree. ◦ This is better when many users wants to communicate with many users. Multicasting routing algorithms
Questions?