15-744: Computer Networking L-17 Multicast Reliability and Congestion Control.

45
15-744: Computer Networking L-17 Multicast Reliability and Congestion Control

Transcript of 15-744: Computer Networking L-17 Multicast Reliability and Congestion Control.

15-744: Computer Networking

L-17 Multicast Reliability and Congestion Control

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 42

Join Experiments

1

2

3

4

Time

Layer

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!!

L -15; 3-7-01© Srinivasan Seshan, 2001 48

Next Lecture: QOS & IntServ

• QOS• IntServ Architecture• Assigned reading

• [She95] Fundamental Design Issues for the Future Internet

• [CSZ92] Supporting Real-Time Applications in an Integrated Services Packet Network: Architecture and Mechanisms