Group Multicast Communication in Wide Area Networks Mostafa

  • Slides: 168
Download presentation
Group (Multicast) Communication in Wide Area Networks Mostafa Ammar Don Towsley College of Computing

Group (Multicast) Communication in Wide Area Networks Mostafa Ammar Don Towsley College of Computing Georgia Tech Atlanta, GA ammar@cc. gatech. edu Dept. of Computer Science University of Massachusetts Amherst, MA towsley@cs. umass. edu 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Definition u Multicast: Multicast is the act of sending a message to multiple receivers

Definition u Multicast: Multicast is the act of sending a message to multiple receivers using a single local “transmit” operation 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

A Spectrum of Paradigms Unicast Broadcast Multicast Send to one 9/14/97 Send to some

A Spectrum of Paradigms Unicast Broadcast Multicast Send to one 9/14/97 Send to some SIGCOMM 97 Tutorial, Copyright Ammar and Towsley Send to All

The Layering of Multicast 9/14/97 Multicast by Unicast Multicast by Broadcast SIGCOMM 97 Tutorial,

The Layering of Multicast 9/14/97 Multicast by Unicast Multicast by Broadcast SIGCOMM 97 Tutorial, Copyright Ammar and Towsley Multicast by Multicast

The Many Uses of Multicasting u Teleconferencing u Distributed Games u Software/File Distribution u

The Many Uses of Multicasting u Teleconferencing u Distributed Games u Software/File Distribution u Video Distribution u Replicated Database Updates 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Application Models u Point-to-Multipoint: Single Source, Multiple Receivers u Multipoint-to-Multipoint: Multiple Sources, Multiple

Multicast Application Models u Point-to-Multipoint: Single Source, Multiple Receivers u Multipoint-to-Multipoint: Multiple Sources, Multiple Receivers u Sources are receivers u Sources are not receivers 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Scope of Tutorial u Support for multicast communication in – Transport – Network –

Scope of Tutorial u Support for multicast communication in – Transport – Network – Link Layer u Also important: enforcing reception semantics across receivers (ordering, atomicity) -in distributed computing literature 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Support Challenges u Overhead for network layer support u Scalability u Dealing with

Multicast Support Challenges u Overhead for network layer support u Scalability u Dealing with heterogeneity 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Outline u IP Multicast and the Mbone u Multicast Routing u Qo. S and

Outline u IP Multicast and the Mbone u Multicast Routing u Qo. S and Real-Time support u Reliable Multicast Transport u Multicast Flow Control u ATM and IP/ATM Multicast u Summary 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IP Multicast and the Mbone 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IP Multicast and the Mbone 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Server-Oriented Multicast u source sets up one-to-many multicast group u each source responsible for

Server-Oriented Multicast u source sets up one-to-many multicast group u each source responsible for its own group u examples: – ATM (explicit connection to each receiver) – ST-II (receivers listed in setup message) u for connection-oriented services (packet header size!) u discourages 9/14/97 dynamic groups SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Receiver-Oriented Multicast Deering, 1991 u senders u groups u no need not be members

Receiver-Oriented Multicast Deering, 1991 u senders u groups u no need not be members may be of any size topological restrictions on membership u host 9/14/97 dynamic and autonomous groups may be transient or permanent SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IP Multicast u host-group model u network-level; same packet format, different address u routers

IP Multicast u host-group model u network-level; same packet format, different address u routers do all of the work u special IP addresses: 224. 0. 0. 0 - 239. 255 u 28 bits => 268 million groups (plus scope) u ttl value limits distribution 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Forwarding 1. check incoming interface: discard if not on shortest path to source

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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IP Multicast (cont. ) Basic idea is to flood and prune router packet S

IP Multicast (cont. ) Basic idea is to flood and prune router packet S R R no receiver 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IP Multicast (cont. ) Prune branches where no members and branches not on shortest

IP Multicast (cont. ) Prune branches where no members and branches not on shortest paths 2 nd packet S R R prune 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IP Multicast (cont. ) Add new user via grafting; departure via pruning S R

IP Multicast (cont. ) Add new user via grafting; departure via pruning S R R graft R 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Mbone u Mbone = multicast backbone u virtual network overlaying Internet u needed until

Mbone u Mbone = multicast backbone u virtual network overlaying Internet u needed until mcast capable routers deployed u IP in IP encapsulation u limited capacity, resilience 9/14/97 MBONE tunnel endpoint IP router SIGCOMM 97 Tutorial, Copyright Ammar and Towsley WS

Mbone Protocols u u u 9/14/97 IP UDP: best effort RTP: real-time transport RSVP:

Mbone Protocols u u u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Session Protocols u session description protocol (SDP) – used to describe (not necessarily) mcast

Session Protocols u 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 u session announcement protocol (SAP) – mcast protocol for SDP – periodic transmission to known mcast address – frequency depends on other announcements and scope 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Session Directory u used to allocate multicast addresses to sessions – birthday problem, N

