The presentation describes the different ways of routing that takes place in Multicast Communication.
The presentation was prepared in collaboration with Shubham Singhal at IIIT-Delhi for the course "Technical Communication".
But before moving to routing algorithms we should know about Multicast.It is the delivery of a message to members of a group simultaneously in a single transmission from the sender.It is One-to-many or many-to-many communication.The picture depicts the difference between unicast, broadcast and multicast.
But why we need multicast?We use multicast because it gives better utilization of the bandwidth as only one copy of data is forwarded to the router which makes multiple copies as per the requirement. This reduces processing at each router. Multicast is used in video conferencing. multi player gaming and other applications where data is shared among the users
Lets see the working of multicast:
But in multicast system the sender sends only one copy of the data to the forwarding router and the router then makes multiple copies.
In multicast communication the sender transmit IP datagrams to a group of receivers called host groupHost group is identified by a class D IP address which ranges from 22.214.171.124 to 126.96.36.199Membersjoin and leave the group informing the nearby routersRouters use multicast routing protocols to manage groupsEvery IP datagram send to a multicast group is transmitted to all members of the group where the sender may not be a member of the groupIP multicast uses UDP which is fast but unreliable.
To understand the routing algorithms we need to learn a few concepts:Shortest Path treeWe have a blue box as the sender and 3 green boxes as the receivers.
Shortest path tree minimizes the path cost from the source to each receiverConsidering the cost of each edge as 1-
Minimum cost tree:Here we minimizes the total cost of the edgesIt is a better option if we have multiple senders.However it becomes very expensive to compute with increase in number of nodes.
When a sender first initiates a session, each router in the internetwork uses reverse path broadcasting to forward the packets out every interface except the upstream interface. As a result, the multicast session initially reaches every router in the internetwork.
If there are no group members in the subnet or downstream routers to which the traffic must be forwarded, the router sends a poison-reverse message called a prune message to its upstream neighbor. That upstream neighbor then stops forwarding the session traffic to the pruned router.
Routing in Multicast Communication
Routing in MulticastCommunicationSahil Jain (2010071)Shubham Singhal (2010083)
Multicast Delivery of a message to a group simultaneously in a singletransmission from the source One-to-many or many-to-many communicationsUnicast Broadcast Multicast2
Why Multicast?Working• Better bandwidth utilization• Less host/router processingApplications• Video Conferencing• Data Sharing Applications• Multi-player Gaming3
Multicast Model Senders transmit IP datagrams to a host group Host group identified by a class D IP address Members join and leave the group and indicate this to the routers Routers use multicast routing protocols to manage groups Every IP datagram send to a multicast group is transmitted to allmembers of the group Sender may not be a member of the group IP Multicast service is unreliable6
Shortest Path TreeMinimizes the path cost from the source to eachreceiver• Good tree if there is a single sender• If there are multiple senders, need one treeper sender• Easy to computeS8
Minimum Cost TreeSMinimizes the total cost of the edges• Good solution if there are multiple senders• Single tree for multiple senders• Very expensive to compute (not practicalfor more than 30 nodes)9
Reverse Path Forwarding Builds shortest path tree using unicastrouting tables A router selects its next hopneighbor(router) in the tree forforwarding unicast packets to the root Traces a reverse shortest path from anyrouter to the sending host Union of reverse shortest paths builds areverse shortest path tree.10
Routing Approaches Source Based Tree One shortest path tree for each sender Tree is built from receiver to the sender [Reverse Path Forwarding (RPF)] Useful when there are small number of senders and large number of receivers• Core Based Tree• A single distribution tree that is shared by all senders• Selects one router as a “core”• All receivers build a shortest path to the core [Reverse Path Forwarding]11
Source Based TreeFlood & Prune• Set routing tables according toRPF forwarding• Next hop neighbor of R5 is R2• Next hop neighbor of R7 is R3• And so on…..Image Source: www.cs.virginia.edu/~itlab/book/slides/module21-mcastv4.ppt 12
Each router in the network usesreverse path forwarding toforward the packets out everyinterface except the upstreaminterface. As a result, the multicast sessioninitially reaches every router inthe network. This is called floodingH2H3H5H4H1SourceR1R2R6R4R5R3R8R7joinedjoinedSource Based TreeFlood & Prune13
Source Based TreeFlood & PruneH2H3H5H4H1SourceR1R2R6R4R5R3R8R7joinedjoined Pruning = If no group membersor downstream routers to whichthe traffic must beforwarded, router sends apoison-reverse message calleda prune message to its upstreamneighbor. This called pruning14
H2H3H5H4H1SourceR1R2R6R4R5R3R8R7PrunejoinedjoinedPrunePrunePrunePrunePrunePrunePrunePrunePrunePrunePruneSource Based TreeFlood & Prune That upstream neighbor thenstops forwarding the sessiontraffic to the pruned router.• Prune message temporarilydisables routing table entry15
Source Based TreeGraftingH2H3H5H4H1SourceR1R2R6R4R5R3R8R7joinedjoinedGraftGraftjoined When a receiver joins, one needsto re-activate a pruned routingtable entry Sending a Graft message disablesprune, and re-activates routingtable entry.16
Core Based TreeReceiver 1EBA D FSourceCReceiver 2S1R RShared Root (Core)S2Source• Constructs a single delivery treethat is shared by all members of agroup• Source sends data to the core• Core forwards data to the groupmembers according to routingtable entry17
Challenges Difficult because: sources may join and leave dynamically need to dynamically update routing table entry How can a sender restrict who can receive? need authentication, authorization encryption of data key distributionThis is still an active area of research18
Summary Unicast and Broadcast not always efficient Applications need multicast for better bandwidth utilisation Source based tree Optimal path between sender and receiver but overall expensive One path for each receiver- more memory requirement Core based tree Less memory requirement Careful selection of the core required Scalable for many senders and receivers19
References1. Xiaola Lin and Lionel M. Ni, “Multicast Communication in MulticomputerNetworks”, IEEE, VOL.4, NO. 10, OCTOBER 19932. Yuan Gao and Jennifer C. Hou, “Reliable Multicasts for Core-based Multicast Trees”, IEEE, 20003. Rick Graziani, (Fall 2006), “IP Multicasting” [Online],Available: alextm.no-ip.com/appunti/ccnp/lucidi/ccnp1-Multicasting.ppt4. Radhika Rengaswamy, “IP Multicasting” [Online],Available: www.cse.buffalo.edu/~qiao/cse620/ip_multicasting.ppt20