Upload
gent
View
55
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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 ?. - PowerPoint PPT Presentation
Citation preview
Multicast & Multimedia
CS731Wei 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 ?
• Sending a packet to multiple destination using a single address
Unicast
RouterRouter
Router
Router
A
B
C
SABC
Multicast
RouterRouter
Router
Router
A
B
C
SG
Multicast
RouterRouter
Router
Router
A
B
C
S
G
G
Multicast
RouterRouter
Router
Router
A
B
C
S G
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 ?
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
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 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”
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
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
R P
Q
T
R P
Q
T
Is R on the shortest path to S ?
R P
Q
T
If no.. ignore the packet
R P
Q
T
If yes.. continue
Where should I
forward it to ?
R P
Q
T
R P
Q
T
Truncation
• Router checks local host membership table.
• Duplicate the packets only if there is a member in the subnet.
R P
Q
T
?
?
R P
Q
T
US
?
?
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 !”
R P
Q
T
R P
Q
TPRUNE
R P
Q
T
R P
Q
TGRAFT
R P
Q
T
R P
Q
T
PRUNE
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
RQ
P
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
TU
P computes the tree
P
Q R
TU
Q computes the tree
P
Q R
TU
R & U compute the tree
P
Q R
TU
T computes the tree
P
Q R
TU
MOSPF vs DVMRP
• MOSPF only forward packets down the path that leads to members.
Problems with MOSPF/DVMRP
• Not scalable O(SG)• Does not work well over sparsely
distributed group • Also known as dense-mode
routing protocols
Rounting Protocols
• DVMRP• MOSPF
•CBT• PIM
Core Based Tree
• Designed for – sparse-mode– better scalability
• A router is desinated as a core (how?)
Join
core PQ
RU
V
join
Join
core PQ
RU
V
ack
Intercept Join
core PQ
RU
V
join
(G, v, core)
Intercept Join
core PQ
RU
V
ack
Send (on the tree)
core PQ
RU
V
Send (not on the tree)
core PQ
RU
V
Send (not on the tree)
core PQ
RU
V
Core Router Discoveries
• Position of core affect performance.
• No perfect solutions in choosing core.
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.
Core Discovery - Manual
• Configure each routers with (core, group) table.
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
Rounting Protocols
• DVMRP• MOSPF• CBT
•PIM
Protocol Independent Multicast
• Get the best of both world :– dense mode : shortest path– sparse mode : shared tree
• Independent of unicast routing protocols.
Join
P coreQ
R
join
Send (SM)
P coreQ
R
S
Switch
P coreQ
R
S
switch
Switch
P coreQ
R
S
Send (DM)
P coreQ
R
S
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 ?
Multicasting over
Heterogenous
Network
Problems
• Different receivers reside on different networks with different capacities, what should the source transmit ?
ISDN
28.8KModem
T3S
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
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
Jean Bolot et. al. (1994)
• Networks condition is categorized as :– Unloaded– Loaded– Congested
• Objectives : Stays in loaded region
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.
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
How to Get Feedback ?
• Sender cannot ask all receivers at once and receivers cannot all answer at once.
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.
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.
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
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)
Simulcast Streams
stream 1 2 3
high
low
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.
Solutions
• inter-stream switch is by “invitation” of source only
• punishment : cannot switch again within a time inverval
RLMMcCanne et. al. 1996
• Source transmits data in different “layers”.
• One layer per group• Need better quality, add a layer• Congestion, drop a layer
Join-Experiment
• Receivers find out if they can join the next higher layer by experiments.
• Join the layer, if congested, drop it.
Join Experiment
1
2
3
4
tjoi
n
Problems
• If two or more receivers perform experiments at once, they interfere with each other.
Solutions
• Before performing an experiment, a receiver announce its intention to others.
• Others will refrain from performing the experiment.
More Problems
• New receiver needs to quickly subscribe to layers.
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.
Problems
• Buffer space needed by router is : layerBandwidth*totalExperimentTime
• Packets lost if buffer space is not large enough
• Congestions is detected after it occurs.
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.
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
SCUBA Example
S1
S2R3
R2
R1
Interest Report
S1 S2R1 0.8 0.2
R2 0.8 0.2
R3 0.5 0.5
S1’s weight =( 0.8 + 0.8 + 0.5 )/ 3 = 0.7S2’s weight =( 0.2 + 0.2 + 0.5 )/ 3 = 0.3
Result
• S1 will transmit at 70% total bandwidth
• S2 will transmit at 30% total bandwidth
Others will share the rest of 5%
Problems
• Receiver Heterogeneity
Solution
• Layered Multicast
1
2
3
4
1
2
3
4
S0 S1
Layers
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
MeGaElan Amir et. al. 1995
• Position a application level gateway at strategic point in the network.
MeGa
S
64Kbps100Mbps
The End