Session Directory u used to allocate multicast addresses to sessions – birthday problem, N addresses support sessions using random address allocation with negligible collision probability – random allocation currently used in popular session directory tools sd (LBL), sdr UCL) u advertises multicast sessions – uses SDP 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Example: sdr 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Example: sdr 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Mbone Applications ufreeware vic, nv (video), vat, nevot (audio), wb (whiteboard) IVS (teleconferencing) u

Mbone Applications ufreeware vic, nv (video), vat, nevot (audio), wb (whiteboard) IVS (teleconferencing) u commercial IP/TV - teleconferencing (Precept) Most group applications use IP unicast E. g. , Cu. See. Me builds own mcast tree 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

MBone Behavior Motivation: quantitative understanding of session dynamics, and loss behavior u session dynamics:

MBone Behavior Motivation: quantitative understanding of session dynamics, and loss behavior u session dynamics: – sizes, durations of sessions – join/leave behavior u loss behavior: – loss rates – spatial and temporal correlation 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Mbone Session Dynamics Goal: to characterize the dynamics of Mbone sessions -- Join/Leave Behavior

Mbone Session Dynamics Goal: to characterize the dynamics of Mbone sessions -- Join/Leave Behavior u capture data using Mlisten tool http: //www. cc. gatech. edu/computing/Telecomm/mbone/ u data pre-processed to account for – Mbone un-reliability, – abnormal usage 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Typical Sessions u long-lived (Shuttle) u short-lived (Seminars) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar

Typical Sessions u long-lived (Shuttle) u short-lived (Seminars) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Session Stats Statistics for u u interarrival of rcvrs rcvr membership duration 9/14/97 SIGCOMM

Session Stats Statistics for u u interarrival of rcvrs rcvr membership duration 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Tree Size u multicast vs unicast tree cost u sensitivity of multicast tree to

Tree Size u multicast vs unicast tree cost u sensitivity of multicast tree to source location u Mbone vs Internet tree 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Audio/Video audio receivers vs video receivers 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Audio/Video audio receivers vs video receivers 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Mbone Loss Behavior Goal: to characterize loss behavior on Mbone u metrics – loss

Mbone Loss Behavior Goal: to characterize loss behavior on Mbone u metrics – loss rates, spatial and temporal correlation u methodology – rcvr processes on ~25 MBone hosts – rcvrs listen to WRN (& other sources) which sends audio at 80 ms intervals; record mcast packet receptions – off-line analysis of trace data 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Measurements 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Measurements 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Where does MBone loss occur? u 4/16/96 dataset u across data sets: backbone loss

Where does MBone loss occur? u 4/16/96 dataset u across data sets: backbone loss small compared to overall loss u no loss in endsystems 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Simultaneous Packet Loss u u Q: distribution of number of rcvr’s losing pkt? 4/19/96

Simultaneous Packet Loss u u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Temporal Loss Correlation u u Q: do losses occur singly or in “bursts” 12/11/95

Temporal Loss Correlation u u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Burst Loss Length Distribution u sample distribution from “alps” – 12/1/95 dataset u generally

Burst Loss Length Distribution u sample distribution from “alps” – 12/1/95 dataset u generally isolated losses with occasional longer bursts 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Temporal Loss Correlation u 12/11/95 dataset(above) – similar results over other datasets u u

Temporal Loss Correlation u 12/11/95 dataset(above) – similar results over other datasets u u 9/14/97 “most” loss bursts are 1 packets long but often significant loss in long bursts SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

MBone Measurements Summary u u u identifiable backbone loss small wrt overall loss spatial

MBone Measurements Summary u u u 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 u u 9/14/97 reference: ftp: //gaia. cs. umass. edu/pub/Yajn 96: loss. ps lessons for multicast protocols/applications? loss/delay correlation? sensitivity to period, probe size, 1 -many, many-many SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Routing 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Routing 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Theoretical Basis The Steiner Tree Problem is NP-Complete – Graph G = (V, E)

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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Principles of Multicast Routing u Addressing – List Addressing » Not Scalable – Group

Principles of Multicast Routing u Addressing – List Addressing » Not Scalable – Group Addressing » Less Control 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Principles of Multicast Routing u Reuse of unicast routing infrastructure – Desirable – Too

Principles of Multicast Routing u Reuse of unicast routing infrastructure – Desirable – Too Constraining u Multicast routing overhead – Needs to be minimized 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Principles of Multicast Routing u Evaluation – Bandwidth Usage – Delay -- Average, Maximum,

Principles of Multicast Routing u Evaluation – Bandwidth Usage – Delay -- Average, Maximum, Variance – Concentration – Router/Switch overhead 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Basic Multicast Routing Protocols u Problem: Given a source and a set of destinations,

Basic Multicast Routing Protocols u 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 9/14/97 E SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Basic Multicast Routing Protocols u Multicast by Broadcast – Filter above network layer –

Basic Multicast Routing Protocols u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Basic Multicast Routing Protocols u Separately addressed packets A B C Source to A

