Multicast. Midterm. EECS 122: Lecture 16. University of California Berkeley. Exam was not meant to be easy

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Multicast. Midterm. EECS 122: Lecture 16. University of California Berkeley. Exam was not meant to be easy"

Transcription

1 Multicast EECS : Lecture 6 Department of Electrical Engineering and Computer Sciences University of California Berkeley Midterm Exam was not meant to e easy Mean: 5 Median: 5 Std Dev: 8 Performance quite good! Worth understanding the answers Feruary, 006 EECS Lecture (AKP)

2 B s 0M urst takes.5s to srv B s 0M urst takes.5s to srv Area of two triangles = 5M = 5K packets Avg Occupancy = 5K/0 = 6.5K Avg Delay: Q/α = 6.5K/K =.5s 0M urst from B eing served 0M urst from B eing served Feruary, 006 EECS Lecture (AKP) Max Q = 5M Max delay =.5s Playout uffer =.5* = 5M D=.5s Feruary, 006 EECS Lecture (AKP) 4

3 Today Multicast RSVP Feruary, 006 EECS Lecture (AKP) 5 Broadcasting to Groups Many applications are not one-one Wecasts Group collaoration Proxy/Cache updates Packets must reach a Group rather than a single destination Group memership may e dynamic More than one group memer might e a source Idea: Notion of a Group Address First sender estalishes group, G Interested receivers join the group The network takes care of group management Chats Video Conferencing Audio Conferencing Caches and Proxies Wecasts Radio/TV Push/IE Channels Feruary, 006 EECS Lecture (AKP) 6

4 The Multicast service Model To join a multicast S [G, data] Net [G, data] R joins G [G, data] R 0 joins G [G, data] R n- joins G R 0 R... Host finds out the group address (a class D address) Sends a join message to its local router To send to a group Just send to the group Packet delivery is est effort R n- Feruary, 006 EECS Lecture (AKP) Internet Group Management Protocol IGMP Operates etween Router and local Hosts, typically attached via a LAN (e.g., Ethernet) Query response architecture. Router periodically queries the local Hosts for group memership information Can e specific or general. Hosts receiving query set a random timer efore responding. First host to respond sends memership reports 4. All the other hosts oserve the query and suppress their own reports. To Join send a group send an unsolicited Join Start a group y joining it To leave don t have to do anything Soft state Report Query to Suppresses Report Feruary, 006 EECS Lecture (AKP) 8 4

5 Naïve Routing Option: Don t change anything Point-to point routing S [R 0, data] [R, data] [R n-, data] Net [R 0, data] [R, data] [R n-, data] R 0 R... R n- Group astraction not implemented in the network Feruary, 006 EECS Lecture (AKP) 9 This approach does not scale Broadcast Center Backone ISP Feruary, 006 EECS Lecture (AKP) 0 5

6 Instead uild trees Copy data at routers At most one copy of a data packet per link Broadcast Center Backone ISP Routers keep track of groups in real-time Path computation is Tree computation LANs implement layer multicast y roadcasting Feruary, 006 EECS Lecture (AKP) Issues How many trees per group? Source-ased Shared Tree computation Steiner Tree Spanning Tree Center ased Shared Trees Source ased Trees with Reverse Path Forwarding Routing Protocols DVMRP PIM Feruary, 006 EECS Lecture (AKP) 6

7 How Many Trees per Group? Source-ased: One tree for each source Pros Works well for wecasts Can compute Good trees Cons In conference type applications everyone could e a source Too many trees! Router state explodes Shared Trees: one tree per group Pros Works well for multisource groups Easier to maintain and compute Cons Link choice may not e the est for minimizing delay, maximizing throughput Feruary, 006 EECS Lecture (AKP) Steiner Trees A tree which connects all the group nodes is a Steiner Tree Feruary, 006 EECS Lecture (AKP) 4

8 Steiner Tree 5 A tree which connects all the group nodes is a Steiner Tree Finding the min cost Steiner Tree is NP hard Feruary, 006 EECS Lecture (AKP) 5 Spanning Tree A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier 5 0 Feruary, 006 EECS Lecture (AKP) 6 8

9 Spanning Tree A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier Prune ack to get a multicast tree 5 0 Feruary, 006 EECS Lecture (AKP) Spanning Tree A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier Prune ack to get a multicast tree 5 0 Feruary, 006 EECS Lecture (AKP) 8 9

10 Computing spanning trees Many algorithms known Two popularly implemented approaches Center ased approached Source ased Reverse Path Forwarding and pruning Feruary, 006 EECS Lecture (AKP) 9 Center-ased trees single delivery tree shared y all one router identified as center of tree to join: edge router sends unicast join-msg addressed to center router join-msg processed y intermediate routers and forwarded towards center join-msg either hits existing tree ranch for this center, or arrives at center path taken y join-msg ecomes new ranch of tree for this router 0

11 Spanning Tree: Center Based Approach Center node Each node sends unicast join message to center node Message forwarded until it arrives at a node already elonging to spanning tree F c A 4 E B D (a) Stepwise construction of spanning tree 5 G F c A E B D () Constructed spanning tree G Feruary, 006 EECS Lecture (AKP) Source Based Trees mcast forwarding tree: tree of shortest path routes from source to all receivers Dijkstra s algorithm S: source R R 4 R R6 R4 5 R5 6 R LEGEND i router with attached group memer router with no attached group memer link used for forwarding, i indicates order link added y algorithm

