Presentation is loading. Please wait.

Presentation is loading. Please wait.

Katz, Stoica F04 EECS 122: Introduction to Computer Networks Multicast Computer Science Division Department of Electrical Engineering and Computer Sciences.

Similar presentations


Presentation on theme: "Katz, Stoica F04 EECS 122: Introduction to Computer Networks Multicast Computer Science Division Department of Electrical Engineering and Computer Sciences."— Presentation transcript:

1 Katz, Stoica F04 EECS 122: Introduction to Computer Networks Multicast Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776

2 Katz, Stoica F04 2 Today’s Lecture: 16 Network (IP) Application Transport Link Physical 2 7, 8, 9 10,11 17, 18, 19 14, 15, 16 21, 22, 23 25 6

3 Katz, Stoica F04 3 Motivation Example: Internet Radio  www.digitallyimported.com (techno station) www.digitallyimported.com -Sends out 128Kb/s MP3 music streams -Peak usage ~9000 simultaneous streams only 5 unique streams (trance, hard trance, hard house, eurodance, classical) -Consumes ~1.1Gb/s bandwidth costs are large fraction of their expenditures (maybe 50%?) -If 1000 people are getting their groove on in Berkeley, 1000 unicast streams are sent from NYC to Berkeley

4 Katz, Stoica F04 4 This approach does not scale… Backbone ISP Broadcast Center

5 Katz, Stoica F04 5 Instead build trees Backbone ISP Broadcast Center Copy data at routers At most one copy of a data packet per link LANs implement link layer multicast by broadcasting Routers keep track of groups in real-time Routers compute trees and forward packets along them

6 Katz, Stoica F04 6 Multicast Routing Approaches  Kinds of Trees -Source Specific Trees -Shared Tree  Tree Computation Methods -Link state -Distance vector

7 Katz, Stoica F04 7 Source Specific Trees 6 7 8 5 4 3 1 2 12 10 13 11 Each source is the root of its own tree One tree per source Tree can consists of shortest paths to each receiver Members of the multicast treeSender

8 Katz, Stoica F04 8 Source Specific Trees 6 7 8 5 4 3 1 2 12 10 13 11 Very good performance but expensive to construct/maintain; routers need to manage a tree per source Each source is the root of its own tree One tree per source Tree can consists of shortest paths to each receiver

9 Katz, Stoica F04 9 Shared Tree 6 7 8 5 4 3 1 2 12 10 13 11 One tree used by all members in a group Easier to construct/maintain but hard to pick “good” trees for everyone!

10 Katz, Stoica F04 10 Shared Tree  Ideally, find a Steiner tree - the minimum-weighted tree connecting only the multicast members 6 7 8 5 4 3 1 2 12 10 13 11 12 2 3 21 2 2 11 15 12 2 1 2 2 7 2 2

11 Katz, Stoica F04 11 Shared Tree 6 7 8 5 4 3 1 2 12 10 13 11 12 2 3 21 2 2 11 15 12 2 1 2 2 7 2 2  Ideally, find a Steiner tree – minimum-weighted tree connecting only the multicast members  Finding Steiner Tree is NP hard  Heuristics are known

12 Katz, Stoica F04 12 Shared Tree 6 7 8 5 4 3 1 2 12 10 13 11 12 2 3 21 2 2 11 15 12 2 1 2 2 7 2 2  Alternatively, find a minimum-spanning tree – minimum-weighted tree connecting all nodes in the network  Finding a minimum spanning tree is much easier

13 Katz, Stoica F04 13 Shared Tree 6 7 8 5 4 3 1 2 12 10 13 11 12 2 3 21 2 2 11 15 12 2 1 2 2 7 2 2  Alternatively, find a minimum-spanning tree – minimum-weighted tree connecting all nodes in the network  Finding a minimum spanning tree is much easier. How?

14 Katz, Stoica F04 14 Shared Tree  Alternatively, find a minimum-spanning tree – minimum-weighted tree connecting all nodes in the network  Finding a minimum spanning tree is easier. How?  Prune back to get multicast tree 6 7 8 5 4 3 1 2 12 10 13 11 12 2 3 21 2 2 11 15 12 2 1 2 2 7 2 2

15 Katz, Stoica F04 15 Multicast Service Model  Receivers join a multicast group which is identified by a multicast address (e.g. G)  Sender(s) send data to address G  Network routes data to each of the receivers  Note: multicast vs. broadcast -Broadcast: packets are delivered to all end-hosts in the network -Multicast: packets are delivered only to end-hosts that are in (have joined) the multicast group R 0 joins G R 1 joins G R n-1 joins G S R0R0 R1R1...... [G, data] R n-1 Net