Basic Multicast Routing Protocols u Separately addressed packets A B C Source to A to B 9/14/97 to C to D to E D E SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Basic Multicast Routing Protocols u Multidestination Addressing to (A, B) A to (A, B)

Basic Multicast Routing Protocols u Multidestination Addressing to (A, B) A to (A, B) B to (B) Source to (C, D, E) to (C) to (A, B, C, D, E) E 9/14/97 C to (D, C) D SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Basic Multicast Routing Protocols u Spanning Tree Forwarding – Shared or Source-Based B A

Basic Multicast Routing Protocols u Spanning Tree Forwarding – Shared or Source-Based B A Source C D 9/14/97 E SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Basic Multicast Routing Protocols u Reverse Path Forwarding – Dalal and Metcalfe – Basis

Basic Multicast Routing Protocols u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Reverse Path Forwarding u. A Broadcast Protocol u Group addressing used u Routers/Switches Forward

Reverse Path Forwarding u. A Broadcast Protocol u Group addressing used u Routers/Switches Forward based on source of multicast packet 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Reverse Path Forwarding u Flood if packet arrives from Source on link that router

Reverse Path Forwarding u Flood if packet arrives from Source on link that router would use to send packets to source u Otherwise Discard u Rule avoids flooding loops u Uses Shortest Path Tree from destinations to source (reverse tree) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Reverse Path Forwarding Routing Table to use S S to Group y x w

Reverse Path Forwarding Routing Table to use S S to Group y x w y z 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley Destinations

Reverse Path Forwarding B A Source C D E 9/14/97 Shortest Path Tree to

Reverse Path Forwarding B A Source C D E 9/14/97 Shortest Path Tree to Source SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Shared Tree VS Source-Based Tree u RPF routes over source-based tree – Good delay

Shared Tree VS Source-Based Tree u RPF routes over source-based tree – Good delay properties – Per source and group overhead u Spanning Tree Forwarding uses shared tree – Per group overhead – Higher delays – More Traffic Concentration 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Routing Performance Evaluation u Simulation, Analysis and Experimentation u Need – Network Models

Multicast Routing Performance Evaluation u Simulation, Analysis and Experimentation u Need – Network Models (Waxman, GT-ITM, Tiers) – Application Models (Mlisten) – Traffic Models – Data Loss Models 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Internet Multicast Routing u Group Addressing – Class D IP addresses u Link Layer

Internet Multicast Routing u Group Addressing – Class D IP addresses u Link Layer Multicast u Two Protocol Functions – Group Management » IGMP – Route Establishment » DVMRP, MOSPF, CBT, PIM 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Link Layer Multicast u Example Ethernet: – Ethernet multicast addresses – Algorithmic mapping between

Link Layer Multicast u Example Ethernet: – Ethernet multicast addresses – Algorithmic mapping between IP mcast address and Ethernet mcast address u To join group: – Recognize IP mcast address – Interface recognizes link layer mcast address – Inform local router using IGMP 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Internet Group Management Protocol u Used by end-system to declare membership in particular multicast

Internet Group Management Protocol u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IGMPv 1 u Joining Host send IGMP Report u Leaving Host does nothing u

IGMPv 1 u Joining Host send IGMP Report u Leaving Host does nothing u Router periodically polls hosts on subnet using IGMP Query u Hosts respond to Query in a randomized fashion 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IGMPv 2 u ADDS: – Group Specific Queries – Leave Group Message u Host

IGMPv 2 u ADDS: – Group Specific Queries – Leave Group Message u Host sends Leave Group message if it was the one to respond to most recent query u Router receiving Leave Group msg queries group. 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IGMPv 3 u Unclear Status? ? u ADDS: – Group-Source Specific Queries, Reports and

IGMPv 3 u Unclear Status? ? u ADDS: – Group-Source Specific Queries, Reports and Leaves u Inclusion/Exclusion 9/14/97 of sources SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Routing Protocols u Source -based Tree Protocols: – DVMRP – MOSPF – PIM-DM u

Routing Protocols u Source -based Tree Protocols: – DVMRP – MOSPF – PIM-DM u Shared-Tree Protocols – CBT – PIM-SM 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

DVMRP u Distance Vector Multicast Routing Protocol – An enhancement of Reverse Path Forwarding

DVMRP u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Forwarding in DVMRP 1. check incoming interface: discard if not on shortest path

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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

DVMRP Forwarding (cont. ) Basic idea is to flood and prune router packet S

DVMRP Forwarding (cont. ) Basic idea is to flood and prune router packet S R R no receiver 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

DVMRP Forwarding (cont. ) Prune branches where no members and branches not on shortest

DVMRP Forwarding (cont. ) Prune branches where no members and branches not on shortest paths 2 nd packet S R R prune 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

DVMRP Forwarding (cont. ) Add new user via grafting; departure via pruning S R

DVMRP Forwarding (cont. ) Add new user via grafting; departure via pruning S R R graft Report R 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Overheard on Mbone Mailing List! u “Help, we are unable to send prunes” u

