* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download No Slide Title
Survey
Document related concepts
Transcript
Group (Multicast) Communication in Wide Area Networks Mostafa Ammar Don Towsley College of Computing Georgia Tech Atlanta, GA [email protected] Dept. of Computer Science University of Massachusetts Amherst, MA [email protected] 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Definition Multicast: is the act of sending a message to multiple receivers using a single local “transmit” operation 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley A Spectrum of Paradigms Unicast Broadcast Multicast Send to one 9/14/97 Send to some SIGCOMM97 Tutorial, Copyright Ammar and Towsley Send to All The Layering of Multicast Multicast by Unicast 9/14/97 Multicast by Broadcast SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast by Multicast The Many Uses of Multicasting Teleconferencing Distributed Games Software/File Distribution Video Distribution Replicated Database Updates 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Application Models Point-to-Multipoint: Single Source, Multiple Receivers Multipoint-to-Multipoint: Multiple Sources, Multiple Receivers Sources are receivers Sources are not receivers 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Scope of Tutorial Support for multicast communication in – Transport – Network – Link Layer Also important: enforcing reception semantics across receivers (ordering, atomicity) -in distributed computing literature 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Support Challenges Overhead for network layer support Scalability Dealing with heterogeneity 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Outline IP Multicast and the Mbone Multicast Routing QoS and Real-Time support Reliable Multicast Transport Multicast Flow Control ATM and IP/ATM Multicast Summary 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley IP Multicast and the Mbone 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Server-Oriented Multicast source sets up one-to-many multicast group each source responsible for its own group examples: – ATM (explicit connection to each receiver) – ST-II (receivers listed in setup message) for connection-oriented services (packet header size!) discourages 9/14/97 dynamic groups SIGCOMM97 Tutorial, Copyright Ammar and Towsley Receiver-Oriented Multicast Deering, 1991 9/14/97 senders need not be members groups may be of any size no topological restrictions on membership membership dynamic and autonomous host groups may be transient or permanent SIGCOMM97 Tutorial, Copyright Ammar and Towsley IP Multicast host-group model network-level; same packet format, different address routers do all of the work special IP addresses: 224.0.0.0 - 239.255.255.255 28 bits => 268 million groups (plus scope) ttl value limits distribution 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Forwarding 1. check incoming interface: discard if not on shortest path to source 2. forward to all outgoing interfaces 3. don’t forward if interface has been pruned 4. prunes time out every minute 5. routers may send grafts upstream Routing done by DVMRP 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley IP Multicast (cont.) Basic idea is to flood and prune router packet S R R no receiver 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley IP Multicast (cont.) Prune branches where no members and branches not on shortest paths 2nd packet S R R prune 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley IP Multicast (cont.) Add new user via grafting; departure via pruning S R R graft R 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Mbone Mbone = multicast backbone virtual network overlaying Internet needed until mcast capable routers deployed IP in IP encapsulation limited capacity, resilience 9/14/97 MBONE tunnel endpoint IP router SIGCOMM97 Tutorial, Copyright Ammar and Towsley WS Mbone Protocols 9/14/97 IP UDP: best effort RTP: real-time transport RSVP: resource reservation protocol SDP/SAP: session description, announcement protocols conf. shared audio video control tools RSVP RTP, RTCP session directory SDP SAP HTTP SMTP TCP UDP IP physical layer SIGCOMM97 Tutorial, Copyright Ammar and Towsley Session Protocols session description protocol (SDP) – used to describe (not necessarily) mcast session » » » » name, purpose start time, duration media (type, transport protocol, format) how to receive media session announcement protocol (SAP) – mcast protocol for SDP – periodic transmission to known mcast address – frequency depends on other announcements and scope 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Session Directory used to allocate multicast addresses to sessions – birthday problem, N addresses support 1 / N sessions using random address allocation with negligible collision probability – random allocation currently used in popular session directory tools sd (LBL), sdr UCL) advertises multicast sessions – uses SDP 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Example: sdr Title: don-temp3.ps Creator: XV Version 3.00 Rev: 3/30/93 - by John Bradley CreationDate: Title: don-temp4.ps Creator: XV Version 3.00 Rev: 3/30/93 - by John Bradle CreationDate: 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Mbone Applications freeware vic, nv (video), vat, nevot (audio), wb (whiteboard) IVS (teleconferencing) commercial IP/TV - teleconferencing (Precept) Most group applications use IP unicast E.g., CuSeeMe builds own mcast tree 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley MBone Behavior Motivation: quantitative understanding of session dynamics, and loss behavior session dynamics: – sizes, durations of sessions – join/leave behavior loss behavior: – loss rates – spatial and temporal correlation 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Mbone Session Dynamics Goal: to characterize the dynamics of Mbone sessions -- Join/Leave Behavior capture data using Mlisten tool http://www.cc.gatech.edu/computing/Telecomm/mbone/ data pre-processed to account for – Mbone un-reliability, – abnormal usage 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Typical Sessions long-lived (Shuttle) short-lived (Seminars) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Session Stats Statistics for interarrival of rcvrs rcvr membership duration 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Tree Size multicast vs unicast tree cost sensitivity of multicast tree to source location Mbone vs Internet tree 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Audio/Video audio receivers vs video receivers 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Mbone Loss Behavior Goal: to characterize loss behavior on Mbone metrics – loss rates, spatial and temporal correlation methodology – rcvr processes on ~25 MBone hosts – rcvrs listen to WRN (& other sources) which sends audio at 80ms intervals; record mcast packet receptions – off-line analysis of trace data 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Measurements Machine Name alpa anhur, spiff artemis, atlas bagpipe, ocarina cedar collage, zip dixie edgar erlang, trantor excalibur float ganef law pax tove ursa, lupus willow 9/14/97 Location Georgia Tech Swedish Inst. Computer Sci. Inst. Blaise Pascal, Paris U. Kentucky U. Texas EIT, California UC Irvine U. Washington U. Massachusetts USC U. Virginia UCLA UC Berkeley INRIA, Sophia Antipolis U. Maryland GMD Fokus, Berlin U. Arizona Date Source 9/19/95 9/20/95 10/30/95 11/1/95 11/13/95 11/14/95 11/28/95 12/4/95 12/11/95 12/16/95 12/18/95 4/19/96 4/24/96 5/8/96 WRN UCB WRN WRN WRN WRN WRN WRN WRN WRN WRN RFV UCB RFV # rcvrs trace length (pkts) 8 17K 9 20K 10 57K 9 41K 9 40K 8 30K 7 20K 8 45K 9 70K 7 50K 7 69K 11 45K 12 93K 10 148K SIGCOMM97 Tutorial, Copyright Ammar and Towsley Where does MBone loss occur? 4/16/96 dataset across data sets: backbone loss small compared to overall loss no loss in endsystems 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Simultaneous Packet Loss Q: distribution of number of rcvr’s losing pkt? 4/19/96 dataset: 47% pkts lost somewhere similar results across datasets models of packet loss: – star: end-end loss independent – full topology: measured per link loss independent – modified star: source-tobackbone plus star 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Temporal Loss Correlation Q: do losses occur singly or in “bursts” 12/11/95 dataset, rcvr loss vs time – occasional long periods of 100% loss – spatial correlation 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Burst Loss Length Distribution sample distribution from “alps” – 12/1/95 dataset generally isolated losses with occasional longer bursts 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Temporal Loss Correlation Machine % Loss alps anhur cedar collage erlang float law pax tove 5.93 5.15 14.22 9.08 10.41 10.44 12.09 16.98 5.46 avg. burst len 1.21 1.065 1.333 1.155 1.921 1.129 1.698 1.557 1.097 median length 1 1 1 1 1 1 1 1 1 75 percntile 1 1 1 1 1 1 1 1 1 99 percntile 3 2 8 3 4 3 3 3 3 length of longest 179 4 14 175 2518 7 2518 2603 10 12/11/95 dataset(above) – similar results over other datasets 9/14/97 “most” loss bursts are 1 packets long but often significant loss in long bursts SIGCOMM97 Tutorial, Copyright Ammar and Towsley % loss in long bursts 4.3 0 0 2.75 34.6 0 29.8 21.9 0 MBone Measurements Summary identifiable backbone loss small wrt overall loss spatial loss correlation: limited temporal loss correlation: – most loss bursts have length one – significant loss occurs in long bursts 9/14/97 reference: ftp://gaia.cs.umass.edu/pub/Yajn96:loss.ps lessons for multicast protocols/applications? loss/delay correlation? sensitivity to period, probe size, 1-many, many-many SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Routing 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Theoretical Basis The Steiner Tree Problem is NP-Complete – Graph G = (V, E) – Positive Edge Weights W(e) – R a subset of V – B positive integer bound Is there a subtree of G that includes all R with cost no more than B? – Heuristic less than twice optimum 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Principles of Multicast Routing Addressing – List Addressing » Not Scalable – Group Addressing » Less Control 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Principles of Multicast Routing Reuse of unicast routing infrastructure – Desirable – Too Constraining Multicast routing overhead – Needs to be minimized 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Principles of Multicast Routing Evaluation – Bandwidth Usage – Delay -- Average, Maximum, Variance – Concentration – Router/Switch overhead 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Basic Multicast Routing Protocols Problem: Given a source and a set of destinations, Route same packet to at least (or exactly) this set of destinations A B C Source D E 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Basic Multicast Routing Protocols Multicast by Broadcast – Filter above network layer – Natural in Broadcast Networks (Satellite, Bridged LANs) – Use Flooding in PSN – Bandwidth inefficient, Security concerns 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Basic Multicast Routing Protocols Separately addressed packets A B C Source D to A to B to C 9/14/97 to D to E E SIGCOMM97 Tutorial, Copyright Ammar and Towsley Basic Multicast Routing Protocols Multidestination Addressing to (A,B) A to (A,B) B to (B) Source to (C,D,E) C to (C) to (A,B,C,D,E) E 9/14/97 to (D,C) D SIGCOMM97 Tutorial, Copyright Ammar and Towsley Basic Multicast Routing Protocols Spanning Tree Forwarding – Shared or Source-Based B A Source C D 9/14/97 E SIGCOMM97 Tutorial, Copyright Ammar and Towsley Basic Multicast Routing Protocols Reverse Path Forwarding – Dalal and Metcalfe – Basis for DVMRP (the original Mbone routing protocol) – Main advantage: Use of existing unicast routing infratsrutcure 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Reverse Path Forwarding A Broadcast Protocol Group addressing used Routers/Switches Forward based on source of multicast packet 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Reverse Path Forwarding Flood if packet arrives from Source on link that router would use to send packets to source Otherwise Discard Rule avoids flooding loops Uses Shortest Path Tree from destinations to source (reverse tree) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Reverse Path Forwarding Routing Table to use S S to Group y x w y Destinations z 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Reverse Path Forwarding B A Source C D E 9/14/97 Shortest Path Tree to Source SIGCOMM97 Tutorial, Copyright Ammar and Towsley Shared Tree VS Source-Based Tree RPF routes over source-based tree – Good delay properties – Per source and group overhead Spanning Tree Forwarding uses shared tree – Per group overhead – Higher delays – More Traffic Concentration 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Routing Performance Evaluation Simulation, Analysis and Experimentation Need – – – – 9/14/97 Network Models (Waxman, GT-ITM, Tiers) Application Models (Mlisten) Traffic Models Data Loss Models SIGCOMM97 Tutorial, Copyright Ammar and Towsley Internet Multicast Routing Group Addressing – Class D IP addresses Link Layer Multicast Two Protocol Functions – Group Management » IGMP – Route Establishment » DVMRP, MOSPF, CBT, PIM 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Link Layer Multicast Example Ethernet: – Ethernet multicast addresses – Algorithmic mapping between IP mcast address and Ethernet mcast address To join group: – Recognize IP mcast address – Interface recognizes link layer mcast address – Inform local router using IGMP 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Internet Group Management Protocol Used by end-system to declare membership in particular multicast group to nearest router(s) – Version 1: Timed-out Leave – Vesrion 2: Fast (Explicit Leave) – Version 3: Per-Source Join 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley IGMPv1 Joining Host send IGMP Report Leaving Host does nothing Router periodically polls hosts on subnet using IGMP Query Hosts respond to Query in a randomized fashion 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley IGMPv2 ADDS: – Group Specific Queries – Leave Group Message Host sends Leave Group message if it was the one to respond to most recent query Router receiving Leave Group msg queries group. 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley IGMPv3 Unclear Status?? ADDS: – Group-Source Specific Queries, Reports and Leaves Inclusion/Exclusion 9/14/97 of sources SIGCOMM97 Tutorial, Copyright Ammar and Towsley Routing Protocols Source -based Tree Protocols: – DVMRP – MOSPF – PIM-DM Shared-Tree Protocols – CBT – PIM-SM 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley DVMRP Distance Vector Multicast Routing Protocol – An enhancement of Reverse Path Forwarding that : » Uses Distance Vector Routing Packets for building tree » Prunes broadcast tree links that are not used (non-membership reports) » Allows for Broadcast links (LANs) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Forwarding in DVMRP 1. check incoming interface: discard if not on shortest path to source 2. forward to all outgoing interfaces 3. don’t forward if interface has been pruned 4. prunes time out every minute 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley DVMRP Forwarding (cont.) Basic idea is to flood and prune router packet S R R no receiver 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley DVMRP Forwarding (cont.) Prune branches where no members and branches not on shortest paths 2nd packet S R R prune 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley DVMRP Forwarding (cont.) Add new user via grafting; departure via pruning S R R graft Report R 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Overheard on Mbone Mailing List! “Help, we are unable to send prunes” Response: “Well, have you tried to send plums? Raisins or grapes? …… Perhaps your multicast implementation does not support fruit at all?” 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast OSPF Link-State Multicast Routing Routers maintain topology DBs Group-Membership-LSA broadcast by routers to advertise links with members Routers compute and cache pruned SPTs 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Protocol Independent Multicast Motivation: – DVMRP good for dense group membership – Need shared/source-based tree flexibility – Independence from Unicast Routing Two PIM modes: – Dense Mode (approx. DVMRP) – Sparse Mode 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley PIM- Dense Mode Independent from underlying unicast routing Slight efficiency cost Contains protocol mechanisms to: – detect leaf routers – avoid packet duplicates 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley PIM - Sparse Mode Rendezvous Point (Core): Receivers Meet Sources Reception through RP connection = Shared Tree Establish Path to Source = Source-Based Tree 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley PIM - Sparse Mode Source Join Source Join Register Rendez-Vous Receiver 9/14/97 Prune SIGCOMM97 Tutorial, Copyright Ammar and Towsley PIM - Sparse Mode Source Rendez-Vous Receiver 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Core-Based Trees A shared-tree protocol One node on shared tree is Core Sender sends to Core Core forwards over multicast tree 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Core-Based Trees Core B A Source C D E 9/14/97 Core-based tree SIGCOMM97 Tutorial, Copyright Ammar and Towsley PIM and CBT Issues Unidirectional VS Bidirectional Shared Trees Core/RP Placement and Selection Multiple Cores/RPS Dynamic Cores/RPs 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Real-Time Multicasting and Quality-of-Service (QoS) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley pkts generated (received) The Problem sender t0 t1 t2 receiver time How to get smooth, continuous playout adaptation by appl. – playout delay adj. – loss concealment 9/14/97 perf. guarantees by network SIGCOMM97 Tutorial, Copyright Ammar and Towsley Requirements for Real-Time Applications transport protocol must provide timing information call admission/reservation protocols needed to – determine availability of resources for particular performance requirement – reserve (allocate) resources support for multicast – heterogeneity, scalability 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley RTP: Real-Time Transport Protocol timing info. for playout reordering information loss detection for quality estimation, recovery synchronization – network jitter – clock drift – intermedia (lip sync) QoS feedback source identification 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley RTP: Real-Time Transport Protocol Schulzrinne, et al. RFC 1889 product of IETF Audio Video Transport Working Group (AVT WG) goals – lightweight, interoperability – easy integration with application – mechanism - not policy – scalability - unicast, multipoint 2 - 1000s participants – separation of control/data 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley RTCP: RTP Control Protocol provides monitoring capablities – quality of routes – state of participants (talker indication) feedback to application – QoS feedback - adjust sender rate scalability- randomized control traffic; rate decreases as number increases 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Performance Guarantees to Application deterministic guarantees – absolute guarantees on loss, delay or jitter statistical guarantees – probabilistic guarantees – cell loss probability < e – prob. pkt delay exceeds D is less than e different services for different performance requirements 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Example: Internet Services Guaranteed: no loss, upper bound on delay – invoked by specifying traffic (TSpec) Controlled load: negligible losses, like unloaded network => delay-adaptive applications – invoked by specifying traffic (Tspec) Best Effort: traditional service 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Guaranteed Service user specifies traffic (TSpec) – token bucket spec. (r - token b rate, b - bucket depth in bytes) – p - peak rate – m - minimum policed unit – M - max. packet size and desired service (Rspec) – desired bandwidth R > r – slack term S 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley r Guaranteed Service (cont.) delay is decreasing function of R for weighted fair queueing b M / R p R / p r prop. delay user does not provide delay bound; delay bound controlled by choice of R,S call admission, scheduling policy unspecified – service oriented towards WFQ 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Controlled Load Service user sees unloaded network – buffer loss on order of loss due to noise, faults, etc. – delays should be mostly = propagation delay + processing costs TSpec is same as for guaranteed service; no RSpec call admission, scheduling, buffer management unspecified 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Call Setup contract between network and application – network guarantees performance – application guarantees traffic behavior » peak rate » average rate » burst size approaches – one pass – two pass 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley One Pass sender or receiver oriented source (rcvr) sends resource reservation to rcvrs (source) cannot specify/guarantee QoS soft state possible – periodic refreshes 9/14/97 e.g., RSVP one pass w. advertisement rsvtn rcvr1 source rcvr2 rsvtn rcvr1 source SIGCOMM97 Tutorial, Copyright Ammar and Towsley rcvr2 Two Pass sender/rcvr initiated forward phase: check for resources at each link reverse phase – inform routers if call admitted – reserve resources 9/14/97 reserve max resources resource reclamation phase can be added passive two-phase - notify originator rcvr1 source rcvr2 fwd phase rev phase SIGCOMM97 Tutorial, Copyright Ammar and Towsley RSVP: ReSerVation Protocol Zhang, etal. 1993 receivers control reservations – consistent with IP multicast – good scalability – supports heterogeneity separate resource reservation from usage – packet filters control usage soft state – end system periodically refresh state 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley RSVP Operation R D data (mcast) S R PATH RESV R D rcvr joins group via IGMP source sends PATH messages to rcvrs rcvrs send RESV messages back to source(s) reservations can be lowered, merged between senders (audio) 9/14/97 one pass => rcvr does not know final QoS => one pass with advertising SIGCOMM97 Tutorial, Copyright Ammar and Towsley Other Issues policing/traffic shaping – leaky bucket – Generic Cell Rate Algorithm (GCRA) » peak cell rate, mean cell rate, cell delay variation tolerance interaction with routing what does a guarantee really mean? pricing performance evaluation 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Grand-Unified Multicast (GUM) Putting it all together A protocol for inter-domain multicast routing Bidirectional Shared Tree for inter-domain routing Receiver domains can utilize choice of protocol Very New -- Still needs digesting 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Summary Multicast Routing is a well researched problem. Challenge now is – deployment – inter-operability – management 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Reliable Multicast 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Problem How to transfer data reliably from source to R receivers 9/14/97 scalability: 10s -- 100s -- 1000s -- 10000s -- 100000s of receivers heterogeneity feedback implosion problem SIGCOMM97 Tutorial, Copyright Ammar and Towsley Feedback Implosion Problem rcvrs sender ... 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Issues level of reliability – full reliability (data) – semi-reliability (video) ordering – no ordering – ordering per sender – full ordering (distr. computing) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Approaches shift responsibilities to receivers feedback suppression multiple multicast groups local recovery server-based recovery forward error correction (FEC) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Applications application requirements – low latency » file transfer (finite duration) » DIS, teleconferencing – high throughputs - streaming applications (billing, etc.) application characteristics – one-many: one sender, all other participants rcvrs (streaming appl. teleconferencing) – many-many: all participants send and receive (DIS) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Sender Oriented Reliable Mcast sender Sender: mcasts all (re)transmissions selective repeat use of timeouts for loss detection ACK table Rcvr: ACKs received pkts Note: group membership important 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley X receivers Vanilla Rcvr Oriented Reliable Mcast Sender: mcasts (re)transmissions selective repeat responds to NAKs Note: easy to allow joins/leaves 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley NAK Rcvr: upon detecting pkt loss sends pt-pt NAK timers to detect lost retransmission sender X receivers Sender vs. Receiver (cont.) 160 One-to-Many Comparison 2 Many-to-Many Comparison p=0.01 140 120 100 1.9 p=0.05 1.8 p=0.10 1.7 p=0.25 80 1.6 60 1.5 40 1.4 p=0.10 20 1.3 p=0.25 0 1.2 p=0.01 p=0.05 0 100 200 300 400 500 600 700 800 900 1000 0 100 200 300 400 500 600 700 800 900 1000 No. Receivers No. Receivers Significant performance improvement shifting burden to receivers for 1-many; not as great for many-many 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Feedback Suppression randomly delay NAKs multicast to all receivers sender + reduce bandwidth - additional complexity at receivers (timers, etc) - increase latencies (timers) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley X X Performance of Feedback Suppression 25 One-to-Many Comparison 1 Many-to-Many Comparison p=0.01 p=0.01 0.95 20 0.9 p=0.10 15 p=0.05 p=0.05 p=0.10 0.85 p=0.25 p=0.25 0.8 10 0.75 0.7 5 0.65 0 0.6 0 100 200 300 400 500 600 700 800 900 1000 No. Receivers 0 100 200 300 400 500 600 700 800 900 1000 No. Receivers Additional thruput improvement for 1-many; costly for many-many 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multiple Multicast Groups mcast group per pkt – all rcvrs belong to one group for original transmissions – rcvr losing pkt j joins group for j – additional performance improvement for small no. groups (Kasera etal 1997) receivers divided into destination groups – identify rcvrs with different capabilities – place similar rcvrs into same group – additional improvement (Ammar, Wu 1992) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Server-based Reliable Multicast first transmisions mcast to all receivers and servers each receiver assigned to server servers perform loss recovery servers can be subset of rcvrs or provided by network can have more than 2 levels LBRM (Cheriton) 9/14/97 sender server SIGCOMM97 Tutorial, Copyright Ammar and Towsley server receivers Benefits of Adding Servers 2 levels, 4 rcvrs/server equal losses on each link rcvr oriented, NAK suppression at all levels Comments: clear performance benefits how to configure – static/dynamic – many-many 9/14/97 One-to-Many 4.5 4 3.5 3 2.5 2 p=0.01 1.5 p=0.05 1 p=0.10 0.5 p=0.25 0 0 100 200 300 400 500 600 700 800 900 1000 SIGCOMM97 Tutorial, Copyright Ammar and Towsley No. Receivers Local Recovery Lost packets recovered from nearby receivers deterministic methods – impose tree structure on rcvrs with sender as root – rcvr goes to upstream node on tree RMTP (Lucent) self-organizing methods – rcvrs elect nearby rcvr to act as retransmitter using scoped multicast and random delays (SRM) 9/14/97 hybrid methods SIGCOMM97 Tutorial, Copyright Ammar and Towsley Issues with Server- and Local Based Recovery how to configure tree what constitutes a local group how to permit joins/leaves how to adapt to time-varying network conditions no definitive resolution 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Some Examples of Protocols 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley RAMP (TASC) Reliable Adaptive Multicast Protocol supports sender and rcvr oriented reliability mixture of reliable/unreliable senders/rcvrs supported late joins and leaves supported rate-based flow control 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley RMTP (Lucent) Reliable Multicast Transport Protocol imposes a tree structure on rcvrs corresponding to multicast routing tree leaves send periodic status msgs to upstream nodes nodes inside tree – provide repairs to downstream nodes – send aggregate status msgs upstream late-joins supported thru 2-level cache rate- and window-based flow control 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley SRM (LBL) Scalable Reliable Multicast framework integrated with application rcvr-oriented using NAK suppression and selforganizing local recovery supports late-joins and leaves as built in wb, uses rate-based flow control has been used with 100s of participants over the Internet 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Other Examples Single Connection Emulation (SCE, Georgia Tech) – sender oriented, offers semantics of TCP (sender ordering, etc) – late-joins are not supported. ISIS (Cornell, Isis Dist. Systems) – general purpose toolkit for providing reliable data transfer to dist. applications – sender and rcvr oriented – wide range of ordering semantics supported – late-joins and leaves supported 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Other Examples Local Group based Multicast Protocol (LGMP, Karlsruhe) – self-organizing local- recovery based scheme Xpress Transport Protocol (XTP) – sender-oriented extension of unicast protocol 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Forward Error Correction (FEC) Add redundancy in order to reduce need to recover from losses (e.g., Reed Solomon codes) (k,n) code – for every k data pkts, construct n-k parity pkts – can recover all data pkts if no more than n-k losses + reduce loss probability - greater overheads at end-hosts Q: can FEC reduce network resource utilization? 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Potential Benefits of FEC Data Retransmission D3 Initial Transmission D3 X D3 D2 D1 D2 D1 D3 D2 D3 D2 D1 X D3 D2 X D1 Parity Retransmission D1 P=D1 D2 D3 One parity pkt can recover different data pkts at different rcvrs 9/14/97 D2 D1 SIGCOMM97 Tutorial, Copyright Ammar and Towsley P P P An Integrated Approach using (k,n) Erasure Codes transmit packets in blocks of k send redundancy packets in response to NAKs Assumptions: independent losses, p significant performance gain achievable with small no. of parity pkts, n-k 9/14/97 p=0.01 4 no FEC 3.5 (7,8) (7,9) 3 (7,10) 2.5 (7,inf) 2 1.5 1 1 10 100 1000 10000 100000 1000000 No. Receivers SIGCOMM97 Tutorial, Copyright Ammar and Towsley End-Host Overheads Software encoding/ decoding rates for 1KB pkt size (Rizzo) 9000 B 8000 7000 F B k=10, enc J k=20, enc H k=100, enc F k=10, dec Ñ k=20, dec É k=100, dec 6000 5000 J Ñ 4000 => FEC in SW is feasible for many applications B F 3000 J Ñ 2000 1000 0 JÑ B F B F JÑ H É B F B F B F F B F B JÑ Ñ J J Ñ J J H É Ñ Ñ É H H É H É É H É H É H 10 20 30 40 50 60 70 80 90 100 H É 0 B F JÑ H É Percentage Redundancy 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley End-Host Thruput Comparison: No FEC vs FEC No FEC, rcvr oriented with NAK suppression FEC, rcvr oriented with NAK suppression – SW encoding at sender – HW encoding at sender SW FEC thruput determined by sender HW FEC thruput determined by rcvr 9/14/97 1.00 Thruput Comparison (p=0.01, k=20) 0.90 0.80 0.70 0.60 0.50 0.40 0.30 0.20 0.10 no FEC SW FEC HW FEC 0.00 1x10 0 1x10 1 1x10 2 1x10 3 1x10 4 1x10 5 1x10 6 No. Receivers SIGCOMM97 Tutorial, Copyright Ammar and Towsley Performance Evaluation Mj - no. transmissions to get pkt j to all rcvrs Mj = max Mj , i 1 i R Mj , i - no. transmsissions of pkt j needed for rcvr i 9/14/97 well understood for spatially and temporally independent losses spatial correlation: computationally expensive for general topologies see Towsley85, Tripathi94, Nonnenmacher97 temporal correlation: has not been touched on (see Nonnenmacher etal 97 for one treatment) SIGCOMM97 Tutorial, Copyright Ammar and Towsley Summary reliable mcast is a hot topic unresolved issues – proper integration of different ideas wrt different applications – integration with flow control – interaction with group memebrship – notion of semi-reliability 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Multicast Applications 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Problem Match transmission rates to – Network capacity – Receiver “consumption” rates 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Flow Control Challenges Accommodating heterogeneity among receivers and paths leading to them Preserving fairness among – receivers of same flow – distinct flows Scalability of feedback 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Flow Control Solutions Loss-Tolerant Applications (e.g., Video) – Information content per unit time can be preserved at lower data rates Applications demanding data integrity – lower data rates => lower information content per unit time Goal: Co-Existence with TCP? 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Video Flow Control Scalable Feedback Control (Bolot, Turletti and Wakeman) – Receivers measure loss rates – Randomly generated feedback – Source estimates receivers’ state and adjusts video rate by changing compression parameters Problem: 9/14/97 fairness among receivers SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Video Flow Control Improving fairness using Destination Set Grouping (Cheung, Li, Ammar) – Send replicated video streams at different rates – Receivers can control rate of each stream within limits – Receivers can move among streams Fairness at the expense of increased bandwidth consumption 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Video Flow Control DSG IntraStream Protocol InterStream Protocol and Single Stream Comparison High IntraStream Protocol Med. Low Single Group DSG 9/14/97 Receivers SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Video Flow Control Receiver-Driven Layered (McCanne, Jacobson and Vetterli) Multicast – Single video stream subdivided into layers – Receivers add and drop layers depending on congestion – Challenge: Distributed Consensus, Layer Synchronization 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Video Flow Control Receiver-driven Layered Multicast Source Receivers 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Video Flow Control Receiver-Driven – – – – 9/14/97 Layered Multicast Drop Layer: indicated by loss Add Layer: No such indication Use join experiments with shared learning » Reluctance to join layers that failed » Inform others via multicast of failed experiments SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multicast Video Flow Control Layered Video Multicast with Retransmissions (LVMR) (Li, Paul, Ammar) – Uses agents within network to maintain information about join experiments – Reduces overhead of shared learning 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast Less Understood/Mature Area Some Possibilities: – Window flow control (a la TCP) » Not Scalable, Not Fair (across receivers) – Explicit rate control (e.g., ATM ABR) » Scalable but still not fair – Multiple Multicast Groups 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast The Single Connection Emulation (SCE) Architecture (Window Flow Control) Application TCP SCE IP 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast ATM Available Bit Rate Explicit Rate Messages Source Receivers 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast ATM Available Bit Rate – Consolidation Algorithm – Consolidation Noise – Transient Time – Volume of Feedback 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast Multiple Multicast Groups – Simulcasting or Destination Set Splitting (Ammar, Wu and Cheung, Ammar) – Data Partitioning (Bhattacharyya, Towsley, Kurose, Nagarajan) – Cumulative Layering (Vicisano) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast Simulcasting: – Similar to DSG protocol for Video – Send multiple (uncoordinated streams) at different rates – Each stream carries all data – Receivers join appropriate stream one at a time 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast Data Partitioning: – Send multiple streams at different rates – Synchronous start time for receivers – Partition data among streams with replication among streams allowed – Schedule data for optimum completion time 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast Data Partitioning Example R1 R2 R3 Flow 1 rate = 1 A D Flow 2 rate = 1 B C Flow 3 rate = 2 C D 9/14/97 C SIGCOMM97 Tutorial, Copyright Ammar and Towsley B Flow Control for Reliable Multicast Data Partitioning – Can achieve ideal completion time with as many channels as receivers – Can achieve close to ideal with a few channels – Same completion time as simulcast but less bandwidth consumed – Can improve by dynamic rate adjustment – Requires coordination and scheduling among channels 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast Cumulative Layering – Multiple data streams at different rates – Each stream contains entire data – Receivers join asynchronously -Streams transmit for indefinite duration – Schedule to minimize reception time – (Scheme allows for FEC encoding) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast Channel 3 Rate = 2 B D A C B D A C Channel 2 Rate = 1 C D A B Channel 1 Rate = 1 A B C D Receiver 1, BW = 1 Receiver 2, BW = 2 9/14/97 Receiver 3, BW = 4 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Flow Control for Reliable Multicast Cumulative Layering – Can achieve minimum reception time with asynchronous receivers – Schedulability requires some parameter relationships – Synchronization among channels needed 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Summary Flow control for multicast communication is a hard problem: – Scalability – Heterogeneity – Added dynamic dimension (receivers and their join behavior) – Plenty of room for innovation! 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley ATM and IP over ATM Multicast 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley ATM Multicast ATM: Connection-Oriented (VC) Multicast connection establishment – UNI 3.0/3.1 » Source-Controlled » Full Knowledge of Receivers required – UNI 4.0 » Leaf-Initiated Join (LIJ) » Group identified by (Source, Tree ID) 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley IP Multicast over ATM Problem (for UNI3.x): Mapping IP’s connectionless, receiver-controlled model to ATM’s connection-oriented, sourcecontrolled model 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley The MARS Architecture MARS: Multicast Address Resolution Server Stores mapping between IP group address and Unicast addresses of ATM endpoints 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley MARS -- The Mesh Approach IP receivers joining group register their ATM addresses with the MARS IP source consults MARS for list of ATM addresses IP source opens multipoint connection to ATM end-points Receivers joining/leaving need to inform MARS 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley MARS -- The VC Mesh MARS MARS Request Receivers Reply Source ATM Multipoint Connection ATM Cluster 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley MARS -- The Multicast Server The VC Mesh approach requires one multipoint VC per source per group Alternative: – – – – 9/14/97 Provide a multicast server (MCS) per group One multipoint VC from MCS to receivers Source sends to MCS MARS now returns ATM address of MCS SIGCOMM97 Tutorial, Copyright Ammar and Towsley MARS -- The Multicast Server MARS MARS Request Receivers Reply Source ATM Cluster 9/14/97 Multicast Server SIGCOMM97 Tutorial, Copyright Ammar and Towsley VC Mesh VS MCS VC – – – – Mesh Higher VC consumption Higher signaling overhead Better Delay Less Vulnerability MCS : Requires Reflection Suppression Comparison similar to Shared Tree VS Source-based Tree in multicast routing 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley VC Mesh VS MCS 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley The MARS for UNI 4.0 LIJ is closer to IP model than UNI3.x MARS is still needed to map IP group address to the (source, tree ID) pair 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Multipoint-to-Multipoint Support in ATM How to support multiple sources on same multipoint VC and shared tree Problem: Interleaving of Cells from different AAL PDUs within switch Solution: – No problem for AAL 3/4 – For AAL 5 : SEAM and SMART 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Simple and Efficient ATM Multicasting (SEAM) Proposes a Core-Based Tree Approach Solves cell interleaving by “cut through” switching – Forward cells belonging to same packet together and – Buffer other cells for same VC 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Shared Many-to-Many ATM Reservations (SMART) Many-to-Many connection over a single VCC Addresses – Cell-interleaving – On-demand bandwidth sharing (a la RSVP) Solution: Take Turns (essentially) Signalling Protocol 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Summary ATM and Internet multicast mechanisms are incompatible Convergence approaches have been defined ATM multicast still has problems: – many-to-many – QoS – routing 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Summary 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Topics Covered in Tutorial overview of multicast at – network layer (routing, congestion control) – transport layer (reliability, flow control) – session layer (Internet centric view) examples taken from – Internet, MBone – ATM 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Other Topics application issues – stronger semantics: ordering requirements, atomicity, etc. (Isis, Horus, Berman et al, Cornell) session semantics group membership performance evaluation: how to evaluate large networks supporting large numbers of multicast applications 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley Other Topics Control Issues: control issues related to TCP have generated 100s of papers and are still not resolved control aspects of multicast add at least one additional layer of complexity – a very fruitful area for research and development 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley 9/14/97 SIGCOMM97 Tutorial, Copyright Ammar and Towsley