Multicast Routing
•ꢀ Unicast: one source to one destination •ꢀ Multicast: one source to many destinations •ꢀ Two main functions:
•ꢀ Efficient data distribution •ꢀ Logical naming of a group
15-744: Computer Networking
L-20 Multicast
2
- Example Applications
- Overview
•ꢀ IP Multicast Service Basics
•ꢀ Broadcast audio/video •ꢀ Push-based systems •ꢀ Software distribution •ꢀ Web-cache updates
•ꢀ Multicast Routing Basics •ꢀ Overlay Multicast •ꢀ Reliability
•ꢀ Teleconferencing (audio, video, shared whiteboard, text editor)
•ꢀ Multi-player games •ꢀ Server/service location •ꢀ Other distributed applications
•ꢀ Congestion Control
- 3
- 4
1
- IP Multicast Architecture
- Multicast – Efficient Data Distribution
- Src
- Src
Service model
Hosts
Host-to-router protocol
(IGMP)
Routers
Multicast routing protocols
(various)
- 5
- 6
- Multicast Router Responsibilities
- IP Multicast Service Model (rfc1112)
•ꢀ Each group identified by a single IP address •ꢀ Groups may be of any size •ꢀ Members of groups may be located anywhere in
•ꢀ Learn of the existence of multicast groups
(through advertisement)
•ꢀ Identify links with group members
the Internet
•ꢀ Establish state to route packets
•ꢀ Replicate packets on appropriate interfaces •ꢀ Routing entry:
•ꢀ Members of groups can join and leave at will •ꢀ Senders need not be members •ꢀ Group membership not known explicitly •ꢀ Analogy:
- Src, incoming interface
- List of outgoing interfaces
•ꢀ Each multicast address is like a radio frequency, on which anyone can transmit, and to which anyone can tune-in.
- 7
- 8
2
- IP Multicast Addresses
- Multicast Scope Control – Small TTLs
- •ꢀ Class D IP addresses
- •ꢀ TTL expanding-ring search to reach or find
a nearby subset of a group
•ꢀ 224.0.0.0 – 239.255.255.255
- 1 1 1 0
- Group ID
s
•ꢀ How to allocated these addresses?
1
•ꢀ Well-known multicast addresses, assigned by IANA
2
•ꢀ Transient multicast addresses, assigned and reclaimed dynamically, e.g., by “sdr” program
3
- 9
- 11
- Multicast Scope Control – Large TTLs
- Overview
•ꢀ Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy or resource reasons
•ꢀ IP Multicast Service Basics
•ꢀ Multicast Routing Basics
•ꢀ Overlay Multicast •ꢀ Reliability
The rest of the Internet
TTL threshold set on interfaces to these links, greater than the diameter of the admin. domain
•ꢀ Congestion Control
An administrative domain
- 12
- 13
3
- IP Multicast Architecture
- Multicast Routing
•ꢀ Basic objective – build distribution tree for
Service model
multicast packets
Hosts
•ꢀ Multicast service model makes it hard
•ꢀ Anonymity
Host-to-router protocol
(IGMP)
Routers
•ꢀ Dynamic join/leave
Multicast routing protocols
(various)
- 14
- 15
- Shared vs. Source-based Trees
- Source-based Trees
•ꢀ Source-based trees
Router
S
R
Source
•ꢀ Separate shortest path tree for each sender
Receiver
•ꢀ DVMRP, MOSPF, PIM-DM, PIM-SM
R
R
•ꢀ Shared trees
•ꢀ Single tree shared by all members •ꢀ Data flows on same tree regardless of sender •ꢀ CBT, PIM-SM
R
S
S
R
- 16
- 17
4
- Shared Tree
- Shared vs. Source-Based Trees
•ꢀ Source-based trees
Router
•ꢀ Shortest path trees – low delay, better load distribution •ꢀ More state at routers (per-source state) •ꢀ Efficient for in dense-area multicast
S
R
Source Receiver
R
R
•ꢀ Shared trees
•ꢀ Higher delay (bounded by factor of 2), traffic concentration
RP
R
S
•ꢀ Choice of core affects efficiency •ꢀ Per-group state at routers
S
•ꢀ Efficient for sparse-area multicast
R
•ꢀ Which is better? ꢀ extra state in routers is bad!
- 18
- 19
- Routing Techniques
- Routing Techniques
•ꢀ Flood and prune
•ꢀ Core based protocols
•ꢀ Begin by flooding traffic to entire network •ꢀ Prune branches with no receivers •ꢀ Examples: DVMRP, PIM-DM
•ꢀ Specify “meeting place” aka core •ꢀ Sources send initial packets to core •ꢀ Receivers join group at core
•ꢀ Unwanted state where there are no receivers
- •ꢀ Requires mapping between multicast group
- •ꢀ Link-state multicast protocols
address and “meeting place”
•ꢀ Routers advertise groups for which they have receivers to entire network
•ꢀ Compute trees on demand
•ꢀ Examples: CBT, PIM-SM
•ꢀ Example: MOSPF
•ꢀ Unwanted state where there are no senders
- 20
- 21
5
- Distance-Vector Multicast Routing
- Example Topology
•ꢀ DVMRP consists of two major components:
- G
- G
•ꢀ A conventional distance-vector routing protocol
(like RIP)
•ꢀ A protocol for determining how to forward multicast packets, based on the routing table
•ꢀ DVMRP router forwards a packet if
S
•ꢀ 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
G
- 22
- 23
- Broadcast with Truncation
- Prune
- G
- G
- G
- G
Prune (s,g)
Prune (s,g)
- S
- S
- G
- G
- 24
- 25
6
Graft
Steady State
- G
- G
- G
- G
- G
- G
Report (g)
Graft (s,g)
Graft (s,g)
- S
- S
G
G
26
27
- Overview
- Supporting Multicast on the Internet
•ꢀ IP Multicast Service Basics •ꢀ Multicast Routing Basics
•ꢀ Overlay Multicast
Application
?
At which layer should multicast be implemented?
?
IP
•ꢀ Reliability
Network
•ꢀ Congestion Control
Internet architecture
- 28
- 29
7
- IP Multicast
- End System Multicast
MIT1
MIT
MIT
Berkeley
UCSD
Berkeley
UCSD
MIT2 CMU1
CMU
routers end systems multicast flow
CMU
CMU2
Berkeley
MIT1
Overlay Tree
MIT2
UCSD
•ꢀ Highly efficient
CMU1
CMU2
•ꢀ Good delay
- 30
- 31
Potential Benefits Over IP Multicast
Concerns with End System Multicast
•ꢀ Self-organize recipients into multicast delivery
•ꢀ Quick deployment
overlay tree
•ꢀ All multicast state in end systems
•ꢀ Must be closely matched to real network topology to be efficient
•ꢀ Performance concerns compared to IP Multicast
•ꢀ Increase in delay
•ꢀ Computation at forwarding points simplifies support for higher level functionality
MIT1
MIT
•ꢀ Bandwidth waste (packet duplication)
Berkeley
- MIT1
- MIT1
Berkeley
Berkeley
MIT2
UCSD
UCSD
MIT2
MIT2
UCSD
CMU1
CMU1
CMU1
CMU
- End System Multicast
- IP Multicast
CMU2
CMU2
CMU2
- 32
- 33
8
- Overview
- Implosion
•ꢀ IP Multicast Service Basics
- Packet 1 is lost
- All 4 receivers request a resend
Resend request
- S
- S
•ꢀ Multicast Routing Basics •ꢀ Overlay Multicast
•ꢀ Reliability
1 2
- R1
- R1
- R2
- R2
•ꢀ Congestion Control
- R3
- R4
- R3
- R4
- 34
- 35
- Retransmission
- Exposure
Packet 1 does not reach R1; Receiver 1 requests a resend
Packet 1 resent to all 4 receivers
•ꢀ Re-transmitter
Resend request
•ꢀ Options: sender, other receivers
Resent packet
- S
- S
•ꢀ How to retransmit
- 1 2
- 1
•ꢀ Unicast, multicast, scoped multicast, retransmission group, …
1
- R1
- R1
•ꢀ Problem: Exposure
- R2
- R2
- R3
- R4
- R3
- R4
- 36
- 37
9
Scalable Reliable Multicast (SRM)
Ideal Recovery Model
Packet 1 reaches R1 but is lost before reaching other Receivers
Only one receiver sends NACK to the nearest S or R with packet
•ꢀ Originally designed for wb
Resend request Resent packet
Repair sent only to
•ꢀ Receiver-reliable
- S
- S
those that need packet
- 1 2
- 1
•ꢀ NACK-based
•ꢀ Every member may multicast NACK or
- R1
- R1
retransmission
1
- R2
- R2
- R3
- R4
- R3
- R4
- 38
- 39
SRM Request Suppression
Deterministic Suppression
- Packet 1 is lost; R1 requests
- Packet 1 is resent; R2 and R3 no
- longer have to request a resend
- resend to Source and Receivers
3d
Time
Resend request
Resent packet
- S
- S
ddata
2d
- 1 2
- 1
X
dd
- R1
- R1
dd
- repair
- nack
= Sender
3d
- R2
- R2
= Repairer = Requestor
X
4d d
Delay = C1ꢀdS,R
Delay varies
by distance
- R3
- R3
X
- 40
- 41
10
SRM Star Topology
Packet 1 is lost; All Receivers request resends
SRM: Stochastic Suppression
Packet 1 is resent to all Receivers
0
Time
Resend request
Resent packet
- S
- S
ddata
- 1 2
- 1
1d
X
repair
session msg d
d
2
NACK
3
2d
- R2
- R3
- R4
- R2
- R3
- R4
= Sender
Delay = U[0,D2] ꢀdS,R
= Repairer = Requestor
Delay is same length
- 42
- 43
- SRM (Summary)
- Overview
•ꢀ IP Multicast Service Basics •ꢀ Multicast Routing Basics •ꢀ Overlay Multicast
•ꢀ NACK/Retransmission suppression
•ꢀ Delay before sending •ꢀ Delay based on RTT estimation •ꢀ Deterministic + Stochastic components
•ꢀ Periodic session messages
•ꢀ Full reliability
•ꢀ Reliability
•ꢀ Estimation of distance matrix among members
•ꢀ Congestion Control
- 44
- 45
11
- Multicast Congestion Control
- Video Adaptation: RLM
•ꢀ What if receivers have very
•ꢀ Receiver-driven Layered Multicast •ꢀ Layered video encoding
100Mb/s
different bandwidths?
•ꢀ Each layer uses its own mcast group •ꢀ On spare capacity, receivers add a layer •ꢀ On congestion, receivers drop a layer •ꢀ Join experiments used for shared learning
100Mb/s
R
S
•ꢀ Send at max?
R
1Mb/s
???Mb/s
•ꢀ Send at min?
1Mb/s
R
•ꢀ Send at avg?
R
56Kb/s
- 46
- 47
Layered Media Streams
Drop Policies for Layered Multicast
•ꢀ Priority
R1 joins layer 1, joins layer 2 joins layer 3
•ꢀ Packets for low bandwidth layers are kept, drop queued packets for higher layers
R2
10Mbps
R1
•ꢀ Requires router support
10Mbps
•ꢀ Uniform (e.g., drop tail, RED)
R2 join layer 1, join layer 2 fails at layer 3
512Kbps
S
R
•ꢀ Packets arriving at congested router are dropped regardless of their layer
R
10Mbps
128Kbps
•ꢀ Which is better?
R3
R3 joins layer 1, fails at layer 2
- 48
- 49
12
- RLM Intuition
- 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
- 50
- 51
- RLM Join Experiment
- Join Experiments
•ꢀ Receivers periodically try subscribing to higher layer
Layer
4
•ꢀ If enough capacity, no congestion, no drops
ꢀ Keep layer (& try next layer)
32
•ꢀ If not enough capacity, congestion, drops
ꢀ Drop layer (& increase time to next retry)
•ꢀ What about impact on other receivers?
1
Time
- 52
- 53
13
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
54
14