Overheard on Mbone Mailing List! u “Help, we are unable to send prunes” u Response: “Well, have you tried to send plums? Raisins or grapes? …… Perhaps your multicast implementation does not support fruit at all? ” 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast OSPF u Link-State Multicast Routing u Routers maintain topology DBs u Group-Membership-LSA broadcast

Multicast OSPF u Link-State Multicast Routing u Routers maintain topology DBs u Group-Membership-LSA broadcast by routers to advertise links with members u Routers compute and cache pruned SPTs 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Protocol Independent Multicast u Motivation: – DVMRP good for dense group membership – Need

Protocol Independent Multicast u Motivation: – DVMRP good for dense group membership – Need shared/source-based tree flexibility – Independence from Unicast Routing u Two PIM modes: – Dense Mode (approx. DVMRP) – Sparse Mode 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

PIM- Dense Mode u Independent from underlying unicast routing u Slight efficiency cost u

PIM- Dense Mode u Independent from underlying unicast routing u Slight efficiency cost u Contains protocol mechanisms to: – detect leaf routers – avoid packet duplicates 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

PIM - Sparse Mode u Rendezvous Point (Core): Receivers Meet Sources u Reception through

PIM - Sparse Mode u Rendezvous Point (Core): Receivers Meet Sources u Reception through RP connection = Shared Tree u Establish Path to Source = Source-Based Tree 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

PIM - Sparse Mode Source Join Register Rendez-Vous Receiver 9/14/97 Prune SIGCOMM 97 Tutorial,

PIM - Sparse Mode Source Join Register Rendez-Vous Receiver 9/14/97 Prune SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

PIM - Sparse Mode Source Rendez-Vous Receiver 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and

PIM - Sparse Mode Source Rendez-Vous Receiver 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Core-Based Trees u. A shared-tree protocol u One node on shared tree is Core

Core-Based Trees u. A shared-tree protocol u One node on shared tree is Core u Sender sends to Core u Core forwards over multicast tree 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Core-Based Trees Core B A Source C D E 9/14/97 Core-based tree SIGCOMM 97

Core-Based Trees Core B A Source C D E 9/14/97 Core-based tree SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

PIM and CBT Issues u Unidirectional VS Bidirectional Shared Trees u Core/RP Placement and

PIM and CBT Issues u Unidirectional VS Bidirectional Shared Trees u Core/RP Placement and Selection u Multiple Cores/RPS u Dynamic Cores/RPs 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Real-Time Multicasting and Quality-of-Service (Qo. S) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Real-Time Multicasting and Quality-of-Service (Qo. S) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

pkts generated (received) The Problem sender t 0 t 1 t 2 receiver time

pkts generated (received) The Problem sender t 0 t 1 t 2 receiver time How to get smooth, continuous playout u adaptation by appl. – playout delay adj. – loss concealment u 9/14/97 perf. guarantees by network SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Requirements for Real-Time Applications u transport protocol must provide timing information u call admission/reservation

Requirements for Real-Time Applications u transport protocol must provide timing information u call admission/reservation protocols needed to – determine availability of resources for particular performance requirement – reserve (allocate) resources u support 9/14/97 for multicast – heterogeneity, scalability SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

RTP: Real-Time Transport Protocol u timing info. for playout u reordering information u loss

RTP: Real-Time Transport Protocol u timing info. for playout u reordering information u loss detection for quality estimation, recovery u synchronization – network jitter – clock drift – intermedia (lip sync) u Qo. S feedback u source identification 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

RTP: Real-Time Transport Protocol Schulzrinne, et al. RFC 1889 u product of IETF Audio

RTP: Real-Time Transport Protocol Schulzrinne, et al. RFC 1889 u product of IETF Audio Video Transport Working Group (AVT WG) u goals – lightweight, interoperability – easy integration with application – mechanism - not policy – scalability - unicast, multipoint 2 - 1000 s participants – separation of control/data 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

RTCP: RTP Control Protocol u provides monitoring capablities – quality of routes – state

RTCP: RTP Control Protocol u provides monitoring capablities – quality of routes – state of participants (talker indication) u feedback to application – Qo. S feedback - adjust sender rate u scalability- randomized control traffic; rate decreases as number increases 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Performance Guarantees to Application u deterministic guarantees – absolute guarantees on loss, delay or