16 Katz, Stoica F04 16 Multicast Service Model (cont’d)  Membership access control -open group: anyone can join -closed group: restrictions on joining  Sender access control -anyone can send to group -anyone in group can send to group -restrictions one which host can send to group

17 Katz, Stoica F04 17 Multicast and Layering  Multicast can be implemented at different layers -data link layer e.g. Ethernet multicast -network layer e.g. IP multicast -application layer e.g. End system multicast  Which layer is best?

18 Katz, Stoica F04 18 Multicast Implementation Issues  How are multicast packets addressed?  How is join implemented?  How is send implemented?  How much state is kept and who keeps it?

19 Katz, Stoica F04 19 Data Link Layer Multicast  Recall: end-hosts in the same local area network (LAN) can hear from each other at the data link layer (e.g., Ethernet)  Reserve some data link layer addresses for multicast  Join group at multicast address G -Network interface card (NIC) normally only listens for packets sent to unicast address A and broadcast address B -To join group G, NIC also listens for packets sent to multicast address G (NIC limits number of groups joined) -Implemented in hardware, thus efficient  Send to group G -Packet is flooded on all LAN segments, like broadcast -Can waste bandwidth, but LANs should not be very large  Only host NICs keep state about who has joined  scalable to large number of receivers, groups

20 Katz, Stoica F04 20 Problems with Data Link Layer Multicast  Single data link technology  Single LAN -limited to small number of hosts -limited to low diameter latency -essentially all the limitations of LANs compared to internetworks

21 Katz, Stoica F04 21 Network Layer (IP) Multicast  Overcomes limitations of data link layer multicast  Performs inter-network multicast routing -relies on data link layer multicast for intra-network routing  Portion of IP address space defined as multicast addresses -2 28 addresses for entire Internet  Open group membership  Anyone can send to group -flexible, but leads to problems

22 Katz, Stoica F04 22 IP Multicast Routing  Intra-domain -Distance-vector multicast -Link-state multicast  Inter-domain -Protocol Independent Multicast -Single Source Multicast

23 Katz, Stoica F04 23 Distance Vector Multicast Routing Protocol (DVRMP)  An elegant extension to DV routing  Use shortest path DV routes to determine if link is on the source-rooted spanning tree  Three steps in developing DVRMP -Reverse Path Flooding -Reverse Path Broadcasting -Truncated Reverse Path Broadcasting

24 Katz, Stoica F04 24 Reverse Path Flooding (RPF)  Extension to DV unicast routing  Packet forwarding -If incoming link is shortest path to source -Send on all links except incoming -Packets always take shortest path assuming delay is symmetric  Issues -Some links (LANs) may receive multiple copies -Every link receives each multicast packet, even if no interested hosts s:2 s s s:1 s:3 s:2 s:3 r r

25 Katz, Stoica F04 25 Example  Flooding can cause a given packet to be sent multiple times over the same link  Solution: Reverse Path Broadcasting x x y y z z S S a b duplicate packet

26 Katz, Stoica F04 26 Reverse Path Broadcasting (RPB)  Chose parent of each link along reverse shortest path to source  Only parent forward to a link (child link)  Identify Child Links 1.Routing updates identify parent 2.Since distances are known, each router can easily figure out if it's the parent for a given link 3.In case of tie, lower address wins x x y y z z S S a b 5 6 child link of x for S forward only to child link

27 Katz, Stoica F04 27 Don’t Really Want to Flood!  This is still a broadcast algorithm – the traffic goes everywhere  Need to “Prune” the tree when there are subtrees with no group members  Solution: Truncated Reverse Path Broadcasting

28 Katz, Stoica F04 28 Truncated Reverse Path Broadcasting (TRPB)  Extend DV/RPB to eliminate unneeded forwarding  Identify leaves -Routers announce that a link is their next link to source S -Parent router can determine that it is not a leaf  Explicit group joining on LAN -Members periodically (with random offset) multicast report locally -Hear an report, then suppress own  Packet forwarding -If not a leaf router or have members -Out all links except incoming r1 r2 S S NL LL

29 Katz, Stoica F04 29 Pruning Details  Prune (Source,Group) at leaf if no members -Send Non-Membership Report (NMR) up tree  If all children of router R send NRM, prune (S,G) -Propagate prune for (S,G) to parent R  On timeout: -Prune dropped -Flow is reinstated -Down stream routers re-prune  Note: a soft-state approach

30 Katz, Stoica F04 30 Pruning Details  How to pick prune timers? -Too long  large join time -Too short  high control overhead  What do you do when a member of a group (re)joins? -Issue prune-cancellation message (grafts)

31 Katz, Stoica F04 31 Distance Vector Multicast Scaling  State requirements: -O(Sources  Groups) active state  How to get better scaling? -Hierarchical Multicast -Core-based Trees

