Multicast Routing Unicast one source to one destination

  • Slides: 52
Download presentation
Multicast Routing • Unicast: one source to one destination • Multicast: one source to

Multicast Routing • Unicast: one source to one destination • Multicast: one source to many destinations • Two main functions: • Efficient data distribution • Logical naming of a group 1

Example Applications • • • Broadcast audio/video Push-based systems Software distribution Web-cache updates Teleconferencing

Example Applications • • • Broadcast audio/video Push-based systems Software distribution Web-cache updates Teleconferencing (audio, video, shared whiteboard, text editor) • Multi-player games • Server/service location • Other distributed applications 2

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast •

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast • Reliability • Congestion Control 3

IP Multicast Architecture Service model Hosts Host-to-router protocol (IGMP) Routers Multicast routing protocols (various)

IP Multicast Architecture Service model Hosts Host-to-router protocol (IGMP) Routers Multicast routing protocols (various) 4

Multicast – Efficient Data Distribution Src 5

Multicast – Efficient Data Distribution Src 5

Multicast Router Responsibilities • Learn of the existence of multicast groups (through advertisement) •

Multicast Router Responsibilities • Learn of the existence of multicast groups (through advertisement) • Identify links with group members • Establish state to route packets • Replicate packets on appropriate interfaces • Routing entry: Src, incoming interface List of outgoing interfaces 6

IP Multicast Service Model (rfc 1112) • Each group identified by a single IP

IP Multicast Service Model (rfc 1112) • Each group identified by a single IP address • Groups may be of any size • Members of groups may be located anywhere in the Internet • Members of groups can join and leave at will • Senders need not be members • Group membership not known explicitly • Analogy: • Each multicast address is like a radio frequency, on which anyone can transmit, and to which anyone can tune-in. 7

IP Multicast Addresses • Class D IP addresses • 224. 0. 0. 0 –

IP Multicast Addresses • Class D IP addresses • 224. 0. 0. 0 – 239. 255 1 110 Group ID • How to allocate these addresses? • Well-known multicast addresses, assigned by IANA • Transient multicast addresses, assigned and reclaimed dynamically, e. g. , by “sdr” program 8

Multicast Scope Control – Small TTLs • TTL expanding-ring search to reach or find

Multicast Scope Control – Small TTLs • TTL expanding-ring search to reach or find a nearby subset of a group s 1 2 3 10

Multicast Scope Control – Large TTLs • Administrative TTL Boundaries to keep multicast traffic

Multicast Scope Control – Large TTLs • Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e. g. , for privacy or resource reasons The rest of the Internet An administrative domain TTL threshold set on interfaces to these links, greater than the diameter of the admin. domain 11

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast •

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast • Reliability • Congestion Control 12

IP Multicast Architecture Service model Hosts Host-to-router protocol (IGMP) Routers Multicast routing protocols (various)

IP Multicast Architecture Service model Hosts Host-to-router protocol (IGMP) Routers Multicast routing protocols (various) 13

Multicast Routing • Basic objective – build distribution tree for multicast packets • Multicast

Multicast Routing • Basic objective – build distribution tree for multicast packets • Multicast service model makes it hard • Anonymity • Dynamic join/leave 14

Shared vs. Source-based Trees • Source-based trees • Separate shortest path tree for each

Shared vs. Source-based Trees • Source-based trees • Separate shortest path tree for each sender • DVMRP, MOSPF, PIM-DM, PIM-SM • Shared trees • Single tree shared by all members • Data flows on same tree regardless of sender • CBT, PIM-SM 15

Source-based Trees Router S Source R Receiver R R S R 16

Source-based Trees Router S Source R Receiver R R S R 16

Shared Tree Router S Source R Receiver R R S RP R S R

Shared Tree Router S Source R Receiver R R S RP R S R 17

Shared vs. Source-Based Trees • Source-based trees • Shortest path trees – low delay,

Shared vs. Source-Based Trees • Source-based trees • Shortest path trees – low delay, better load distribution • More state at routers (per-source state) • Efficient for in dense-area multicast • Shared trees • Higher delay (bounded by factor of 2), traffic concentration • Choice of core affects efficiency • Per-group state at routers • Efficient for sparse-area multicast • Which is better? extra state in routers is bad! 18

Routing Techniques • Flood and prune • • Begin by flooding traffic to entire