Performance Guarantees to Application u deterministic guarantees – absolute guarantees on loss, delay or jitter u statistical guarantees – probabilistic guarantees – cell loss probability < e – prob. pkt delay exceeds D is less than e u different services for different performance requirements 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Example: Internet Services Guaranteed: no loss, upper bound on delay – invoked by specifying

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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Guaranteed Service u user specifies traffic (TSpec) – token bucket spec. (r - token

Guaranteed Service u user specifies traffic (TSpec) – token bucket spec. (r - token rate, b b - bucket depth in bytes) – p - peak rate – m - minimum policed unit – M - max. packet size u and desired service (Rspec) – desired bandwidth R > r – slack term S 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley r

Guaranteed Service (cont. ) u delay is decreasing function of R for weighted fair

Guaranteed Service (cont. ) u delay is decreasing function of R for weighted fair queueing u user does not provide delay bound; delay bound controlled by choice of R, S u call admission, scheduling policy unspecified – service oriented towards WFQ 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Controlled Load Service u user sees unloaded network – buffer loss on order of

Controlled Load Service u user sees unloaded network – buffer loss on order of loss due to noise, faults, etc. – delays should be mostly = propagation delay + processing costs u TSpec is same as for guaranteed service; no RSpec u call admission, scheduling, buffer management unspecified 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Call Setup u contract between network and application – network guarantees performance – application

Call Setup u contract between network and application – network guarantees performance – application guarantees traffic behavior » peak rate » average rate » burst size u approaches – one pass – two pass 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

One Pass u u sender or receiver oriented source (rcvr) sends resource reservation to

One Pass u u sender or receiver oriented source (rcvr) sends resource reservation to rcvrs (source) cannot specify/guarantee Qo. S soft state possible – periodic refreshes u u 9/14/97 e. g. , RSVP one pass w. advertisement rsvtn source rcvr 1 rcvr 2 rsvtn rcvr 1 source SIGCOMM 97 Tutorial, Copyright Ammar and Towsley rcvr 2

Two Pass u u u sender/rcvr initiated forward phase: check for resources at each

Two Pass u u u sender/rcvr initiated forward phase: check for resources at each link reverse phase – inform routers if call admitted – reserve resources u u u 9/14/97 reserve max resources resource reclamation phase can be added passive two-phase - notify originator rcvr 1 source rcvr 2 fwd phase rev phase SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

RSVP: Re. Ser. Vation Protocol Zhang, etal. 1993 u receivers control reservations – consistent

RSVP: Re. Ser. Vation Protocol Zhang, etal. 1993 u receivers control reservations – consistent with IP multicast – good scalability – supports heterogeneity u separate resource reservation from usage – packet filters control usage u soft state – end system periodically refresh state 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

RSVP Operation R D data (mcast) S R PATH RESV R D u rcvr

RSVP Operation R D data (mcast) S R PATH RESV R D u rcvr joins group via IGMP source sends PATH messages to rcvrs u rcvrs send RESV messages back to source(s) u reservations can be lowered, u merged between senders (audio) u 9/14/97 one pass => rcvr does not know final Qo. S => one pass with advertising SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Other Issues u policing/traffic shaping – leaky bucket – Generic Cell Rate Algorithm (GCRA)

Other Issues u policing/traffic shaping – leaky bucket – Generic Cell Rate Algorithm (GCRA) » peak cell rate, mean cell rate, cell delay variation tolerance u interaction with routing u what does a guarantee really mean? u pricing u performance evaluation 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Grand-Unified Multicast (GUM) u Putting it all together u A protocol for inter-domain multicast

Grand-Unified Multicast (GUM) u Putting it all together u A protocol for inter-domain multicast routing u Bidirectional Shared Tree for inter-domain routing u Receiver domains can utilize choice of protocol u Very New -- Still needs digesting 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Summary u Multicast Routing is a well researched problem. u Challenge now is –

Summary u Multicast Routing is a well researched problem. u Challenge now is – deployment – inter-operability – management 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Reliable Multicast 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Reliable Multicast 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Problem How to transfer data reliably from source to R receivers u u u

Problem How to transfer data reliably from source to R receivers u u u 9/14/97 scalability: 10 s -- 1000 s -- 100000 s of receivers heterogeneity feedback implosion problem SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

AC K Feedback Implosion Problem rcvrs K AC . . . K AC 9/14/97

AC K Feedback Implosion Problem rcvrs K AC . . . K AC 9/14/97 K AC ACK AC K sender SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Issues u level of reliability – full reliability (data) – semi-reliability (video) u ordering

Issues u level of reliability – full reliability (data) – semi-reliability (video) u ordering – no ordering – ordering per sender – full ordering (distr. computing) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Approaches u shift responsibilities to receivers u feedback suppression u multiple multicast groups u

Approaches u shift responsibilities to receivers u feedback suppression u multiple multicast groups u local recovery u server-based recovery u forward error correction (FEC) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Applications u application requirements – low latency » file transfer (finite duration) » DIS,

Applications u application requirements – low latency » file transfer (finite duration) » DIS, teleconferencing – high throughputs - streaming applications (billing, etc. ) u application characteristics – one-many: one sender, all other participants rcvrs (streaming appl. teleconferencing) – many-many: all participants send and receive (DIS) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Sender Oriented Reliable Mcast Rcvr: ACKs received pkts Note: group membership important 9/14/97 SIGCOMM

Sender Oriented Reliable Mcast Rcvr: ACKs received pkts Note: group membership important 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley K AC Sender: mcasts all (re)transmissions selective repeat use of timeouts for loss detection ACK table AC K sender X receivers

Vanilla Rcvr Oriented Reliable Mcast Sender: mcasts (re)transmissions selective repeat responds to NAKs Note:

Vanilla Rcvr Oriented Reliable Mcast Sender: mcasts (re)transmissions selective repeat responds to NAKs Note: easy to allow joins/leaves 9/14/97 SIGCOMM 97 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. ) Significant performance improvement shifting burden to receivers for 1

