Multicast - PowerPoint PPT Presentation

1 / 110
About This Presentation
Title:

Multicast

Description:

Routing Protocols (DVMRP, MOPSF, CBT, ... How does a router know if some host in its subnet is member ... Others will refrain from performing the experiment. ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 111
Provided by: weit151
Category:

less

Transcript and Presenter's Notes

Title: Multicast


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
What is Multicast ?
  • Sending a packet to multiple destination using a
    single address

5
Unicast
S
A
A
B
Router
C
B
Router
Router
Router
C
6
Multicast
S
A
G
Router
B
Router
Router
Router
C
7
Multicast
S
A
Router
G
B
Router
Router
Router
G
C
8
Multicast
S
G
A
Router
B
Router
Router
G
Router
C
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
Group Management
  • Routers maintain local host group membership
    table
  • which group has a member in my subnet ?

13
IGMP v1.0
  • JOIN messageA I want to join group G.
  • QUERY messageR Which group have you joined ?

14
IGMP 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

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 messageI want to leave group G
  • Group-Specific QueryAnybody else belongs to
    group G ?

18
IGMP 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

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
Routing Protocols
  • 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
Q
R
P
T
25
Is R on the shortest path to S ?
Q
R
P
T
26
If no.. ignore the packet
Q
R
P
T
27
If yes.. continue
Where should I forward it to ?
Q
R
P
T
28

Q
R
P
T
29

Q
R
P
T
30
Truncation
  • Router checks local host membership table.
  • Duplicate the packets only if there is a member
    in the subnet.

31

Q
?
R
P
T
?
32

U
S
Q
?
R
P
T
?
33
Exchanging 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.

34
Pruning
  • 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 !

35

Q
R
P
T
36

Q
R
P
T
PRUNE
37

Q
R
P
T
38

Q
R
P
T
GRAFT
39

Q
R
P
T
40

Q
PRUNE
R
P
T
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
P
R
Q
Q
R
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
Q
R
T
U
50
P computes the tree
P
Q
R
T
U
51
Q computes the tree
P
Q
R
T
U
52
R U compute the tree
P
Q
R
T
U
53
T computes the tree
P
Q
R
T
U
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
R
U
join
core
P
Q
V
59
Join
R
U
ack
core
P
Q
V
60
Intercept Join
R
U
(G, v, core)
join
core
P
Q
V
61
Intercept Join
R
U
ack
core
P
Q
V
62
Send (on the tree)
R
U
core
P
Q
V
63
Send (not on the tree)
R
U
core
P
Q
V
64
Send (not on the tree)
R
U
core
P
Q
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
R
join
P
core
Q
72
Send (SM)
S
R
P
core
Q
73
Switch
S
R
switch
P
core
Q
74
Switch
S
R
P
core
Q
75
Send (DM)
S
R
P
core
Q
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
S
T3
28.8K Modem
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
Bolots 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.

87
Bolots 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 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)

90
Simulcast Streams
stream 1
2
3
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
RLMMcCanne 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
4
3
tjoin
2
1
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
    layerBandwidthtotalExperimentTime
  • 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 receivers interest in adapting bandwidth
  • Receiver sends interest report to source.
  • Source adjust bandwidth according to its weight

103
SCUBA Example
R1
S1
R2
S2
R3
104
Interest Report
S1s weight ( 0.8 0.8 0.5 )/ 3 0.7 S2s
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

107
Layers
S0
S1
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
MeGaElan Amir et. al. 1995
  • Position a application level gateway at strategic
    point in the network.

S
64Kbps
100Mbps
MeGa
110
The End
Write a Comment
User Comments (0)
About PowerShow.com