Download presentation
Presentation is loading. Please wait.
Published byJody Horton Modified over 8 years ago
1
Multicast & Multimedia CS731 Wei Tsang Ooi
2
Overview What is Multicast ? Group Management (IGMP) Routing Protocols (DVMRP, MOPSF, CBT, PIM-DM, PIM-SM) Adaptivity (DSG, RLM, ThinStreams, SCUBA, MEGA)
3
What is Multicast ?
4
Sending a packet to multiple destination using a single address
5
Unicast Router A B C S A B C
6
Multicast Router A B C S G
7
Multicast Router A B C S G G
8
Multicast Router A B C S G G
9
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 ?
10
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 ?
11
Group Management
12
Routers maintain “local host group membership table” “which group has a member in my subnet ?”
13
IGMP v1.0 JOIN message A : “I want to join group G.” QUERY message R : “Which group have you joined ?”
14
IGMP v1.0 MEMBERSHIP Report A : “I am a member of group G” A : “I am a member of group H” B : “I am a member of group G”
15
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.
16
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)
17
IGMP v2.0 LEAVE message “I want to leave group G” Group-Specific Query “Anybody else belongs to group G ?”
18
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”
19
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 ?
20
Routing Protocols
21
Generic Methods : –Form a tree to all routers with members –Deliver the packets along the tree
22
Rounting Protocols DVMRP MOSPF CBT PIM
23
Rounting Protocols DVMRP MOSPF CBT PIM
24
From S to G RP Q T
25
RP Q T Is R on the shortest path to S ?
26
RP Q T If no.. ignore the packet
27
RP Q T If yes.. continue Where should I forward it to ?
28
RP Q T
29
RP Q T
30
Truncation Router checks local host membership table. Duplicate the packets only if there is a member in the subnet.
31
RP Q T ? ?
32
RP Q T U S ? ?
33
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.
34
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 !”
35
RP Q T
36
RP Q T PRUNE
37
RP Q T
38
RP Q T GRAFT
39
RP Q T
40
RP Q T PRUNE
41
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
42
Rounting Protocols DVMRP MOSPF CBT PIM
43
MOSPF Based on OSPF For intra-gateway routing Routers flood membership infomation to all other routers
44
MOPSF All routers must have the same topological/group members information. Each of them compute a shortest path tree.
45
Problems of MOSPF Different minimal tree leads to wastage. P RQ P QR
46
Solution Some convention to make sure all tree computed are the same
47
Problems of MOSPF One tree for each (source, group) pair Computational intensive
48
Solution Compute the tree when received the first packet.
49
Example of MOSPF P QR TU
50
P computes the tree P QR TU
51
Q computes the tree P QR TU
52
R & U compute the tree P QR TU
53
T computes the tree P QR TU
54
MOSPF vs DVMRP MOSPF only forward packets down the path that leads to members.
55
Problems with MOSPF/DVMRP Not scalable O(SG) Does not work well over sparsely distributed group Also known as dense-mode routing protocols
56
Rounting Protocols DVMRP MOSPF CBT PIM
57
Core Based Tree Designed for –sparse-mode –better scalability A router is desinated as a core (how?)
58
Join corePQ RU V join
59
Join corePQ RU V ack
60
Intercept Join corePQ RU V join (G, v, core)
61
Intercept Join corePQ RU V ack
62
Send (on the tree) corePQ RU V
63
Send (not on the tree) corePQ RU V
64
Send (not on the tree) corePQ RU V
65
Core Router Discoveries Position of core affect performance. No perfect solutions in choosing core.
66
Core Discovery - Bootstrap A router is elected as Bootstrap Router Other routers send “core candidate” message to the bootstrap router Bootstrap router send a vector of candidate core routers to all routers Routers hash the group address, index into the vector to find the core router.
67
Core Discovery - Manual Configure each routers with (core, group) table.
68
CBT Summaries One shared tree per group Scalablity O(G) No need to broadcast routing tables or flood link states Worst case delay is twice of the shortest path tree (average 1.4 times) Single point of failure
69
Rounting Protocols DVMRP MOSPF CBT PIM
70
Protocol Independent Multicast Get the best of both world : –dense mode : shortest path –sparse mode : shared tree Independent of unicast routing protocols.
71
Join PcoreQ R join
72
Send (SM) PcoreQ R S
73
Switch PcoreQ R S switch
74
Switch PcoreQ R S
75
Send (DM) PcoreQ R S
76
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 ?
77
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 ?
78
Multicasting over Heterogenous Network
79
Problems Different receivers reside on different networks with different capacities, what should the source transmit ? ISDN 28.8K Modem T3 S
80
Solutions Source decides what to send based on feedback from receivers Receivers decides what to receive from the source Network decides what the receivers will received
81
Source Driven Source decides what to send based on feedback from receivers Receivers decides what to receive from the source Network decides what the receivers will received
82
Jean Bolot et. al. (1994) Networks condition is categorized as : –Unloaded –Loaded –Congested Objectives : Stays in loaded region
83
Naive Approach If sender received one complain about congestions in the network, sender reduce the sending rate. Works in unicast case but not in the case of multicase.
84
A Better Solution If at least x% of the receivers are congested, reduce sending rate. If at least y% of the receivers are loaded, do nothing. Else increase sending rate
85
How to Get Feedback ? Sender cannot ask all receivers at once and receivers cannot all answer at once.
86
Bolot’s Idea Senders and receivers generate random 16-bit “key” If a the first k bit of receiver’s key match the first k bit of the sender’s, the receivers responds.
87
Bolot’s Idea First iteration, senders use the receiver responds to estimate the group size. Subsequently, receivers only responds if the network condition is worst than the sender thought.
88
Receiver Driven Source decides what to send based on feedback from receivers Receivers decides what to receive from the source Network decides what the receivers will received
89
Destination Set Grouping S.Y. Cheung et. al. 1995 Source transmit same data in different streams with different quality Receivers can feedback to the source, to adjust the rate of a stream (intra- stream), or they can move to different streams (inter-stream)
90
Simulcast Streams stream 123 high low
91
Problems Receivers might decide to join higher quality streams, but later find out that they are not able to handle it. Side Effects : quality of streams might be lowered.
92
Solutions inter-stream switch is by “invitation” of source only punishment : cannot switch again within a time inverval
93
RLM McCanne et. al. 1996 Source transmits data in different “layers”. One layer per group Need better quality, add a layer Congestion, drop a layer
94
Join-Experiment Receivers find out if they can join the next higher layer by experiments. Join the layer, if congested, drop it.
95
Join Experiment 1 2 3 4 t join
96
Problems If two or more receivers perform experiments at once, they interfere with each other.
97
Solutions Before performing an experiment, a receiver announce its intention to others. Others will refrain from performing the experiment.
98
More Problems New receiver needs to quickly subscribe to layers.
99
Solution join-experiments for lower layer is allowed to overlap with higher layer experiments. The receivers needs to compensate for the overlapping when analyzing the result of the experiment.
100
Problems Buffer space needed by router is : layerBandwidth*totalExperimentTime Packets lost if buffer space is not large enough Congestions is detected after it occurs.
101
ThinStreams Linda, Brian & Rosen 1997 Each layer is thin has a fixed thickness Use throughput as a measurement instead of packet losses Use clock signal to sync join-experiment Enforce link-sharing by making it harder to join higher group.
102
SCUBA Elan Amir et. al 1997 Reflect receiver’s interest in adapting bandwidth Receiver sends interest report to source. Source adjust bandwidth according to its weight
103
SCUBA Example S1 S2 R3 R2 R1
104
Interest Report S1’s weight =( 0.8 + 0.8 + 0.5 )/ 3 = 0.7 S2’s weight =( 0.2 + 0.2 + 0.5 )/ 3 = 0.3
105
Result S1 will transmit at 70% total bandwidth S2 will transmit at 30% total bandwidth Others will share the rest of 5%
106
Problems Receiver Heterogeneity Solution Layered Multicast
107
1 2 3 4 1 2 3 4 S0S1 Layers
108
Network Driven Source decides what to send based on feedback from receivers Receivers decide what to receive from the source Network decides what the receivers will received
109
MeGa Elan Amir et. al. 1995 Position a application level gateway at strategic point in the network. MeGa S 64Kbps100Mbps
110
The End
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.