Sender vs. Receiver (cont. ) Significant performance improvement shifting burden to receivers for 1 -many; not as great for many-many 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Feedback Suppression u u randomly delay NAKs multicast to all receivers sender N A

Feedback Suppression u u randomly delay NAKs multicast to all receivers sender N A K + reduce bandwidth - additional complexity at receivers (timers, etc) - increase latencies (timers) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley X X

Performance of Feedback Suppression Additional thruput improvement for 1 -many; costly for many -many

Performance of Feedback Suppression Additional thruput improvement for 1 -many; costly for many -many 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multiple Multicast Groups u mcast group per pkt – all rcvrs belong to one

Multiple Multicast Groups u 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) u receivers divided into destination groups – identify rcvrs with different capabilities – place similar rcvrs into same group – additional improvement (Ammar, Wu 1992) 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Server-based Reliable Multicast first transmisions mcast to all sender receivers and servers u each

Server-based Reliable Multicast first transmisions mcast to all sender receivers and servers u each receiver assigned to server u servers perform loss recovery u servers can be subset of rcvrs or provided by network u can have more than 2 levels LBRM (Cheriton) receivers u 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Benefits of Adding Servers u u u 2 levels, 4 rcvrs/server equal losses on

Benefits of Adding Servers u u u 2 levels, 4 rcvrs/server equal losses on each link rcvr oriented, NAK suppression at all levels Comments: u u clear performance benefits how to configure – static/dynamic – many-many 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Local Recovery Lost packets recovered from nearby receivers u deterministic methods – impose tree

Local Recovery Lost packets recovered from nearby receivers u deterministic methods – impose tree structure on rcvrs with sender as root – rcvr goes to upstream node on tree RMTP (Lucent) u self-organizing methods – rcvrs elect nearby rcvr to act as retransmitter using scoped multicast and random delays (SRM) u hybrid 9/14/97 methods SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Issues with Server- and Local Based Recovery u how to configure tree u what

Issues with Server- and Local Based Recovery u how to configure tree u what constitutes a local group u how to permit joins/leaves u how to adapt to time-varying network conditions no definitive resolution 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Some Examples of Protocols 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Some Examples of Protocols 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

RAMP (TASC) Reliable Adaptive Multicast Protocol u supports sender and rcvr oriented reliability u

RAMP (TASC) Reliable Adaptive Multicast Protocol u supports sender and rcvr oriented reliability u mixture of reliable/unreliable senders/rcvrs supported u late joins and leaves supported u rate-based flow control 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

RMTP (Lucent) Reliable Multicast Transport Protocol u imposes a tree structure on rcvrs corresponding

RMTP (Lucent) Reliable Multicast Transport Protocol u imposes a tree structure on rcvrs corresponding to multicast routing tree u leaves send periodic status msgs to upstream nodes u nodes inside tree – provide repairs to downstream nodes – send aggregate status msgs upstream u late-joins supported thru 2 -level cache u rate- and window-based flow control 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

SRM (LBL) Scalable Reliable Multicast framework u integrated with application u rcvr-oriented using NAK

SRM (LBL) Scalable Reliable Multicast framework u integrated with application u rcvr-oriented using NAK suppression and selforganizing local recovery u supports late-joins and leaves u as built in wb, uses rate-based flow control u has been used with 100 s of participants over the Internet 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Other Examples u Single Connection Emulation (SCE, Georgia Tech) – sender oriented, offers semantics

Other Examples u Single Connection Emulation (SCE, Georgia Tech) – sender oriented, offers semantics of TCP (sender ordering, etc) – late-joins are not supported. u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Other Examples Local Group based Multicast Protocol (LGMP, Karlsruhe) – self-organizing local- recovery based

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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Forward Error Correction (FEC) Add redundancy in order to reduce need to recover from

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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Potential Benefits of FEC Data Retransmission D 3 Initial Transmission D 3 X D

Potential Benefits of FEC Data Retransmission D 3 Initial Transmission D 3 X D 3 D 2 D 1 X D 3 D 2 X D 1 Parity Retransmission D 1 P=D 1 D 2 D 3 One parity pkt can recover different data pkts at different rcvrs 9/14/97 D 2 D 1 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley P P P

An Integrated Approach using (k, n) Erasure Codes u u transmit packets in blocks

An Integrated Approach using (k, n) Erasure Codes u u transmit packets in blocks of k send redundancy packets in response to NAKs p=0. 01 Assumptions: independent losses, p significant performance gain achievable with small no. of parity pkts, n-k 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

End-Host Overheads Software encoding/ decoding rates for 1 KB pkt size (Rizzo) => FEC