12 Reverse Path Forwarding rely on router s knowledge of unicast shortest path from it to sender each router has simple forwarding ehavior: if (mcast datagram received on incoming link on shortest path ack to center) then flood datagram onto all outgoing links else ignore datagram Reverse Path Forwarding: example S: source R R R4 R5 LEGEND router with attached group memer router with no attached group memer R R6 R datagram will e forwarded datagram will not e forwarded Note: Every link carries every multicast packet!

13 Reverse Path Forwarding: pruning forwarding tree contains sutrees with no mcast group memers no need to forward datagrams down sutree prune msgs sent upstream y router with no downstream group memers S: source LEGEND R R4 router with attached group memer R R R6 P P R R5 P router with no attached group memer prune message links with multicast forwarding Tunneling Q: How to connect islands of multicast routers in a sea of unicast routers? physical topology logical topology mcast datagram encapsulated inside normal (non-multicastaddressed) datagram normal IP datagram sent thru tunnel via regular IP unicast to receiving mcast router receiving mcast router unencapsulates to get mcast datagram

14 Internet Multicasting Routing: DVMRP DVMRP: distance vector multicast routing protocol, RFC05 flood and prune: reverse path forwarding, sourceased tree RPF tree ased on DVMRP s own routing tales constructed y communicating DVMRP routers no assumptions aout underlying unicast initial datagram to mcast group flooded everywhere via RPF routers not wanting group: send upstream prune msgs DVMRP: continued soft state: DVMRP router periodically ( min.) forgets ranches are pruned: mcast data again flows down unpruned ranch downstream router: reprune or else continue to receive data routers can quickly regraft to tree following IGMP join at leaf odds and ends commonly implemented in commercial routers Mone routing done using DVMRP 4

15 PIM Popular intradomain method UUNET streaming using this Recognizes that most groups are very sparse Why have all of the routers participate in keeping state? Two modes Dense mode: flood and prune Sparse mode: Center(core)-ased shared tree approach Feruary, 006 EECS Lecture (AKP) 9 Resource Reservation Protocol: RSVP Signaling protocol to set up virtual circuits and trees in Intserv Allows heterogeneous hosts to participate in the same group Leverages multicast routing Designed to keep protocol overhead linear in the numer of receivers Feruary, 006 EECS Lecture (AKP) 0 5

16 RSVP: overview of operation Senders, receiver join a multicast group Path message from sender make sender presence known to routers path teardown: delete sender s path state from routers Reservation message from receiver reservation message: reserve resources from sender(s) to receiver reservation teardown: remove receiver reservations Feruary, 006 EECS Lecture (AKP) RSVP: simple audio conference H, H, H, H4, H5 oth senders and receivers multicast group m no filtering: packets from any sender forwarded audio rate: only one multicast routing tree possile H H H R R R H5 H4 Feruary, 006 EECS Lecture (AKP) 6

17 RSVP: uilding up path state H,, H5 all send path messages on m: (address=m, Tspec=, filter-spec=no-filter,refresh=00) Suppose H sends first path message H m: H in out L L L L6 L m: in L6 out L5 R L6 R R L5 H5 in m: out L L4 L4 L H H4 Feruary, 006 EECS Lecture (AKP) RSVP: uilding up path state next, H5 sends path message, creating more state in routers H m: H in out L L L6 L L L6 L in L5 L6 m: out L5 L6 R L6 R R L5 H5 in m: out L L4 L4 L H H4 Feruary, 006 EECS Lecture (AKP) 4

18 RSVP: uilding up path state H, H, H5 send path msgs, completing path state tales H m: H in out L L L L6 L L L6 L in L5 L6 m: out L5 L6 H5 m: in out R L6 R R L5 L L4 L L4 L4 L H H4 Feruary, 006 EECS Lecture (AKP) 5 Reservation Msgs: receiver-to-network signaling reservations flow upstream from receiver-tosenders, reserving resources, creating additional, receiver-related state at routers Feruary, 006 EECS Lecture (AKP) 6 8

19 RSVP: receiver reservation H wants to receive audio from all other senders H reservation msg flows uptree to sources H only reserves enough andwidth for audio stream reservation is of type no filter any sender can use reserved andwidth H H L L R L6 R R L5 L4 L H H4 H5 Feruary, 006 EECS Lecture (AKP) RSVP: receiver reservation H reservation msgs flows uptree to sources routers, hosts reserve andwidth needed on downstream links towards H H m: in out H L L L() L L L L6 L6 m: in out L5 L5 L6 L6() R L6 R R L5 H5 in L m: out L L L4 L4 L4 () H H4 Feruary, 006 EECS Lecture (AKP) 8 9

20 RSVP: receiver reservation next, H makes reservation for andwidth H forwards to R, R forwards to H and R (?) R takes no action, since already reserved on L6 H m: in out H L L() L() L L L6 L6 m: in out L5 L5 L6() in L m: out L R L6 R R L5 L L4 L4 L4 () H H4 H5 Feruary, 006 EECS Lecture (AKP) 9 0