15-744: Computer Networking Multicast Routing Example Applications Overview
Total Page:16
File Type:pdf, Size:1020Kb
Multicast Routing • Unicast: 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 • Multicast Routing 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 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 • 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 .