End-Host Overheads Software encoding/ decoding rates for 1 KB pkt size (Rizzo) => FEC in SW is feasible for many applications 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

End-Host Thruput Comparison: No FEC vs FEC u u No FEC, rcvr oriented with

End-Host Thruput Comparison: No FEC vs FEC u u No 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Performance Evaluation - no. transmissions to get pkt j to all rcvrs - no.

Performance Evaluation - no. transmissions to get pkt j to all rcvrs - no. transmsissions of pkt j needed for rcvr i u u u 9/14/97 well understood for spatially and temporally independent losses spatial correlation: computationally expensive for general topologies see Towsley 85, Tripathi 94, Nonnenmacher 97 temporal correlation: has not been touched on (see Nonnenmacher etal 97 for one treatment) SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Summary u reliable mcast is a hot topic u unresolved issues – proper integration

Summary u reliable mcast is a hot topic u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Multicast Applications 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Multicast Applications 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Problem u Match transmission rates to – Network capacity – Receiver “consumption” rates 9/14/97

Problem u Match transmission rates to – Network capacity – Receiver “consumption” rates 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Flow Control Challenges u Accommodating heterogeneity among receivers and paths leading to them

Multicast Flow Control Challenges u Accommodating heterogeneity among receivers and paths leading to them u Preserving fairness among – receivers of same flow – distinct flows u Scalability of feedback 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Flow Control Solutions u Loss-Tolerant Applications (e. g. , Video) – Information content

Multicast Flow Control Solutions u Loss-Tolerant Applications (e. g. , Video) – Information content per unit time can be preserved at lower data rates u Applications demanding data integrity – lower data rates => lower information content per unit time u Goal: Goal Co-Existence with TCP? 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Video Flow Control u Scalable Feedback Control (Bolot, Turletti and Wakeman) – Receivers

Multicast Video Flow Control u 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 u Problem: 9/14/97 fairness among receivers SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Video Flow Control u Improving fairness using Destination Set Grouping (Cheung, Li, Ammar)

Multicast Video Flow Control u 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 u Fairness at the expense of increased bandwidth consumption 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Video Flow Control u DSG Intra. Stream Protocol Inter. Stream Protocol and Single

Multicast Video Flow Control u DSG Intra. Stream Protocol Inter. Stream Protocol and Single Stream Comparison High Intra. Stream Protocol Med. Low Single Group DSG 9/14/97 Receivers SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Video Flow Control u Receiver-Driven Layered Multicast (Mc. Canne, Jacobson and Vetterli) –

Multicast Video Flow Control u Receiver-Driven Layered Multicast (Mc. Canne, Jacobson and Vetterli) – Single video stream subdivided into layers – Receivers add and drop layers depending on congestion – Challenge: Distributed Consensus, Layer Synchronization 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Video Flow Control u Receiver-driven Layered Multicast Source Receivers 9/14/97 SIGCOMM 97 Tutorial,

Multicast Video Flow Control u Receiver-driven Layered Multicast Source Receivers 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Video Flow Control u Receiver-Driven Layered Multicast – Drop Layer: indicated by loss

Multicast Video Flow Control u Receiver-Driven 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 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multicast Video Flow Control u Layered Video Multicast with Retransmissions (LVMR) (Li, Paul, Ammar)

Multicast Video Flow Control u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u Less Understood/Mature Area u Some Possibilities: – Window

