![Page 1: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/1.jpg)
15-446 Distributed Systems
Spring 2009
L-20 Multicast
![Page 2: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/2.jpg)
2
Multicast Routing
Unicast: one source to one destinationMulticast: one source to many destinationsTwo main functions:
Efficient data distribution Logical naming of a group
![Page 3: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/3.jpg)
3
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPReliabilityCongestion ControlOverlay MulticastPublish-Subscribe
![Page 4: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/4.jpg)
4
Multicast – Efficient Data Distribution
Src Src
![Page 5: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/5.jpg)
5
Multicast Router Responsibilities
Learn of the existence of multicast groups (through advertisement)
Identify links with group membersEstablish state to route packets
Replicate packets on appropriate interfaces Routing entry:
Src, incoming interface List of outgoing interfaces
![Page 6: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/6.jpg)
6
Logical Naming
Single name/address maps to logically related set of destinations Destination set = multicast group
How to scale? Single name/address independent of group growth or
changes
![Page 7: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/7.jpg)
7
Multicast Groups
Members are the intended receiversSenders may or may not be membersHosts may belong to many groupsHosts may send to many groupsSupport dynamic creation of groups,
dynamic membership, dynamic sources
![Page 8: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/8.jpg)
8
Scope
Groups can have different scope LAN (local scope) Campus/admin scoping TTL scoping
Concept of scope important to multipoint protocols and applications
![Page 9: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/9.jpg)
9
Example Applications
Broadcast audio/videoPush-based systemsSoftware distributionWeb-cache updates Teleconferencing (audio, video, shared
whiteboard, text editor)Multi-player gamesServer/service locationOther distributed applications
![Page 10: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/10.jpg)
10
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPReliabilityCongestion ControlOverlay MulticastPublish-Subscribe
![Page 11: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/11.jpg)
11
IP Multicast Architecture
Hosts
Routers
Service model
Host-to-router protocol(IGMP)
Multicast routing protocols(various)
![Page 12: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/12.jpg)
12
IP Multicast Service Model (rfc1112)
Each group identified by a single IP addressGroups may be of any sizeMembers of groups may be located
anywhere in the InternetMembers of groups can join and leave at willSenders need not be membersGroup membership not known explicitly Analogy:
Each multicast address is like a radio frequency, on which anyone can transmit, and to which anyone can tune-in.
![Page 13: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/13.jpg)
13
IP Multicast Addresses
Class D IP addresses 224.0.0.0 – 239.255.255.255
How to allocated these addresses? Well-known multicast addresses, assigned by IANA Transient multicast addresses, assigned and reclaimed
dynamically, e.g., by “sdr” program
1 1 1 0 Group ID
![Page 14: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/14.jpg)
14
IP Multicast Service
Sending – same as beforeReceiving – two new operations
Join-IP-Multicast-Group(group-address, interface) Leave-IP-Multicast-Group(group-address, interface) Receive multicast packets for joined groups via normal
IP-Receive operation
![Page 15: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/15.jpg)
15
Multicast Scope Control – Small TTLs
TTL expanding-ring search to reach or find a nearby subset of a group
s
1
2
3
![Page 16: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/16.jpg)
16
Multicast Scope Control – Large TTLs
Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy or resource reasons
An administrative domain
TTL threshold set oninterfaces to these links,greater than the diameterof the admin. domain
The rest of the Internet
![Page 17: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/17.jpg)
17
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPReliabilityCongestion ControlOverlay MulticastPublish-Subscribe
![Page 18: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/18.jpg)
18
IP Multicast Architecture
Hosts
Routers
Service model
Host-to-router protocol(IGMP)
Multicast routing protocols(various)
![Page 19: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/19.jpg)
19
Multicast Routing
Basic objective – build distribution tree for multicast packets
Multicast service model makes it hard Anonymity Dynamic join/leave
![Page 20: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/20.jpg)
20
Routing Techniques
Flood and prune Begin by flooding traffic to entire network Prune branches with no receivers Examples: DVMRP, PIM-DM Unwanted state where there are no receivers
Link-state multicast protocols Routers advertise groups for which they have
receivers to entire network Compute trees on demand Example: MOSPF Unwanted state where there are no senders
![Page 21: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/21.jpg)
21
Routing Techniques
Core based protocols Specify “meeting place” aka core Sources send initial packets to core Receivers join group at core Requires mapping between multicast group address
and “meeting place” Examples: CBT, PIM-SM
![Page 22: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/22.jpg)
22
Shared vs. Source-based Trees
Source-based trees Separate shortest path tree for each sender DVMRP, MOSPF, PIM-DM, PIM-SM
Shared trees Single tree shared by all members Data flows on same tree regardless of sender CBT, PIM-SM
![Page 23: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/23.jpg)
23
Source-based Trees
Router
Source
Receiver
S
R
R
R
R
R
S
S
![Page 24: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/24.jpg)
24
A Shared Tree
RP
Router
Source
Receiver
S
S
S
R
R
R
R
R
![Page 25: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/25.jpg)
25
Shared vs. Source-Based Trees
Source-based trees Shortest path trees – low delay, better load
distribution More state at routers (per-source state) Efficient for in dense-area multicast
Shared trees Higher delay (bounded by factor of 2), traffic
concentration Choice of core affects efficiency Per-group state at routers Efficient for sparse-area multicast
Which is better? extra state in routers is bad!
![Page 26: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/26.jpg)
26
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPReliabilityCongestion ControlOverlay MulticastPublish-Subscribe
![Page 27: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/27.jpg)
27
Distance-Vector Multicast Routing
DVMRP consists of two major components: A conventional distance-vector routing protocol (like
RIP) A protocol for determining how to forward multicast
packets, based on the routing tableDVMRP router forwards a packet if
The packet arrived from the link used to reach the source of the packet (reverse path forwarding check – RPF)
If downstream links have not pruned the tree
![Page 28: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/28.jpg)
28
Example Topology
G G
S
G
![Page 29: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/29.jpg)
29
Broadcast with Truncation
G G
S
G
![Page 30: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/30.jpg)
30
Prune
G G
S
Prune (s,g)
Prune (s,g)
G
![Page 31: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/31.jpg)
31
Graft (s,g)
Graft (s,g)
Graft
G G
S
G
G
Report (g)
![Page 32: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/32.jpg)
32
Steady State
G G
S
G
G
![Page 33: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/33.jpg)
33
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPReliabilityCongestion ControlOverlay MulticastPublish-Subscribe
![Page 34: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/34.jpg)
34
R1
Implosion
S
R3 R4
R2
21
R1
S
R3 R4
R2
Packet 1 is lost All 4 receivers request a resend
Resend request
![Page 35: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/35.jpg)
35
Retransmission
Re-transmitter Options: sender, other receivers
How to retransmit Unicast, multicast, scoped multicast, retransmission
group, …Problem: Exposure
![Page 36: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/36.jpg)
36
R1
Exposure
S
R3 R4
R2
21
R1
S
R3 R4
R2
Packet 1 does not reach R1;Receiver 1 requests a resend
Packet 1 resent to all 4 receivers
1
1
Resend request Resent packet
![Page 37: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/37.jpg)
37
Ideal Recovery Model
S
R3 R4
R2
2
1
S
R3 R4
R2
Packet 1 reaches R1 but is lost before reaching other Receivers
Only one receiver sends NACK to the nearest S or R with packet
Resend request
1 1Resent packet
Repair sent only to those that need packet
R1 R1
![Page 38: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/38.jpg)
38
SRM
Originally designed for wbReceiver-reliable
NACK-basedEvery member may multicast NACK or
retransmission
![Page 39: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/39.jpg)
39
R1
SRM Request Suppression
S
R3
R2
21
R1
S
R3
R2
Packet 1 is lost; R1 requests resend to Source and Receivers
Packet 1 is resent; R2 and R3 no longer have to request a resend
1
X
XDelay varies by distance
X
Resend request Resent packet
![Page 40: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/40.jpg)
40
Deterministic Suppression
d
d
d
d
3d
Time
data
nack repair
d
4d
d
2d
3d
= Sender
= Repairer
= Requestor
Delay = C1dS,R
![Page 41: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/41.jpg)
41
SRM Star Topology
S
R2
21
R3
Packet 1 is lost; All Receivers request resends
Packet 1 is resent to all Receivers
X
R4
Delay is same length
S
R2
1
R3 R4
Resend request Resent packet
![Page 42: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/42.jpg)
42
SRM: Stochastic Suppression
datad
d
d
d
Time
NACK
repair
2d
session msg
0
1
2
3
Delay = U[0,D2] dS,R
= Sender
= Repairer
= Requestor
![Page 43: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/43.jpg)
43
SRM (Summary)
NACK/Retransmission suppression Delay before sending Delay based on RTT estimation Deterministic + Stochastic components
Periodic session messages Full reliability Estimation of distance matrix among members
![Page 44: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/44.jpg)
44
What’s Missing?Losses at link (A,C)
causes retransmission to the whole group
Only retransmit to those members who lost the packet
[Only request from the nearest responder]
Sender Receiver
A B
E F
S
C D
0.99
0 0
0 0 0
![Page 45: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/45.jpg)
45
Local Recovery
Different techniques in various systemsApplication-level hierarchy
Fixed v.s. dynamicTTL scoped multicastRouter supported
![Page 46: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/46.jpg)
46
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPReliabilityCongestion ControlOverlay MulticastPublish-Subscribe
![Page 47: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/47.jpg)
47
Multicast Congestion Control
What if receivers have very different bandwidths?
Send at max?Send at min?Send at avg?
R
R
R
S
???Mb/s
100Mb/s
100Mb/s
1Mb/s
1Mb/s
56Kb/s
R
![Page 48: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/48.jpg)
48
Video Adaptation: RLM
Receiver-driven Layered MulticastLayered video encodingEach layer uses its own mcast groupOn spare capacity, receivers add a layerOn congestion, receivers drop a layerJoin experiments used for shared learning
![Page 49: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/49.jpg)
49
Layered Media Streams
S R
R1R2
R3
R10Mbps
10Mbps
512Kbps
128Kbps
10Mbps
R3 joins layer 1, fails at layer 2
R2 join layer 1,join layer 2 fails at layer 3
R1 joins layer 1,joins layer 2 joins layer 3
![Page 50: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/50.jpg)
50
Drop Policies for Layered Multicast
Priority Packets for low bandwidth layers are kept, drop
queued packets for higher layers Requires router support
Uniform (e.g., drop tail, RED) Packets arriving at congested router are dropped
regardless of their layerWhich is better?
Intuition vs. reality!
![Page 51: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/51.jpg)
51
RLM Intuition
![Page 52: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/52.jpg)
52
RLM Intuition
Uniform Better incentives to well-behaved users If oversend, performance rapidly degrades Clearer congestion signal Allows shared learning
Priority Can waste upstream resources Hard to deploy
RLM approaches optimal operating point Uniform is already deployed Assume no special router support
![Page 53: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/53.jpg)
53
RLM Join Experiment
Receivers periodically try subscribing to higher layer
If enough capacity, no congestion, no drops Keep layer (& try next layer)
If not enough capacity, congestion, drops Drop layer (& increase time to next retry)
What about impact on other receivers?
![Page 54: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/54.jpg)
54
Join Experiments
1
2
3
4
Time
Layer
![Page 55: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/55.jpg)
55
RLM Scalability?
What happens with more receivers?Increased frequency of experiments?
More likely to conflict (false signals) Network spends more time congested
Reduce # of experiments per host? Takes longer to converge
Receivers coordinate to improve behavior
![Page 56: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/56.jpg)
56
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPReliabilityCongestion ControlOverlay MulticastPublish-Subscribe
![Page 57: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/57.jpg)
57
Supporting Multicast on the Internet
IP
Application
Internet architecture
Network
?
?
At which layer should multicast be implemented?
![Page 58: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/58.jpg)
58
IP Multicast
CMU
BerkeleyMIT
UCSD
routersend systemsmulticast flow
Highly efficientGood delay
![Page 59: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/59.jpg)
59
End System Multicast
MIT1
MIT2
CMU1
CMU2
UCSD
MIT1
MIT2
CMU2
Overlay Tree
Berkeley
CMU1
CMU
BerkeleyMIT
UCSD
![Page 60: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/60.jpg)
60
Quick deploymentAll multicast state in end systemsComputation at forwarding points
simplifies support for higher level functionality
Potential Benefits Over IP Multicast
MIT1
MIT2
CMU1
CMU2
CMU
BerkeleyMIT
UCSD
![Page 61: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/61.jpg)
61
Concerns with End System Multicast
Self-organize recipients into multicast delivery overlay tree Must be closely matched to real network
topology to be efficientPerformance concerns compared to IP
Multicast Increase in delay Bandwidth waste (packet duplication)
MIT2
Berkeley MIT1
UCSD
CMU2
CMU1
IP Multicast
MIT2
Berkeley MIT1
CMU1
CMU2
UCSD
End System Multicast
![Page 62: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/62.jpg)
62
Coordination: Cooperative group communication
Scribe: Tree-based group management Multicast, anycast primitivesScalable: large numbers of groups,
members, wide range of members/group, dynamic membership
[IEEE JSAC ’02]
![Page 63: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/63.jpg)
63
Cooperative group communication
n2
n1
n0g:n1,n2
g:n3,n4
g
nodes
Operations:create(g)join(g)leave(g)multicast(g,m)anycast(g,m)
• groupId g mapped to n0• decentralized membership • robust, scalable
n3g
n4g
![Page 64: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/64.jpg)
64
Scribe
groupId
Join(groupId)
Proximity space
![Page 65: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/65.jpg)
65
Respecting forwarding capacity
The tree structure described may not respect maximum capacities
Scribe's push-down fails to resolve the problem because a leaf node in one tree may have children in another tree
![Page 66: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/66.jpg)
66
Parent location algorithm
Node adopts prospective childIf too many children, choose one to reject:
First, look for one in stripe without shared prefix Otherwise, select node with shortest prefix match
Orphan locates new parent in up to two steps: Tries former siblings with stripe prefix match
Adopts or rejects using same criteria; continue push-down
Use the spare capacity group
![Page 67: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/67.jpg)
67
The spare capacity group
If orphan hasn't found parent yet, anycasts to spare capacity group
Group contains all nodes with fewer children than their forwarding capacity
Anycast returns nearby node, which starts a DFS of the spare capacity group tree, sending first to a child...
![Page 68: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/68.jpg)
68
Spare capacity group (cont.)
At each node in the search: If node has no children left to search, check whether it
receives a stripe the orphan seeks If so, verifies that the orphan is not an ancestor (which
would create a cycle)If both tests succeed, the node adopts the
orphan May leave spare capacity group
If either test fails, back up to parent (more DFS...)
![Page 69: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/69.jpg)
69
A spare capacity example
![Page 70: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/70.jpg)
70
Problems
Imposing bandwidth constraints on Scribe can
result in: High tree depth non-DHT links
Observed Cause: mismatch between id space and node bandwidth constraints
![Page 71: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/71.jpg)
71
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPReliabilityCongestion ControlOverlay MulticastPublish-Subscribe
![Page 72: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/72.jpg)
72
Publish-Subscribe
P/S service is also known as event servicePublishers role : Publishers generate event
data and publishes themSubscribers role : Subscribers submit their
subscriptions and process the events received
P/S service: It’s the mediator/broker that routes events from publishers to interested subscribers
![Page 73: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/73.jpg)
73
Publish/Subscribe
Publish/Subscribe Service
Want champions
league football news
Want weather news for
Lancaster
REAL MADRID 4-2 MARSEILLE
Publication
Weather Lancaster : sunny intervals
min 11°C max 20°C
PublisherWant Traffic update for
junction A6
Subscriber
Subscription
Subscribe
Publish
![Page 74: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/74.jpg)
74
Key attributes of P/S communication model
The publishing entities and subscribing entities are anonymous
The publishing entities and subscribing entities are highly de-coupled
Asynchronous communication modelThe number of publishing and subscribing
entities can dynamically change without affecting the entire system
![Page 75: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/75.jpg)
75
Key functions implemented by P/Sservice
Event filtering (event selection)- The process which selects the set of subscribers that have shown interest in a given event
Event routing (event delivery) – The process of routing the published events from the publisher to all interested subscribers
![Page 76: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/76.jpg)
76
Subject based vs. Content based
Subject based: Generally also known as topic based, group based or
channel based event filtering. Here each event is published to one of these channels
by its publisher A subscriber subscribes to a particular channel and
will receive all events published to the subscribed channel.
Simple process for matching an event to subscriptions
![Page 77: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/77.jpg)
77
Subject based vs. Content based
Content based: More flexibility and power to subscribers, by allowing
to express as an arbitrary query over the contents of the event.
E.g. Notify me of all stock quotes of IBM from New York stock exchange if the price is greater than 150
Added complexity in matching an event to subscriptions
![Page 78: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/78.jpg)
78
Event routing
The basic P/S system consists of many event publishers, an event broker (or mediator) and many subscribers.
An event publisher generates an event in response to some change it monitors
The events are published to an event broker which matches events against all subscriptions forwarded by subscribers in the system.
Event broker system could have either a single event broker or multiple distributed event brokers coordinating among themselves
![Page 79: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/79.jpg)
79
Event routing
P
P
P
P
Event broker system
S1
S2
S3
C1
C2
C3
C1,C2,C3 are subscriptions of S1,S2,S3 respectively
P- Event publisher
S – Event subscriber
Single broker
Cluster of cooperating brokers
OR
![Page 80: L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient](https://reader034.vdocuments.net/reader034/viewer/2022042717/56649c935503460f9494eb69/html5/thumbnails/80.jpg)
80
Basic elements of P/S model
Event data model Structure Types
Subscription model Filter language Scope (subject, content, context)
General challenge Expressiveness vs. Scalability