L20 Multicast Multicast Routing Unicast one source to

  • Slides: 80
Download presentation
L-20 Multicast

L-20 Multicast

Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations

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 2

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control Overlay Multicast Publish-Subscribe 3

Multicast – Efficient Data Distribution Src 4

Multicast – Efficient Data Distribution Src 4

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

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 5

Logical Naming Single name/address maps to logically related set of destinations Destination set =

Logical Naming Single name/address maps to logically related set of destinations Destination set = multicast group How to scale? Single name/address independent of group growth or changes 6

Multicast Groups Members are the intended receivers Senders may or may not be members

Multicast Groups Members are the intended receivers Senders may or may not be members Hosts may belong to many groups Hosts may send to many groups Support dynamic creation of groups, dynamic membership, dynamic sources 7

Scope Groups can have different scope LAN (local scope) Campus/admin scoping TTL scoping Concept

Scope Groups can have different scope LAN (local scope) Campus/admin scoping TTL scoping Concept of scope important to multipoint protocols and applications 8

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

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 9

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control Overlay Multicast Publish-Subscribe 10

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) 11

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

IP Multicast Service Model (rfc 1112) Each group identified by a single IP Groups may be of any size Members of groups may be located address 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. 12

IP Multicast Addresses Class D IP addresses 224. 0. 0. 0 – 239. 255

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

IP Multicast Service Sending – same as before Receiving – two new operations Join-IP-Multicast-Group(group-address,

IP Multicast Service Sending – same as before Receiving – two new operations Join-IP-Multicast-Group(group-address, interface) Leave-IP-Multicast-Group(group-address, interface) Receive multicast packets for joined groups via normal IP-Receive operation 14

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

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

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

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 16

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control Overlay Multicast Publish-Subscribe 17

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) 18

Multicast Routing Basic objective – build distribution tree for multicast packets Multicast service model

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

Routing Techniques Flood and prune Begin by flooding traffic to entire network Prune branches

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 20

Routing Techniques Core based protocols Specify “meeting place” aka core Sources send initial packets

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 21

Shared vs. Source-based Trees Source-based trees Separate shortest path tree for each sender DVMRP,

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 22

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

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

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

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

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

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 bad! is 25

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control Overlay Multicast Publish-Subscribe 26

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

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 27

Example Topology G G S G 28

Example Topology G G S G 28

Broadcast with Truncation G G S G 29

Broadcast with Truncation G G S G 29

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

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

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 31

Steady State G G G S G 32

Steady State G G G S G 32

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control Overlay Multicast Publish-Subscribe 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, multicast, scoped multicast, retransmission

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

SRM Originally designed for wb Receiver-reliable NACK-based Every member may multicast retransmission NACK or

SRM Originally designed for wb Receiver-reliable NACK-based Every member may multicast retransmission NACK or 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 estimation Deterministic +

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

What’s Missing? Losses at link (A, C) causes retransmission to the whole group Only

What’s Missing? Losses at link (A, C) causes retransmission to the whole group Only retransmit to those members who lost the packet [Only request from the nearest responder] S 0 0 B A 0. 99 C 0 0 D Sender E 0 F Receiver 44

Local Recovery Different techniques in various Application-level hierarchy Fixed v. s. dynamic TTL scoped

Local Recovery Different techniques in various Application-level hierarchy Fixed v. s. dynamic TTL scoped multicast Router supported systems 45

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control Overlay Multicast Publish-Subscribe 46

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

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 47

Video Adaptation: RLM Receiver-driven Layered Multicast Layered video encoding Each layer uses its own

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 48

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 49

Drop Policies for Layered Multicast Priority Packets for low bandwidth layers are kept, drop

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? Intuition vs. reality! 50

RLM Intuition 51

RLM Intuition 51

RLM Intuition Uniform Better incentives to well-behaved users If oversend, performance rapidly degrades Clearer

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 52

RLM Join Experiment Receivers periodically try subscribing to higher layer If enough capacity, no

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? 53

Join Experiments Layer 4 3 2 1 Time 54

Join Experiments Layer 4 3 2 1 Time 54

RLM Scalability? What happens with more receivers? Increased frequency of experiments? More likely to

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 55

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control Overlay Multicast Publish-Subscribe 56

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 57

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

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

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 MIT 1 Overlay Tree MIT 2 UCSD CMU 1 CMU 2 59

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

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 60

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

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 Multicast concerns compared to IP 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 61

Coordination: Cooperative group communication Scribe: Tree-based group management Multicast, anycast primitives Scalable: large numbers

Coordination: Cooperative group communication Scribe: Tree-based group management Multicast, anycast primitives Scalable: large numbers of groups, members, wide range of members/group, dynamic membership [IEEE JSAC ’ 02] 62

Cooperative group communication Operations: create(g) join(g) leave(g) multicast(g, m) anycast(g, m) • group. Id

