• : one source to one destination • Multicast: one source to many destinations 15-744: Computer Networking • Two main functions: • Efficient data distribution • Logical naming of a group

L-20 Multicast

2

Example Applications Overview • Broadcast audio/video • IP Multicast Service Basics • Push-based systems • Software distribution • Basics • Web-cache updates • Teleconferencing (audio, video, shared • Overlay Multicast whiteboard, text editor) • Multi-player games • Reliability • 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) • Learn of the existence of multicast groups • Each group identified by a single IP address (through advertisement) • Groups may be of any size • Identify links with group members • Members of groups may be located anywhere in the Internet • Establish state to route packets • Members of groups can join and leave at will • Replicate packets on appropriate interfaces • Senders need not be members • Routing entry: • Group membership not known explicitly • Analogy: Src, incoming interface List of outgoing interfaces • Each 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 • 224.0.0.0 – 239.255.255.255 a nearby subset of a group 1 1 1 0 Group ID

• How to allocated these addresses? s • Well-known multicast addresses, assigned by 1 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 • IP Multicast Service Basics traffic within an administrative domain, e.g., for privacy or resource reasons • Multicast Routing Basics

The rest of the Internet • Overlay Multicast

• Reliability TTL threshold set on interfaces to these links, greater than the diameter An administrative domain of the admin. domain • Congestion Control

12 13

3 IP Multicast Architecture Multicast Routing • Basic objective – build distribution tree for Service model Hosts multicast packets • Multicast service model makes it hard Host-to-router protocol (IGMP) • Anonymity Routers • Dynamic join/leave

Multicast routing protocols (various)

14 15

Shared vs. Source-based Trees Source-based Trees

• Source-based trees Router • Separate shortest path tree for each sender S Source • DVMRP, MOSPF, PIM-DM, PIM-SM R Receiver R • Shared trees R • Single tree shared by all members R • Data flows on same tree regardless of sender S

• CBT, PIM-SM S

R

16 17

4 Shared Tree Shared vs. Source-Based Trees

• Source-based trees Router • Shortest path trees – low delay, better load distribution S Source  R Receiver • More state at routers (per-source state) R • Efficient for in dense-area multicast R • Shared trees • Higher delay (bounded by factor of 2), traffic RP R concentration S • Choice of core affects efficiency S • Per-group state at routers • 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 • Specify “meeting place” aka core • Prune branches with no receivers • Sources send initial packets to core • Examples: DVMRP, PIM-DM  • Unwanted state where there are no receivers • Receivers join group at core • Link-state multicast protocols • Requires mapping between multicast group • Routers advertise groups for which they have receivers address and “meeting place” to entire network • Examples: CBT, PIM-SM • Compute trees on demand • 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 • The packet arrived from the link used to reach S 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)

S S Prune (s,g)

G G

24 25

6 Graft Steady State

G G G G G G Report (g)

Graft (s,g)

S Graft (s,g) S

G G

26 27

Overview Supporting Multicast on the Internet

• IP Multicast Service Basics

• Multicast Routing Basics Application ? At which layer should multicast be • Overlay Multicast ? IP implemented? • Reliability Network • Congestion Control Internet architecture

28 29

7 IP Multicast End System Multicast

MIT MIT1 Berkeley MIT Berkeley UCSD MIT2 UCSD

CMU1 CMU routers CMU end systems multicast flow CMU2 Berkeley MIT1 Overlay Tree MIT2 • Highly efficient UCSD • Good delay CMU1 CMU2

30 31

Potential Benefits Over IP Multicast Concerns with End System Multicast • Quick deployment • Self-organize recipients into multicast delivery overlay tree • All multicast state in end systems • Must be closely matched to real network topology to be • Computation at forwarding points simplifies efficient • Performance concerns compared to IP Multicast support for higher level functionality • Increase in delay MIT1 MIT • Bandwidth waste (packet duplication) Berkeley Berkeley MIT1 Berkeley MIT1 MIT2 UCSD UCSD MIT2 UCSD MIT2 CMU1 CMU1 CMU1

CMU IP Multicast End System Multicast CMU2 CMU2

CMU2 32 33

8 Overview Implosion

• IP Multicast Service Basics Packet 1 is lost All 4 receivers request a resend

S Resend request S • Multicast Routing Basics 1 2

• Overlay Multicast R1 R1

• Reliability R2 R2

• Congestion Control R3 R4 R3 R4

34 35

Retransmission Exposure

Packet 1 does not reach R1; Packet 1 resent to all 4 receivers • Re-transmitter Receiver 1 requests a resend

• Options: sender, other receivers Resend request  S Resent packet S • How to retransmit 1 2 1 • Unicast, multicast, scoped multicast, 1 retransmission group, … R1 R1 • Problem: Exposure R2 R2

R3 R4 R3 R4

36 37

9 Ideal Recovery Model Scalable Reliable Multicast (SRM) Packet 1 reaches R1 but is lost Only one receiver sends NACK to before reaching other Receivers the nearest S or R with packet • Originally designed for wb S Resend request S Repair sent • Receiver-reliable Resent packet only to 1 2 1 those that • NACK-based need packet • 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 resend to Source and Receivers longer have to request a resend 3d Time Resend request S Resent packet S d data 2d X1 2 1 d d R1 R1

d nack repair = Sender 3d

R2 R2 = Repairer X d 4d = Requestor d

Delay varies Delay = C1dS,R R3 R3 by distance X 40 41

10 SRM Star Topology SRM: Stochastic Suppression Packet 1 is lost; All Receivers Packet 1 is resent to all Receivers request resends 0 Time Resend request S Resent packet S d data 1 2 1 1 X d session msg repair

d 2 NACK d 3 2d R2 R3 R4 R2 R3 R4 = Sender Delay = U[0,D ] d 2 S,R = Repairer

Delay is same length = Requestor

42 43

SRM (Summary) Overview • NACK/Retransmission suppression • IP Multicast Service Basics • Delay before sending • Delay based on RTT estimation • Multicast Routing Basics • Deterministic + Stochastic components • Periodic session messages • Overlay Multicast • Full reliability • Estimation of distance matrix among members • Reliability

• Congestion Control

44 45

11 Multicast Congestion Control Video Adaptation: RLM • What if receivers • Receiver-driven Layered Multicast have very • Layered video encoding different 100Mb/s • Each layer uses its own mcast group bandwidths? 100Mb/s R S • On spare capacity, receivers add a layer • Send at max? R 1Mb/s • On congestion, receivers drop a layer • Send at min? ???Mb/s 1Mb/s R • Join experiments used for shared learning • Send at avg?

56Kb/s R

46 47

Layered Media Streams Drop Policies for Layered Multicast • Priority R1 joins layer 1, • Packets for low bandwidth layers are kept, drop R2 joins layer 2 queued packets for higher layers R1 joins layer 3 10Mbps • Requires router support 10Mbps R2 join layer 1, • Uniform (e.g., drop tail, RED) S R 512Kbps join layer 2 10Mbps R • Packets arriving at congested router are fails at layer 3 dropped regardless of their layer 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 • If enough capacity, no congestion, no drops 4  Keep layer (& try next layer) • If not enough capacity, congestion, drops 3  Drop layer (& increase time to next retry) 2 • 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