* 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
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            