Cooperative group communication Operations: create(g) join(g) leave(g) multicast(g, m) anycast(g, m) • group. Id g mapped to n 0 • decentralized membership • robust, scalable nodes g: n 1, n 2 n 0 g n 1 g: n 3, n 4 n 2 g n 3 g n 4 63

Scribe group. Id Proximity spa Join(group. Id) 64

Scribe group. Id Proximity spa Join(group. Id) 64

Respecting forwarding capacity The tree structure described may not respect maximum capacities Scribe's push-down

Respecting forwarding capacity The tree structure described may not respect maximum capacities Scribe's push-down fails to resolve the problem because a leaf node in one tree may have children in another tree 65

Parent location algorithm Node adopts prospective child If too many children, choose one to

Parent location algorithm Node adopts prospective child If too many children, choose one to reject: First, look for one in stripe without shared prefix Otherwise, select node with shortest prefix match Orphan locates new parent in up to two steps: Tries former siblings with stripe prefix match Adopts or rejects using same criteria; continue pushdown Use the spare capacity group 66

The spare capacity group If orphan hasn't found parent yet, anycasts to spare capacity

The spare capacity group If orphan hasn't found parent yet, anycasts to spare capacity group Group contains all nodes with fewer children than their forwarding capacity Anycast returns nearby node, which starts a DFS of the spare capacity group tree, sending first to a child. . . 67

Spare capacity group (cont. ) At each node in the search: If node has

Spare capacity group (cont. ) At each node in the search: If node has no children left to search, check whether it receives a stripe the orphan seeks If so, verifies that the orphan is not an ancestor (which would create a cycle) If both tests succeed, the node adopts the orphan May leave spare capacity group If either test fails, back up to parent (more DFS. . . ) 68

A spare capacity example 69

A spare capacity example 69

Problems Imposing bandwidth constraints on Scribe can result in: High tree depth non-DHT links

Problems Imposing bandwidth constraints on Scribe can result in: High tree depth non-DHT links Observed Cause: mismatch between id space and node bandwidth constraints 70

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control

Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Reliability Congestion Control Overlay Multicast Publish-Subscribe 71

Publish-Subscribe P/S service is also known as event service Publishers role : Publishers generate

Publish-Subscribe P/S service is also known as event service Publishers role : Publishers generate event data and publishes them Subscribers role : Subscribers submit their subscriptions and process the events received P/S service: It’s the mediator/broker that routes events from publishers to interested subscribers 72

Publish/Subscribe Want champions league football news REAL MADRID 42 MARSEILLE Subscribe Publish Publication Want

Publish/Subscribe Want champions league football news REAL MADRID 42 MARSEILLE Subscribe Publish Publication Want weather news for Lancaster Publish/Subscribe Service Weather Lancaster : sunny intervals min 11°C max 20°C Subscription Want Traff ic update fo r junction A 6 Subscriber Publisher 73

Key attributes of P/S communication model The publishing entities and subscribing entities are anonymous

Key attributes of P/S communication model The publishing entities and subscribing entities are anonymous The publishing entities and subscribing entities are highly de-coupled Asynchronous communication model The number of publishing and subscribing entities can dynamically change without affecting the entire system 74

Key functions implemented by P/S service Event filtering (event selection)- The process which selects

Key functions implemented by P/S service Event filtering (event selection)- The process which selects the set of subscribers that have shown interest in a given event Event routing (event delivery) – The process of routing the published events from the publisher to all interested subscribers 75

Subject based vs. Content based Subject based: Generally also known as topic based, group

Subject based vs. Content based Subject based: Generally also known as topic based, group based or channel based event filtering. Here each event is published to one of these channels by its publisher A subscriber subscribes to a particular channel and will receive all events published to the subscribed channel. Simple process for matching an event to subscriptions 76

Subject based vs. Content based: More flexibility and power to subscribers, by allowing to

Subject based vs. Content based: More flexibility and power to subscribers, by allowing to express as an arbitrary query over the contents of the event. E. g. Notify me of all stock quotes of IBM from New York stock exchange if the price is greater than 150 Added complexity in matching an event to subscriptions 77

Event routing The basic P/S system consists of many event publishers, an event broker

Event routing The basic P/S system consists of many event publishers, an event broker (or mediator) and many subscribers. An event publisher generates an event in response to some change it monitors The events are published to an event broker which matches events against all subscriptions forwarded by subscribers in the system. Event broker system could have either a single event broker or multiple distributed event brokers coordinating among themselves 78

Event routing C 1, C 2, C 3 are subscriptions of S 1, S

Event routing C 1, C 2, C 3 are subscriptions of S 1, S 2, S 3 respectively P C 1 P Event broker system C 2 S 1 S 2 P C 3 P OR Single broker P- Event publisher S – Event subscriber S 3 Cluster of cooperating brokers 79

Basic elements of P/S model Event data Structure Types model Subscription model Filter language

Basic elements of P/S model Event data Structure Types model Subscription model Filter language Scope (subject, content, context) General challenge Expressiveness vs. Scalability 80