Download presentation
Presentation is loading. Please wait.
Published byJuliet Nelson Modified over 6 years ago
1
Group (Multicast) Communication in Wide Area Networks
Walid Dabbous INRIA Sophia Antipolis
2
Definition Multicast: is the act of sending a message to multiple receivers using a single local “transmit” operation
3
A Spectrum of Paradigms
Unicast Broadcast Multicast Send to one Send to some Send to All
4
The Layering of Multicast
by Unicast Multicast by Broadcast Multicast by
5
The Many Uses of Multicasting
Teleconferencing Distributed Games Software/File Distribution Video Distribution Replicated Database Updates
6
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
7
Multicast Support Challenges
Overhead for network layer support Scalability Dealing with heterogeneity
8
Outline Multicast Routing QoS and Real-Time support
Reliable Multicast Transport Multicast Flow Control ATM and IP/ATM Multicast Summary
9
Multicast Routing
10
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
11
Principles of Multicast Routing
Addressing List Addressing Not Scalable Group Addressing Less Control
12
Principles of Multicast Routing
Reuse of unicast routing infrastructure Desirable Too Constraining Multicast routing overhead Needs to be minimized
13
Principles: Source-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 discourages dynamic groups
14
Principles: Receiver-Oriented Multicast
Deering, 1991 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
15
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 Source A B C D E
16
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
17
Basic Multicast Routing Protocols
Separately addressed packets Source A B C D E to A to B to C to D to E
18
Basic Multicast Routing Protocols
Multidestination Addressing A B C D E Source to (A,B) to (B) to (A,B) to (C,D,E) to (C) to (A,B,C,D,E) to (D,C)
19
Basic Multicast Routing Protocols
Spanning Tree Forwarding Shared or Source-Based A B C D E Source
20
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
21
Reverse Path Forwarding
A Broadcast Protocol Group addressing used Routers/Switches Forward based on source of multicast packet
22
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)
23
Reverse Path Forwarding
to use S y Routing Table Destinations S x y z w to Group
24
Reverse Path Forwarding
B C D E Source Shortest Path Tree to Source
25
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
26
Internet Multicast Routing
Group Addressing Class D IP addresses Link Layer Multicast Two Protocol Functions Group Membership IGMP Route Establishment DVMRP, MOSPF, CBT, PIM
27
Group addressing host-group model
network-level; same packet format, different address routers do all of the work special IP addresses: 28 bits => 268 million groups (plus scope) ttl value limits distribution
28
Link Layer Multicast Example Ethernet: To join group:
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
29
Internet Group Membership 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
30
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
31
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.
32
IGMPv3 ADDS: Inclusion/Exclusion of sources
Group-Source Specific Queries, Reports and Leaves Inclusion/Exclusion of sources
33
Routing Protocols Source -based Tree Protocols: Shared-Tree Protocols
DVMRP MOSPF PIM-DM Shared-Tree Protocols CBT PIM-SM
34
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)
35
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 two minutes to remove state information in routers
36
DVMRP Forwarding (cont.)
Basic idea is to flood and prune R router S no receiver packet
37
DVMRP Forwarding (cont.)
Prune branches where no members and branches not on shortest paths 2nd packet R S prune
38
DVMRP Forwarding (cont.)
Add new user via grafting; departure via pruning R S graft Report
39
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
40
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
41
PIM- Dense Mode Independent from underlying unicast routing
Slight efficiency cost Contains protocol mechanisms to: detect leaf routers avoid packet duplicates
42
PIM - Sparse Mode Rendezvous Point (Core): Receivers Meet Sources
Reception through RP connection = Shared Tree Establish Path to Source = Source-Based Tree
43
PIM - Sparse Mode Receiver Source Rendez-Vous Register Source Join
Prune
44
PIM - Sparse Mode Receiver Source Rendez-Vous
45
Core-Based Trees A shared-tree protocol
One node on shared tree is Core Sender sends to Core Core forwards over multicast tree
46
Core-Based Trees A B C D E Source Core-based tree Core
47
PIM and CBT Issues Unidirectional VS Bidirectional Shared Trees
Core/RP Placement and Selection Multiple Cores/RPs Dynamic Cores/RPs
48
BGMP Partition Class D address space
A protocol for inter-domain multicast routing Partition Class D address space Default Bidirectional Shared Tree for inter-domain routing Receiver domains can utilize choice of protocol Discussed in the IETF idmr wg
49
Mbone Mbone = multicast backbone virtual network overlaying Internet
needed until mcast capable routers deployed IP in IP encapsulation limited capacity, resilience MBONE tunnel endpoint IP router WS
50
Mbone Applications freeware commercial
vic, nv (video), vat, nevot, FreePhone (audio), wb (whiteboard) IVS, RendezVous (teleconferencing) MiMaze (distributed game) commercial IP/TV - teleconferencing (Precept) Most group applications use unicast
51
Summary Multicast Routing is a well researched problem.
Challenge now is deployment inter-operability management
52
Real-Time Multicasting and Quality-of-Service (QoS)
53
The Problem How to get smooth, continuous playout adaptation by appl.
sender receiver time t0 t t2 pkts generated (received) How to get smooth, continuous playout adaptation by appl. playout delay adj. loss concealment perf. guarantees by network
54
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
55
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
56
RTP: Real-Time Transport Protocol
Schulzrinne, et al. RFC 1889 product of IETF Audio Video Transport Working Group (AVT WG) goals lightweight, interoperability mechanism - not policy scalability - unicast, multipoint s participants separation of control/data
57
RTCP: RTP Control Protocol
estimate no. participants state of participants (talker indication) QoS feedback - adjust sender rate scalability- randomized control traffic; rate decreases as number increases
58
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
59
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
60
Guaranteed Service user specifies traffic (TSpec)
token bucket spec. (r - token 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
61
Guaranteed Service (cont.)
delay is function of R for weighted fair queueing user does not provide delay bound; delay bound controlled by choice of R,S call admission, scheduling policy unspecified service oriented towards WFQ
62
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
63
Call Setup contract between network and application approaches
network guarantees performance application guarantees traffic behavior peak rate average rate burst size approaches one pass -two pass
64
One Pass sender or receiver oriented
source (rcvr) sends resource reservation to rcvrs (source) cannot specify/guarantee QoS soft state possible periodic refreshes e.g., RSVP one pass w. advertisement rsvtn source rcvr1 rcvr2 rsvtn source rcvr1 rcvr2
65
Two Pass sender/rcvr initiated
forward phase: check for resources at each link reverse phase inform routers if call admitted reserve resources reserve max resources resource reclamation phase can be added source rcvr1 rcvr2 fwd phase rev phase
66
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
67
RSVP Operation D data (mcast) S PATH rcvr joins group via IGMP RESV
source sends PATH messages to rcvrs rcvrs send RESV messages back to source(s) reservations can be lowered, merged between senders (audio) one pass => rcvr does not know final QoS => one pass with advertising
68
Other Issues policing/traffic shaping interaction with routing
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
69
Reliable Multicast
70
Problem How to transfer data reliably from source to R receivers
scalability: 10s s s s s of receivers heterogeneity feedback implosion problem
71
Feedback Implosion Problem
. . . rcvrs sender
72
Issues level of reliability ordering full reliability semi-reliability
no ordering ordering per sender full ordering (distr. computing)
73
Approaches shift responsibilities to receivers feedback suppression
multiple multicast groups local recovery server-based recovery forward error correction (FEC)
74
Applications application requirements application characteristics
file transfer, finite duration streaming applications (billing, etc.), infinite duration low latency (DIS, teleconferencing) application characteristics one-many: one sender, all other participants receivers (streaming appl. teleconferencing) many-many: all participants send and receive (DIS)
75
Sender Oriented Reliable Mcast
Sender: mcasts all (re)transmissions selective repeat use of timeouts for loss detection ACK table Rcvr: ACKs received pkts Note: group membership important sender ACK ACK X receivers
76
Vanilla Rcvr Oriented Reliable Mcast
Sender: mcasts (re)transmissions selective repeat responds to NAKs Rcvr: upon detecting pkt loss sends pt-pt NAK timers to detect lost retransmission Note: easy to allow joins/leaves Significant performance improvement shifting burden to receivers for 1-many; not as great for many-many sender NAK X receivers
77
Feedback Suppression X randomly delay NAKs multicast to all receivers
+ reduce bandwidth - additional complexity at receivers (timers, etc) X sender NAK
78
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)
79
Server-based Reliable Multicast
first transmisions mcast to all receivers and servers each receiver assigned to server servers perform loss recovery can have more than 2 levels LBRM (Cheriton) server sender receivers
80
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) hybrid methods
81
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
82
RMTP (Lucent) Reliable Multicast Transport Protocol
imposes a tree structure on rcvrs corresponding to multicast routing tree nodes inside tree aggregate ACKs/NAKs provide repairs to downstream nodes late-joins supported thru 2-level cache rate- and window-based flow control
83
SRM (LBL) Scalable Reliable Multicast
rcvr-oriented using NAK suppression and self-organizing 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
84
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
85
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
86
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?
87
Potential Benefits of FEC
Data Retransmission D1 D2 Initial Transmission D3 D3 D2 D1 D1 D2 D3 X D3 D2 D1 D3 D2 D1 X Parity Retransmission D3 D2 X D1 P=D1 D2 D3 P P One parity pkt can recover different data pkts at different rcvrs P
88
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
89
Flow Control for Multicast Applications
90
Problem Match transmission rates to Network capacity
Receiver “consumption” rates
91
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
92
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?
93
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: fairness among receivers
94
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
95
Multicast Video Flow Control
DSG and Single Stream Comparison Receivers Intra- Stream Protocol DSG High Med. Low Single Group Intra- Stream Protocol Inter- Stream Protocol
96
Multicast Video Flow Control
Receiver-Driven Layered Multicast (McCanne, Jacobson and Vetterli) Single video stream subdivided into layers Receivers add and drop layers depending on congestion Challenge: Distributed Consensus, Layer Synchronization
97
Multicast Video Flow Control
Receiver-driven Layered Multicast Source Receivers
98
Multicast Video Flow Control
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
99
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
100
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) Not Scalable and in addition not fair Multiple Multicast Groups
101
Flow Control for Reliable Multicast
The Single Connection Emulation (SCE) Architecture (Window Flow Control) Application TCP SCE IP
102
Flow Control for Reliable Multicast
ATM Available Bit Rate Source Receivers Explicit Rate Messages
103
Flow Control for Reliable Multicast
ATM Available Bit Rate Consolidation Algorithm Consolidation Noise Transient Time Volume of Feedback
104
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)
105
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
106
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
107
Flow Control for Reliable Multicast
Data Partitioning Example R1 R2 R3 A B C D Flow 1 rate = 1 B C Flow 2 rate = 1 C D Flow 3 rate = 2
108
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
109
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)
110
Flow Control for Reliable Multicast
Receiver 3, BW = 4 Channel 3 Rate = 2 B D A C Channel 2 Rate = 1 C D A B Receiver 2, BW = 2 Channel 1 Rate = 1 A B C D Receiver 1, BW = 1
111
Flow Control for Reliable Multicast
Cumulative Layering Can achieve minimum reception timecwith asynchronous receivers Schedulability requires some parameter relationships Synchronization among channels needed
112
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!
113
ATM and IP over ATM Multicast
114
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)
115
IP Multicast over ATM Problem (for UNI3.x): Mapping
IP’s connectionless, receiver-controlled model to ATM’s connection-oriented, source-controlled model
116
The MARS Architecture MARS: Multicast Address Resolution Server
Stores mapping between IP group address and Unicast addresses of ATM endpoints
117
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
118
MARS -- The VC Mesh MARS MARS Request Receivers Reply Source
ATM Cluster Source Receivers Reply ATM Multipoint Connection
119
MARS -- The Multicast Server
The VC Mesh approach requires one multipoint VC per source per group 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
120
MARS -- The Multicast Server
MARS Request Receivers ATM Cluster Source Reply Multicast Server
121
VC Mesh VS MCS VC Mesh MCS : Requires Reflection Suppression
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
122
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
123
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
124
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
125
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
126
Summary ATM and Internet multicast mechanisms are incompatible
Convergence approaches have been defined ATM multicast still has problems: many-to-many QoS routing
127
Summary
128
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
129
Other Topics application issues session semantics group membership
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
130
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
131
References http://www.mbone.com
Christophe Diot, Walid Dabbous, Jon Crowcroft. "Multipoint Communication: A Survey of Protocols, Functions and Mechanisms", IEEE Journal on Selected Area in Communication, Vol 15, No 3, April 1997.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.