Routing Techniques • Flood and prune • • Begin by flooding traffic to entire network Prune branches with no receivers Examples: DVMRP, PIM-DM Unwanted state where there are no receivers • Link-state multicast protocols • Routers advertise groups for which they have receivers to entire network • Compute trees on demand • Example: MOSPF • Unwanted state where there are no senders 19

Routing Techniques • Core based protocols • • Specify “meeting place” aka core Sources

Routing Techniques • Core based protocols • • Specify “meeting place” aka core Sources send initial packets to core Receivers join group at core Requires mapping between multicast group address and “meeting place” • Examples: CBT, PIM-SM 20

Distance-Vector Multicast Routing • DVMRP consists of two major components: • A conventional distance-vector

Distance-Vector Multicast Routing • DVMRP consists of two major components: • A conventional distance-vector routing protocol (like RIP) • A protocol for determining how to forward multicast packets, based on the routing table • DVMRP router forwards a packet if • The packet arrived from the link used to reach the source of the packet (reverse path forwarding check – RPF) • If downstream links have not pruned the tree 21

Example Topology G G S G 22

Example Topology G G S G 22

Broadcast with Truncation G G S G 23

Broadcast with Truncation G G S G 23

Prune G G Prune (s, g) S Prune (s, g) G 24

Prune G G Prune (s, g) S Prune (s, g) G 24

Graft G G G Report (g) Graft (s, g) S Graft (s, g) G

Graft G G G Report (g) Graft (s, g) S Graft (s, g) G 25

Steady State G G G S G 26

Steady State G G G S G 26

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast •

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast • Reliability • Congestion Control 27

Supporting Multicast on the Internet Application IP ? ? At which layer should multicast

Supporting Multicast on the Internet Application IP ? ? At which layer should multicast be implemented? Network Internet architecture 28

IP Multicast MIT Berkeley UCSD routers end systems multicast flow CMU • Highly efficient

IP Multicast MIT Berkeley UCSD routers end systems multicast flow CMU • Highly efficient • Good delay 29

End System Multicast MIT 1 MIT Berkeley MIT 2 UCSD CMU 1 CMU 2

End System Multicast MIT 1 MIT Berkeley MIT 2 UCSD CMU 1 CMU 2 Berkeley Overlay Tree MIT 1 MIT 2 UCSD CMU 1 CMU 2 30

Potential Benefits Over IP Multicast • Quick deployment • All multicast state in end

Potential Benefits Over IP Multicast • Quick deployment • All multicast state in end systems • Computation at forwarding points simplifies support for higher level functionality MIT 1 Berkeley MIT 2 UCSD CMU 1 CMU 2 31

Concerns with End System Multicast • Self-organize recipients into multicast delivery overlay tree •

Concerns with End System Multicast • Self-organize recipients into multicast delivery overlay tree • Must be closely matched to real network topology to be efficient • Performance concerns compared to IP Multicast • Increase in delay • Bandwidth waste (packet duplication) Berkeley UCSD MIT 1 MIT 2 Berkeley UCSD CMU 1 IP Multicast CMU 2 MIT 1 MIT 2 CMU 1 End System Multicast CMU 2 32

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast •

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast • Reliability • Congestion Control 33

Implosion Packet 1 is lost All 4 receivers request a resend Resend request S

Implosion Packet 1 is lost All 4 receivers request a resend Resend request S S 1 2 R 1 R 2 R 3 R 2 R 4 R 3 R 4 34

Retransmission • Re-transmitter • Options: sender, other receivers • How to retransmit • Unicast,

Retransmission • Re-transmitter • Options: sender, other receivers • How to retransmit • Unicast, multicast, scoped multicast, retransmission group, … • Problem: Exposure 35

Exposure Packet 1 does not reach R 1; Receiver 1 requests a resend Resend

Exposure Packet 1 does not reach R 1; Receiver 1 requests a resend Resend request Packet 1 resent to all 4 receivers S Resent packet 1 2 R 1 1 1 R 2 R 3 S R 2 R 4 R 3 R 4 36

Ideal Recovery Model Packet 1 reaches R 1 but is lost before reaching other

Ideal Recovery Model Packet 1 reaches R 1 but is lost before reaching other Receivers Only one receiver sends NACK to the nearest S or R with packet Resend request S Resent packet 1 2 R 1 S 1 Repair sent only to those that need packet R 1 1 R 2 R 3 R 2 R 4 R 3 R 4 37