Flow Control for Reliable Multicast u Less Understood/Mature Area u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u The Single Connection Emulation (SCE) Architecture (Window Flow

Flow Control for Reliable Multicast u The Single Connection Emulation (SCE) Architecture (Window Flow Control) Application TCP SCE IP 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u ATM Available Bit Rate Explicit Rate Messages Source

Flow Control for Reliable Multicast u ATM Available Bit Rate Explicit Rate Messages Source Receivers 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u ATM Available Bit Rate – Consolidation Algorithm –

Flow Control for Reliable Multicast u ATM Available Bit Rate – Consolidation Algorithm – Consolidation Noise – Transient Time – Volume of Feedback 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u Multiple Multicast Groups – Simulcasting or Destination Set

Flow Control for Reliable Multicast u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u Simulcasting: – Similar to DSG protocol for Video

Flow Control for Reliable Multicast u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u Data Partitioning: – Send multiple streams at different

Flow Control for Reliable Multicast u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u Data Partitioning Example R 1 R 2 R

Flow Control for Reliable Multicast u Data Partitioning Example R 1 R 2 R 3 Flow 1 rate = 1 A D Flow 2 rate = 1 B C Flow 3 rate = 2 C D 9/14/97 C SIGCOMM 97 Tutorial, Copyright Ammar and Towsley B

Flow Control for Reliable Multicast u Data Partitioning – Can achieve ideal completion time

Flow Control for Reliable Multicast u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u Cumulative Layering – Multiple data streams at different

Flow Control for Reliable Multicast u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast Channel 3 Rate = 2 B D A C

Flow Control for Reliable Multicast Channel 3 Rate = 2 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Flow Control for Reliable Multicast u Cumulative Layering – Can achieve minimum reception time

Flow Control for Reliable Multicast u Cumulative Layering – Can achieve minimum reception time with asynchronous receivers – Schedulability requires some parameter relationships – Synchronization among channels needed 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Summary u Flow control for multicast communication is a hard problem: – Scalability –

Summary u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

ATM and IP over ATM Multicast 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

ATM and IP over ATM Multicast 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

ATM Multicast u ATM: Connection-Oriented (VC) u Multicast connection establishment – UNI 3. 0/3.

ATM Multicast u ATM: Connection-Oriented (VC) u 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 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

IP Multicast over ATM u Problem (for UNI 3. x): u Mapping IP’s connectionless,

IP Multicast over ATM u Problem (for UNI 3. x): u Mapping IP’s connectionless, receiver-controlled model to ATM’s connection-oriented, sourcecontrolled model 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

The MARS Architecture u MARS: Multicast Address Resolution Server u Stores mapping between IP

The MARS Architecture u MARS: Multicast Address Resolution Server u Stores mapping between IP group address and Unicast addresses of ATM endpoints 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

MARS -- The Mesh Approach u IP receivers joining group register their ATM addresses

MARS -- The Mesh Approach u IP receivers joining group register their ATM addresses with the MARS u IP source consults MARS for list of ATM addresses u IP source opens multipoint connection to ATM end-points u Receivers joining/leaving need to inform MARS 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

MARS -- The VC Mesh MARS Request Receivers Reply Source ATM Multipoint Connection ATM

MARS -- The VC Mesh MARS Request Receivers Reply Source ATM Multipoint Connection ATM Cluster 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

MARS -- The Multicast Server u The VC Mesh approach requires one multipoint VC

MARS -- The Multicast Server u The VC Mesh approach requires one multipoint VC per source per group u Alternative: – 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 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

MARS -- The Multicast Server MARS Request Receivers Reply Source ATM Cluster 9/14/97 Multicast

MARS -- The Multicast Server MARS Request Receivers Reply Source ATM Cluster 9/14/97 Multicast Server SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

VC Mesh VS MCS u VC Mesh – Higher VC consumption – Higher signaling

VC Mesh VS MCS u VC Mesh – Higher VC consumption – Higher signaling overhead – Better Delay – Less Vulnerability u MCS : Requires Reflection Suppression u Comparison similar to Shared Tree VS Source-based Tree in multicast routing 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

VC Mesh VS MCS 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

VC Mesh VS MCS 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

The MARS for UNI 4. 0 u LIJ is closer to IP model than

The MARS for UNI 4. 0 u LIJ is closer to IP model than UNI 3. x u MARS is still needed to map IP group address to the (source, tree ID) pair 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Multipoint-to-Multipoint Support in ATM u How to support multiple sources on same multipoint VC

Multipoint-to-Multipoint Support in ATM u How to support multiple sources on same multipoint VC and shared tree u Problem: Interleaving of Cells from different AAL PDUs within switch u Solution: – No problem for AAL 3/4 – For AAL 5 : SEAM and SMART 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Simple and Efficient ATM Multicasting (SEAM) u Proposes a Core-Based Tree Approach u Solves

Simple and Efficient ATM Multicasting (SEAM) u Proposes a Core-Based Tree Approach u Solves cell interleaving by “cut through” switching – Forward cells belonging to same packet together and – Buffer other cells for same VC 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Shared Many-to-Many ATM Reservations (SMART) u Many-to-Many connection over a single VCC u Addresses

Shared Many-to-Many ATM Reservations (SMART) u Many-to-Many connection over a single VCC u Addresses – Cell-interleaving – On-demand bandwidth sharing (a la RSVP) u Solution: Take Turns (essentially) u Signalling Protocol 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Summary u ATM and Internet multicast mechanisms are incompatible u Convergence approaches have been

Summary u ATM and Internet multicast mechanisms are incompatible u Convergence approaches have been defined u ATM multicast still has problems: – many-to-many – Qo. S – routing 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Summary 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Summary 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Topics Covered in Tutorial u overview of multicast at – network layer (routing, congestion

Topics Covered in Tutorial u overview of multicast at – network layer (routing, congestion control) – transport layer (reliability, flow control) – session layer (Internet centric view) u examples taken from – Internet, MBone – ATM 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Other Topics u application issues – stronger semantics: ordering requirements, atomicity, etc. (Isis, Horus,

Other Topics u application issues – stronger semantics: ordering requirements, atomicity, etc. (Isis, Horus, Berman et al, Cornell) u session semantics u group membership u performance evaluation: how to evaluate large networks supporting large numbers of multicast applications 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

Other Topics Control Issues: u control issues related to TCP have generated 100 s

Other Topics Control Issues: u control issues related to TCP have generated 100 s of papers and are still not resolved u control aspects of multicast add at least one additional layer of complexity – a very fruitful area for research and development 9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley

9/14/97 SIGCOMM 97 Tutorial, Copyright Ammar and Towsley