1.12k likes | 1.36k Views
Multicast & Multimedia. CS731 Wei Tsang Ooi. Overview. What is Multicast ? Group Management (IGMP) Routing Protocols (DVMRP, MOPSF, CBT, PIM-DM, PIM-SM) Adaptivity (DSG, RLM, ThinStreams, SCUBA, MEGA). What is Multicast ?. What is Multicast ?.
E N D
Multicast & Multimedia CS731 Wei Tsang Ooi
Overview • What is Multicast ? • Group Management (IGMP) • Routing Protocols (DVMRP, MOPSF, CBT, PIM-DM, PIM-SM) • Adaptivity (DSG, RLM, ThinStreams, SCUBA, MEGA)
What is Multicast ? • Sending a packet to multiple destination using a single address
Unicast S A A B Router C B Router Router Router C
Multicast S G A Router B Router Router Router C
Multicast S A Router G B Router Router Router G C
Multicast S G A Router B Router Router G Router C
Questions • How does a router know if some host in its subnet is member of some group ? • How does a router know where to forward a packet ? • What if a packet is lost ? • What if the members have different network capacity ?
Questions • How does a router know if some host in its subnet is member of some group ? • How does a router know where to forward a packet ? • What if a packet is lost ? • What if the members have different network capacity ?
Group Management • Routers maintain “local host group membership table” • “which group has a member in my subnet ?”
IGMP v1.0 • JOIN messageA : “I want to join group G.” • QUERY messageR : “Which group have you joined ?”
IGMP v1.0 • MEMBERSHIP ReportA : “I am a member of group G”A : “I am a member of group H”B : “I am a member of group G”
Avoiding Implosion • Select random delay t • After time t, if nobody belongs to the same group, send membership report. • Resend the report after some delay just to be safe.
Leave • If nobody tell the router that they belongs to some group G after a few query messages, G will be removed from local host membership table. • Long leave latency (minutes)
IGMP v2.0 • LEAVE message“I want to leave group G” • Group-Specific Query“Anybody else belongs to group G ?”
IGMP v3.0 • Group-Source Inclusion“I want to listen to S from group G” • Group-Source Exclusion“I do not want to listen to S from group G”
Questions • How does a router know if some host in its subnet is member of some group ? • How does a router know where to forward a packet ? • What if a packet is lost ? • What if the members have different network capacity ?
Routing Protocols • Generic Methods : • Form a tree to all routers with members • Deliver the packets along the tree
Rounting Protocols • DVMRP • MOSPF • CBT • PIM
Rounting Protocols • DVMRP • MOSPF • CBT • PIM
From S to G Q R P T
Is R on the shortest path to S ? Q R P T
If no.. ignore the packet Q R P T
If yes.. continue Where should I forward it to ? Q R P T
Q R P T
Q R P T
Truncation • Router checks local host membership table. • Duplicate the packets only if there is a member in the subnet.
Q ? R P T ?
U S Q ? R P T ?
Exchanging Routing Table • Routers periodically sends routing tables to their neighbours • If neighbour is going to ignore my packets, don’t need to send the packets to it.
Pruning • Default : Always send to neighbouring routers, unless told otherwise. • Routers who received a “useless” packet send a prune message back.“Don’t send me packet addressed to G anymore !”
Q R P T
Q R P T PRUNE
Q R P T
Q R P T GRAFT
Q R P T
Q PRUNE R P T
Problems of DVMRP • One tree for each pair (source, group) • Rebuilt tree periodically • So need to exchange routing tables periodically • First packet may visits more routers than it needs to
Rounting Protocols • DVMRP • MOSPF • CBT • PIM
MOSPF • Based on OSPF • For intra-gateway routing • Routers flood membership infomation to all other routers
MOPSF • All routers must have the same topological/group members information. • Each of them compute a shortest path tree.
Problems of MOSPF • Different minimal tree leads to wastage. P P Q R Q R
Solution • Some convention to make sure all tree computed are the same
Problems of MOSPF • One tree for each (source, group) pair • Computational intensive
Solution • Compute the tree when received the first packet.
Example of MOSPF P Q R U T
P computes the tree P Q R U T