Scalable Reliable Multicast (SRM) • Originally designed for wb • Receiver-reliable • NACK-based •

Scalable Reliable Multicast (SRM) • Originally designed for wb • Receiver-reliable • NACK-based • Every member may multicast NACK or retransmission 38

SRM Request Suppression Packet 1 is lost; R 1 requests resend to Source and

SRM Request Suppression Packet 1 is lost; R 1 requests resend to Source and Receivers Resend request S Packet 1 is resent; R 2 and R 3 no longer have to request a resend Resent packet 1 2 X 1 R 1 R 2 R 3 S Delay varies by distance R 2 R 3 X X 39

Deterministic Suppression 3 d d data Time 2 d d nack 3 d repair

Deterministic Suppression 3 d d data Time 2 d d nack 3 d repair = Sender = Repairer d 4 d d = Requestor Delay = C 1 d. S, R 40

SRM Star Topology Packet 1 is lost; All Receivers request resends Resend request S

SRM Star Topology Packet 1 is lost; All Receivers request resends Resend request S Packet 1 is resent to all Receivers Resent packet S 1 2 X R 2 R 3 1 R 4 R 2 R 3 R 4 Delay is same length 41

SRM: Stochastic Suppression 0 d d Time data 1 repair session msg d 2

SRM: Stochastic Suppression 0 d d Time data 1 repair session msg d 2 NACK d 3 2 d = Sender Delay = U[0, D 2] d. S, R = Repairer = Requestor 42

SRM (Summary) • NACK/Retransmission suppression • Delay before sending • Delay based on RTT

SRM (Summary) • NACK/Retransmission suppression • Delay before sending • Delay based on RTT estimation • Deterministic + Stochastic components • Periodic session messages • Full reliability • Estimation of distance matrix among members 43

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast •

Overview • IP Multicast Service Basics • Multicast Routing Basics • Overlay Multicast • Reliability • Congestion Control 44

Multicast Congestion Control • What if receivers have very different bandwidths? • Send at

Multicast Congestion Control • What if receivers have very different bandwidths? • Send at max? • Send at min? • Send at avg? 100 Mb/s R 100 Mb/s S ? ? ? Mb/s 1 Mb/s R 1 Mb/s 56 Kb/s R R 45

Video Adaptation: RLM • • • Receiver-driven Layered Multicast Layered video encoding Each layer

Video Adaptation: RLM • • • Receiver-driven Layered Multicast Layered video encoding Each layer uses its own mcast group On spare capacity, receivers add a layer On congestion, receivers drop a layer Join experiments used for shared learning 46

Layered Media Streams R 2 R 1 10 Mbps S R 10 Mbps 512

Layered Media Streams R 2 R 1 10 Mbps S R 10 Mbps 512 Kbps R R 1 joins layer 1, joins layer 2 joins layer 3 R 2 join layer 1, join layer 2 fails at layer 3 128 Kbps R 3 joins layer 1, fails at layer 2 47

Drop Policies for Layered Multicast • Priority • Packets for low bandwidth layers are

Drop Policies for Layered Multicast • Priority • Packets for low bandwidth layers are kept, drop queued packets for higher layers • Requires router support • Uniform (e. g. , drop tail, RED) • Packets arriving at congested router are dropped regardless of their layer • Which is better? 48

RLM Intuition 49

RLM Intuition 49

RLM Intuition • Uniform • • Better incentives to well-behaved users If oversend, performance

RLM Intuition • Uniform • • Better incentives to well-behaved users If oversend, performance rapidly degrades Clearer congestion signal Allows shared learning • Priority • Can waste upstream resources • Hard to deploy • RLM approaches optimal operating point • Uniform is already deployed • Assume no special router support 50

RLM Join Experiment • Receivers periodically try subscribing to higher layer • If enough

RLM Join Experiment • Receivers periodically try subscribing to higher layer • If enough capacity, no congestion, no drops Keep layer (& try next layer) • If not enough capacity, congestion, drops Drop layer (& increase time to next retry) • What about impact on other receivers? 51

Join Experiments Layer 4 3 2 1 Time 52

Join Experiments Layer 4 3 2 1 Time 52

RLM Scalability? • What happens with more receivers? • Increased frequency of experiments? •

RLM Scalability? • What happens with more receivers? • Increased frequency of experiments? • More likely to conflict (false signals) • Network spends more time congested • Reduce # of experiments per host? • Takes longer to converge • Receivers coordinate to improve behavior 53