32 Katz, Stoica F04 32 Core Based Trees (CBT)  Pick a “rendevouz point” for the group called the core. -Shared tree  Unicast packet to core and bounce it back to multicast group  Tree construction is receiver-based -Joins can be tunneled if required -Only nodes on One tree per group tree involved  Reduce routing table state from O(S x G) to O(G)

33 Katz, Stoica F04 33 Example  Group members: M1, M2, M3  M1 sends data root M1 M2 M3 control (join) messages data

34 Katz, Stoica F04 34 Disadvantages  Sub-optimal delay  Single point of failure -Core goes out and everything lost until error recovery elects a new core  Small, local groups with non-local core -Need good core selection -Optimal choice (computing topological center) is NP hard

35 Katz, Stoica F04 35 Problems with Network Layer Multicast (NLM)  Scales poorly with number of groups -A router must maintain state for every group that traverses it -Many groups traverse core routers  Supporting higher level functionality is difficult -NLM: best-effort multi-point delivery service -Reliability and congestion control for NLM complicated  Deployment is difficult and slow -ISP’s reluctant to turn on NLM

36 Katz, Stoica F04 36 NLM Reliability  Assume reliability through retransmission  Sender can not keep state about each receiver -E.g., what receivers have received -Number of receivers unknown and possibly very large  Sender can not retransmit every lost packet -Even if only one receiver misses packet, sender must retransmit, lowering throughput  N(ACK) implosion -Described next

37 Katz, Stoica F04 37 (N)ACK Implosion  (Positive) acknowledgements -Ack every n received packets -What happens for multicast?  Negative acknowledgements -Only ack when data is lost -Assume packet 2 is lost S S R1 R2 R3 123

38 Katz, Stoica F04 38 NACK Implosion  When a packet is lost all receivers in the sub-tree originated at the link where the packet is lost send NACKs S S R1 R2 R3 3 3 3 2?

39 Katz, Stoica F04 39 Barriers to Multicast  Hard to change IP -Multicast means change to IP -Details of multicast were very hard to get right  Not always consistent with ISP economic model -Charging done at edge, but single packet from edge can explode into millions of packets within network  Troublesome security model -Anyone can send to a group -Denial-of-service attacks on known groups

40 Katz, Stoica F04 40 Application Layer Multicast (ALM)  Let the hosts do all the “special” work -Only require unicast from infrastructure  Basic idea: -Hosts do the copying of packets -Set up tree between hosts  Example: Narada [Yang-hua et al, 2000] -Small group sizes <= hundreds of nodes -Typical application: chat

41 Katz, Stoica F04 41 Narada: End System Multicast Stanford CMU Stan1 Stan2 Berk2 “Overlay” Tree Gatech Berk1 Berkeley Gatech Stan1 Stan2 CMU Berk1 Berk2

42 Katz, Stoica F04 42 Algorithmic Challenge  Choosing replication/forwarding points among hosts -how do the hosts know about each other -and know which hosts should forward to other hosts

43 Katz, Stoica F04 43 Advantages of ALM  No need for changes to IP or routers  No need for ISP cooperation  End hosts can prevent other hosts from sending  Easy to implement reliability -use hop-by-hop retransmissions

44 Katz, Stoica F04 44 Performance Concerns  Stretch -ratio of latency in the overlay to latency in the underlying network  Stress -number of duplicate packets sent over the same physical link

45 Katz, Stoica F04 45 Performance Concerns Duplicate Packets: Bandwidth Wastage CMU Stan1 Stan2 Berk2 Gatech Berk1 Delay from CMU to Berk1 increases Stanford Berkeley Gatech Stan1 Stan2 CMU Berk1 Berk2

46 Katz, Stoica F04 46 Single Sender Multicast  Many problems with IP multicast disappear if each group is associated with a single source  Hosts joining multicast group can send join messages to source -this sets up delivery tree -no worry about “root” being in wrong place  This solves several problems: -better security and charging model -simple algorithm

47 Katz, Stoica F04 47 Example  Group members: M1, M2, M3 source M1 M2 M3 control (join) messages data

48 Katz, Stoica F04 48 What’s Wrong with SSM?  Multiple sources? -Can set up group per source, or... -Source can serve as relay for other senders  Algorithm? -Trivial  So, why isn’t SSM the answer? -Multicast no longer serves as “rendezvous” -Ok for “broadcast” apps, not good for “meeting” apps

49 Katz, Stoica F04 49 What Do You Need to Know?  DVRMP  CBT  SSM  How they compare


Download ppt "Katz, Stoica F04 EECS 122: Introduction to Computer Networks Multicast Computer Science Division Department of Electrical Engineering and Computer Sciences."

Similar presentations


Ads by Google