Title: Multicast
1Multicast Multimedia
2Overview
- What is Multicast ?
- Group Management (IGMP)
- Routing Protocols (DVMRP, MOPSF, CBT, PIM-DM,
PIM-SM) - Adaptivity (DSG, RLM, ThinStreams, SCUBA, MEGA)
3What is Multicast ?
4What is Multicast ?
- Sending a packet to multiple destination using a
single address
5Unicast
S
A
A
B
Router
C
B
Router
Router
Router
C
6Multicast
S
A
G
Router
B
Router
Router
Router
C
7Multicast
S
A
Router
G
B
Router
Router
Router
G
C
8Multicast
S
G
A
Router
B
Router
Router
G
Router
C
9Questions
- 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 ?
10Questions
- 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 ?
11Group Management
12Group Management
- Routers maintain local host group membership
table - which group has a member in my subnet ?
13IGMP v1.0
- JOIN messageA I want to join group G.
- QUERY messageR Which group have you joined ?
14IGMP v1.0
- MEMBERSHIP ReportA I am a member of group
GA I am a member of group HB I am a
member of group G
15Avoiding 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.
16Leave
- 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)
17IGMP v2.0
- LEAVE messageI want to leave group G
- Group-Specific QueryAnybody else belongs to
group G ?
18IGMP v3.0
- Group-Source InclusionI want to listen to S
from group G - Group-Source ExclusionI do not want to listen
to S from group G
19Questions
- 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 ?
20Routing Protocols
21Routing Protocols
- Generic Methods
- Form a tree to all routers with members
- Deliver the packets along the tree
22Rounting Protocols
23Rounting Protocols
24From S to G
Q
R
P
T
25Is R on the shortest path to S ?
Q
R
P
T
26If no.. ignore the packet
Q
R
P
T
27If yes.. continue
Where should I forward it to ?
Q
R
P
T
28Q
R
P
T
29Q
R
P
T
30Truncation
- Router checks local host membership table.
- Duplicate the packets only if there is a member
in the subnet.
31Q
?
R
P
T
?
32U
S
Q
?
R
P
T
?
33Exchanging Routing Table
- Routers periodically sends routing tables to
their neighbours - If neighbour is going to ignore my packets, dont
need to send the packets to it.
34Pruning
- Default Always send to neighbouring routers,
unless told otherwise. - Routers who received a useless packet send a
prune message back.Dont send me packet
addressed to G anymore !
35Q
R
P
T
36Q
R
P
T
PRUNE
37Q
R
P
T
38Q
R
P
T
GRAFT
39Q
R
P
T
40Q
PRUNE
R
P
T
41Problems 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
42Rounting Protocols
43MOSPF
- Based on OSPF
- For intra-gateway routing
- Routers flood membership infomation to all other
routers
44MOPSF
- All routers must have the same topological/group
members information. - Each of them compute a shortest path tree.
45Problems of MOSPF
- Different minimal tree leads to wastage.
P
P
R
Q
Q
R
46Solution
- Some convention to make sure all tree computed
are the same
47Problems of MOSPF
- One tree for each (source, group) pair
- Computational intensive
48Solution
- Compute the tree when received the first packet.
49Example of MOSPF
P
Q
R
T
U
50P computes the tree
P
Q
R
T
U
51Q computes the tree
P
Q
R
T
U
52R U compute the tree
P
Q
R
T
U
53T computes the tree
P
Q
R
T
U
54MOSPF vs DVMRP
- MOSPF only forward packets down the path that
leads to members.
55Problems with MOSPF/DVMRP
- Not scalable O(SG)
- Does not work well over sparsely distributed
group - Also known as dense-mode routing protocols
56Rounting Protocols
57Core Based Tree
- Designed for
- sparse-mode
- better scalability
- A router is desinated as a core (how?)
58Join
R
U
join
core
P
Q
V
59Join
R
U
ack
core
P
Q
V
60Intercept Join
R
U
(G, v, core)
join
core
P
Q
V
61Intercept Join
R
U
ack
core
P
Q
V
62Send (on the tree)
R
U
core
P
Q
V
63Send (not on the tree)
R
U
core
P
Q
V
64Send (not on the tree)
R
U
core
P
Q
V
65Core Router Discoveries
- Position of core affect performance.
- No perfect solutions in choosing core.
66Core 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.
67Core Discovery - Manual
- Configure each routers with (core, group) table.
68CBT 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
69Rounting Protocols
70Protocol Independent Multicast
- Get the best of both world
- dense mode shortest path
- sparse mode shared tree
- Independent of unicast routing protocols.
71Join
R
join
P
core
Q
72Send (SM)
S
R
P
core
Q
73Switch
S
R
switch
P
core
Q
74Switch
S
R
P
core
Q
75Send (DM)
S
R
P
core
Q
76Questions
- 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 ?
77Questions
- 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 ?
78Multicasting over Heterogenous Network
79Problems
- Different receivers reside on different networks
with different capacities, what should the source
transmit ?
ISDN
S
T3
28.8K Modem
80Solutions
- 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
81Source 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
82Jean Bolot et. al. (1994)
- Networks condition is categorized as
- Unloaded
- Loaded
- Congested
- Objectives Stays in loaded region
83Naive 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.
84A 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
85How to Get Feedback ?
- Sender cannot ask all receivers at once and
receivers cannot all answer at once.
86Bolots Idea
- Senders and receivers generate random 16-bit
key - If a the first k bit of receivers key match the
first k bit of the senders, the receivers
responds.
87Bolots 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.
88Receiver 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
89Destination Set GroupingS.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)
90Simulcast Streams
stream 1
2
3
high
low
91Problems
- 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.
92Solutions
- inter-stream switch is by invitation of source
only - punishment cannot switch again within a time
inverval
93RLMMcCanne et. al. 1996
- Source transmits data in different layers.
- One layer per group
- Need better quality, add a layer
- Congestion, drop a layer
94Join-Experiment
- Receivers find out if they can join the next
higher layer by experiments. - Join the layer, if congested, drop it.
95Join Experiment
4
3
tjoin
2
1
96Problems
- If two or more receivers perform experiments at
once, they interfere with each other.
97Solutions
- Before performing an experiment, a receiver
announce its intention to others. - Others will refrain from performing the
experiment.
98More Problems
- New receiver needs to quickly subscribe to
layers.
99Solution
- 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.
100Problems
- Buffer space needed by router is
layerBandwidthtotalExperimentTime - Packets lost if buffer space is not large enough
- Congestions is detected after it occurs.
101ThinStreams 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.
102SCUBA Elan Amir et. al 1997
- Reflect receivers interest in adapting bandwidth
- Receiver sends interest report to source.
- Source adjust bandwidth according to its weight
103SCUBA Example
R1
S1
R2
S2
R3
104Interest Report
S1s weight ( 0.8 0.8 0.5 )/ 3 0.7 S2s
weight ( 0.2 0.2 0.5 )/ 3 0.3
105Result
- S1 will transmit at 70 total bandwidth
- S2 will transmit at 30 total bandwidth
- Others will share the rest of 5
106Problems
107Layers
S0
S1
108Network 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
109MeGaElan Amir et. al. 1995
- Position a application level gateway at strategic
point in the network.
S
64Kbps
100Mbps
MeGa
110The End