L -15; 3-7-01© Srinivasan Seshan, 2001 2
Multicast Issues
• Reliable transfer• Congestion control• Assigned reading
• [F+97] A Reliable Multicast Framework for Ligh-Weight Sessions and Application Level Framing
• [MJV96] Receiver-driven Layered Multicast
L -15; 3-7-01© Srinivasan Seshan, 2001 3
Overview
• Reliability• Scalable Reliable Multicast• Reliable Multicast Transport Protocol• Lightweight Multicast Service
• Receiver-driven Layered Multicast• Other Issues
L -15; 3-7-01© Srinivasan Seshan, 2001 4
Loss Recovery
• Sender-reliable• Wait for ACKs from all receivers. Re-send on
timeout or selective ACK• Per receiver state in sender not scalable• ACK implosion
• Receiver-reliable• Receiver NACKs (resend request) lost packet• Does not provide 100% reliability• NACK implosion
L -15; 3-7-01© Srinivasan Seshan, 2001 5
R1
Implosion
S
R3 R4
R2
21
R1
S
R3 R4
R2
Packet 1 is lost All 4 receivers request a resend
Resend request
L -15; 3-7-01© Srinivasan Seshan, 2001 6
Retransmission
• Re-transmitter• Options: sender, other receivers
• How to retransmit• Unicast, multicast, scoped multicast,
retransmission group, …
• Problem: Exposure
L -15; 3-7-01© Srinivasan Seshan, 2001 7
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
L -15; 3-7-01© Srinivasan Seshan, 2001 8
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
L -15; 3-7-01© Srinivasan Seshan, 2001 9
R1
Aside: Using the Routers
S
R3 R4
R2
• Routers do transport level processing:
• Buffer packets• Combine ACKs• Send retransmissions
• Model solves implosion and exposure, but not scalable
• Violates end-to-end argument
NACK
RTX
Router
L -15; 3-7-01© Srinivasan Seshan, 2001 10
Overview
• Reliability• Scalable Reliable Multicast• Reliable Multicast Transport Protocol• Lightweight Multicast Service
• Receiver-driven Layered Multicast• Other Issues
L -15; 3-7-01© Srinivasan Seshan, 2001 11
SRM
• Originally designed for wb• Receiver-reliable
• NACK-based
• Every member may multicast NACK or retransmission
L -15; 3-7-01© Srinivasan Seshan, 2001 12
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
L -15; 3-7-01© Srinivasan Seshan, 2001 13
Deterministic Suppression
d
d
d
d
3d
Time
data
nack repair
d
4d
d
2d
3d
= Sender
= Repairer
= Requestor
Delay = C1dS,R
L -15; 3-7-01© Srinivasan Seshan, 2001 14
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
L -15; 3-7-01© Srinivasan Seshan, 2001 15
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
L -15; 3-7-01© Srinivasan Seshan, 2001 16
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
L -15; 3-7-01© Srinivasan Seshan, 2001 17
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
L -15; 3-7-01© Srinivasan Seshan, 2001 18
Local Recovery
• Application-level hierarchy• Fixed v.s. dynamic
• TTL scoped multicast• Router supported
L -15; 3-7-01© Srinivasan Seshan, 2001 19
Overview
• Reliability• Scalable Reliable Multicast• Reliable Multicast Transport Protocol• Lightweight Multicast Service
• Receiver-driven Layered Multicast• Other Issues
L -15; 3-7-01© Srinivasan Seshan, 2001 20
RMTP
• Reliable Multicast Transport Protocol by Purdue and AT&T Research Labs
• Designed for file dissemination (single-sender)
• Deployed in AT&T’s billing network
L -15; 3-7-01© Srinivasan Seshan, 2001 21
RMTP: Fixed Hierarchy• Rcvr unicasts periodic ACK to its Designated Receiver (DR)• DR unicasts its own ACK to its parent• Rcvr chooses closest statically configured (DR)• Mcast or unicast retransmission
• Based on percentage of requests• Scoped mcast for local recovery
D R2
R5
S
R3 R4
R1
R R R R
D
R R
D
D DR R Receiver R* Router
L -15; 3-7-01© Srinivasan Seshan, 2001 22
RMTP: Comments
: Heterogeneity • Lossy link or slow receiver will only affect a
local region : Position of DR critical
• Static hierarchy cannot adapt local recovery zone to loss points
L -15; 3-7-01© Srinivasan Seshan, 2001 26
Overview
• Reliability• Scalable Reliable Multicast• Reliable Multicast Transport Protocol• Lightweight Multicast Service
• Receiver-driven Layered Multicast• Other Issues
L -15; 3-7-01© Srinivasan Seshan, 2001 27
Light-weight Multicast Service (LMS)
• Enhance multicast routing with selective forwarding
• LMS extends router forwarding - what routers are meant to do in the first place
• No packet storing or processing at routers• Strictly IP: no peeking into higher layers
L -15; 3-7-01© Srinivasan Seshan, 2001 28
The LMS Concept
Heavy-weight model LMS: Receiver acts as surrogate
R
Control messages
R
• Router stores packets, receives NACKs and sends retransmissions
• Router chooses a receiver as a surrogate
• Router steers all control messages to surrogate
• Router relays messages from surrogate to the subtree
L -15; 3-7-01© Srinivasan Seshan, 2001 29
LMS: Definitions
• Replier• Receiver volunteered to
answer requests
• Turning point• Where requests start to
move downstream
• Directed mcast
• Mcast to a subtree
R1
S
R3 R6
R2
Replier link
R4 R5
Turning point
Replier
L -15; 3-7-01© Srinivasan Seshan, 2001 30
R1
LMS with Replier Links
S
R3 R6
R2
21
Packet 1 reaches only R1; R2 requests resend
Resend requests from each receiver follow replier links
1X
Resend request
Replier link
R4 R5
R1
S
R3 R6
R2
Resend request
Replier link
R4 R5
L -15; 3-7-01© Srinivasan Seshan, 2001 31
R1
LMS with Replier Links
S
R3 R6
R2
Request from replier links go up towards the Source
Packet 1 is resent to all Receivers
Resend request
Replier link
R4 R5
R1
S
R3 R6
R2
1
Resent packet
Replier link
R4 R5
L -15; 3-7-01© Srinivasan Seshan, 2001 32
LMS: Comments
• Replier problems• Selection? Fault tolerance?
• Works with unidirectional shared trees (PIM)• Needs to relay requests from core/RP to
sender
• Difficulties with bi-directional shared trees• Needs per-source state
L -15; 3-7-01© Srinivasan Seshan, 2001 33
Overview
• Reliability• Scalable Reliable Multicast• Reliable Multicast Transport Protocol• Lightweight Multicast Service
• Receiver-driven Layered Multicast• Other Issues
L -15; 3-7-01© Srinivasan Seshan, 2001 34
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
L -15; 3-7-01© Srinivasan Seshan, 2001 35
Video Adaptation: RLM
• Receiver-driven Layered Multicast• Layered video encoding• 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
L -15; 3-7-01© Srinivasan Seshan, 2001 36
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
L -15; 3-7-01© Srinivasan Seshan, 2001 37
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 layer
• Which is better?• Intuition vs. reality!
L -15; 3-7-01© Srinivasan Seshan, 2001 38
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
L -15; 3-7-01© Srinivasan Seshan, 2001 39
RLM Intuition
Uniform vs. Priority Dropping
0
10
20
30
40
50
60
70
Offered load
Per
form
ance
Uniform
Priority
L -15; 3-7-01© Srinivasan Seshan, 2001 40
Receiver-Driven Layered Multicast
• Each layer a separate group• Receiver subscribes to max group that will get
through with minimal drops
• Dynamically adapt to available capacity• Use packet losses as congestion signal
• Assume no special router support• Packets dropped independently of layer
L -15; 3-7-01© Srinivasan Seshan, 2001 41
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?
L -15; 3-7-01© Srinivasan Seshan, 2001 43
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
L -15; 3-7-01© Srinivasan Seshan, 2001 44
RLM Receiver Coordination
• Receiver advertises intent to add layer• Other receivers
• Avoid conflicting experiments• If experiment fails, will see increased drops =>
don’t try adding layer! (shared learning)• OK to try adding lower layer during higher layer
experiment• Won’t cause drops at higher layer!
L -15; 3-7-01© Srinivasan Seshan, 2001 45
Overview
• Reliability• Scalable Reliable Multicast• Reliable Multicast Transport Protocol• Lightweight Multicast Service
• Receiver-driven Layered Multicast• Other Issues
L -15; 3-7-01© Srinivasan Seshan, 2001 46
Inferring Topology
• What if packet is lost on link?• All children of link will not get packet
• Idea: use loss “fingerprints” to identify siblings• Siblings will have the most similar fingerprints
• Various techniques to build tree from collection of fingerprints
L -15; 3-7-01© Srinivasan Seshan, 2001 47
Session Messages
• SRM• Identify what node knows about global state
• Multimedia & other applications• Identify list of members• Communicate loss rates possibly for
congestion control or other feedback• What if it is a large group?
• Periodic transmissions can flood network!!