Multicast EECS 122: Lecture 16 Department of Electrical Engineering and Computer Sciences University of California Berkeley.

Slides:



Advertisements
Similar presentations
1April 16, 2002 Layer 3 Multicast Addressing IP group addresses – “Class D” addresses = high order bits of “1110” Special reserved.
Advertisements

Introduction 1 Lecture 22 Network Layer (Broadcast and Multicast) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Multicasting 1. Multicast Applications News/sports/stock/weather updates Distance learning Configuration, routing updates, service location Pointcast-type.
Multicast on the Internet CSE April 2015.
Multicasting CSE April Internet Multicast Service Model Multicast group concept: use of indirection a host “sends” IP datagrams to multicast.
COS 420 Day 15. Agenda Assignment 3 Due Assignment 4 Posted Chap Due April 6 Individual Project Presentations Due IEPREP - Jeff MANETS - Donnie.
1 Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ EE122 Fall 2011 Scott Shenker Materials with thanks to.
1 Internet Networking Spring 2006 Tutorial 7 DVMRP.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
COS 420 Day 14. Agenda Assignment 3 Posted Covers chapters Due March 23 Assignment 4 Posted Chap Due April 6 Individual Project Papers due.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 23 Introduction to Computer Networks.
Chapter 4 IP Multicast Professor Rick Han University of Colorado at Boulder
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
CS 268: IP Multicast Routing Kevin Lai April 22, 2001.
Computer Networking Lecture 24 – Multicast.
Internet Networking Spring 2002
1 EE 122: Multicast Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson, Jennifer.
1 IP Multicasting. 2 IP Multicasting: Motivation Problem: Want to deliver a packet from a source to multiple receivers Applications: –Streaming of Continuous.
EE689 Lecture 12 Review of last lecture Multicast basics.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Multicast Computer Science Division Department of Electrical Engineering and Computer Sciences.
1 CSE 401N:Computer Network LECTURE-14 MULTICAST ROUTING.
MULTICASTING Network Security.
Spanning Tree and Multicast. The Story So Far Switched ethernet is good – Besides switching needed to join even multiple classical ethernet networks Routing.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
Multicast Routing Protocols NETE0514 Presented by Dr.Apichan Kanjanavapastit.
Network Layer4-1 R1 R2 R3R4 source duplication R1 R2 R3R4 in-network duplication duplicate creation/transmission duplicate Broadcast Routing r Deliver.
Multicast Sources: Kurose and Ross cast/addresstranslation_01.html.
AD HOC WIRELESS MUTICAST ROUTING. Multicasting in wired networks In wired networks changes in network topology is rare In wired networks changes in network.
CS 268: IP Multicast Routing Ion Stoica April 5, 2004.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
CS 5565 Network Architecture and Protocols Godmar Back Lecture 22.
Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks  4.3 What ’ s inside a router r 4.4 IP: Internet.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Chapter 15 Multicasting and Multicast Routing
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
Multicast Routing, Error Control, and Congestion Control.
IP Multicast COSC Addressing Class D address Ethernet broadcast address (all 1’s) IP multicast using –Link-layer (Ethernet) broadcast –Link-layer.
CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
Björn Landfeldt School of Information Technologies NETS 3303 Networked Systems Multicast.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #7 DVMRP.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 21: Multicast Routing Slides used with.
1 IP Multicasting Relates to Lab 10. It covers IP multicasting, including multicast addressing, IGMP, and multicast routing.
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Internet routing protocols m RIP m OSPF m IGRP m BGP r Router architectures r IPv6 Today: r IPv6.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Multicast Communications
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
2/25/20161 Multicast on the Internet CSE 6590 Fall 2009.
EE122: Multicast Kevin Lai October 7, Internet Radio  (techno station)
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
Communication Networks Recitation 11. Multicast & QoS Routing.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002.
DMET 602: Networks and Media Lab
COMP/ELEC 429 Introduction to Computer Networks
Multicast Outline Multicast Introduction and Motivation DVRMP.
(How the routers’ tables are filled in)
CMPE 252A: Computer Networks
Multicast on the Internet
IP Multicast COSC /5/2019.
EE 122: Lecture 13 (IP Multicast Routing)
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

Multicast EECS 122: Lecture 16 Department of Electrical Engineering and Computer Sciences University of California Berkeley

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 2 Broadcasting to Groups Many applications are not one-one  Broadcast  Group collaboration  Proxy/Cache updates  Resource Discovery Packets must reach a Group rather than a single destination  Group membership may be dynamic  More than one group member might be a source Idea: After a group is established  Interested receivers join the group  The network takes care of group management  Recall RSVP Webcasts Radio/TV Push/IE Channels Chats Video Conferencing Audio Conferencing Caches and Proxies

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 3 The Multicast service Model 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  only one host can send to group Packet delivery is best effort R 0 joins G R 1 joins G R n-1 joins G S R0R0 R1R [G, data] R n-1 Net

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 4 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. as an overlay network like Kazaa Which layer is best?

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 5 Multicast Implementation Issues How are multicast packets addressed? How is join implemented? How is send implemented?  How does multicast traffic get routed? This is easy at the link layer and hardest at the network layer How much state is kept and who keeps it?

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 6 Ethernet Multicast Reserve some Ethernet MAC addresses for multicast To join group 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, so efficient To 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

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 7 Limitations of Data Link Layer Multicast Single LAN  limited to small number of hosts  limited to low diameter latency  essentially all the limitations of LANs compared to internetworks Broadcast doesn’t cut it in larger networks

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 8 IP Multicast: Interconnecting LANS Interconnected LANs LANs support link-level multicast Map globally unique multicast address to LAN- based multicast address (LAN-specific algorithm) IP Group addresses are class D addresses  1110/28 or to

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 9 Internet Group Management Protocol IGMP Operates between Router and local Hosts, typically attached via a LAN (e.g., Ethernet)  Query response architecture 1. Router periodically queries the local Hosts for group membership information Can be specific or general 2. Hosts receiving query set a random timer before responding 3. First host to respond sends membership reports 4. All the other hosts observe the query and suppress their own repots. To Join send a group send an unsolicited Join  Start a group by joining it To leave don’t have to do anything  Soft state Query to Report Suppresses Report

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 10 Naïve Routing Option: Don’t change anything S R0R0 R1R [R 0, data] [R 1, data] [R n-1, data] [R 0, data] [R 1, data] [R n-1, data] R n-1 Net Group abstraction not implemented in the network Point-to point routing

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 11 This approach does not scale… Backbone ISP Broadcast Center

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 12 Instead build trees Backbone ISP Broadcast Center Copy data at routers At most one copy of a data packet per link Routers keep track of groups in real-time “Path” computation is Tree computation LANs implement layer 2 multicast by broadcasting

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 13 Routing: Approaches Kinds of Trees  Shared Tree  Source Specific Trees Tree Computation Methods Intradomain Update methods  Build on unicast Link State: MOSPF  Build on unicast Distance Vector: DVMRP  Protocol Independent: PIM Interdomain routing: BGMP  This is still evolving…

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 14 Source Specific Trees Each source is the route of its own tree.

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 15 Source Specific Trees Each source is the route of its own tree. One tree for each source Can pick “good” trees but lots of state at the routers!

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 16 Shared Tree One tree used by all Can’t pick “good” trees but minimal state at the routers

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 17 Tree Computation A tree which connects all the group nodes is a Steiner Tree Finding the min cost Steiner Tree is NP hard

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 18 Tree Computation A tree which connects all the group nodes is a Steiner Tree Finding the min cost Steiner Tree is NP hard

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 19 Tree Computation A tree which connects all the group nodes is a Steiner Tree Finding the min cost Steiner Tree is NP hard The tree does not span the network Heuristics are known

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 20 Tree Computation A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 21 Tree Computation A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 22 Tree Computation A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier Prune back to get a multicast tree

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 23 Tree Computation A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier Prune back to get a multicast tree

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 24 Link State Protocols e.g. MOSPF Use in conjunction with a link state protocol for unicast Enhance the LSP updates with group membership Compute best tree from source Flood Membership in link state advertisements Dynamics are a problem

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 25 Distance Vector Multicast Routing An elegant extension to DV routing Use shortest path DV routes to determine if link is on the source-rooted spanning tree

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 26 Distance Vector Multicast Extension to DV unicast routing Packet forwarding  iff incoming link is shortest path to source  out all links except incoming  Reverse Path Flooding (RPF)  packets always take shortest path assuming delay is symmetric Issues  Every link receives each multicast packet, even if no interested hosts: Pruning  Some links (LANs) may receive multiple copies: Reverse Path Broadcasting s:2 s s s:1 s:3 s:2 s:3 r r

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 27 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

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 28 Reverse Path Broadcasting (RPB) Extend DV to eliminate duplicate packets Choose parent router for each link  router with shortest path to source  lowest address breaks ties  each router can compute independently from already known information  each router keeps a bitmap with one bit for each of its links Only parent forwards onto link s:2 s s s:1 s:3 s:2 s:3 r r P C

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 29 Identify Child Links Routing updates identify parent Since distances are known, each router can easily figure out if it's the parent for a given link In case of tie, lower address wins

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 30 Reverse Path Broadcasting (RPB) x x y y z z S S a b 5 6 child link of x for S forward only to child link

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 31 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 Strategy 1. Identify leaf networks with no members IGMP 2. Propagate this information up the subtree

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 32 How much to Prune? Truncated Reverse Path Broadcasting: Prunes to prevent flooding of all packets Reverse Path Multicasting: More aggressive. Scale router state with the number of active groups  Use on-demand pruning so that router group state scales with number of active groups (not all groups)

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 33 Pruning Details Prune (Source,Group) at leaf if no members  Send Non-Membership Report (NMR) up tree If all children of router R prune (S,G)  Propagate prune for (S,G) to parent R On timeout:  Prune dropped  Flow is reinstated  Down stream routers re-prune Note: again a soft-state approach

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 34 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)

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 35 What to do if most of the routers in the internet are not multicast enabled? Tunnel between multicast enabled routers Creates an “overlay” network but both operate at Level 3… This is how multicast was first deployed MBONE IP IPM

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 36 RMP Scaling State requirements:  O(Sources  Groups) active state How to get better scaling?  Hierarchical Multicast  Core-based Trees

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 37 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)

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 38 Example Group members: M1, M2, M3 M1 sends data root M1 M2 M3 control (join) messages data

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 39 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 complete

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 40 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: Core-based shared tree approach with a twist

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 41 PIM Sparse Mode Routers explicitly issue JOIN and Prune messages to the Core Recievers typically send a Join message of the form (*,G)  As it propagates towards the core it establishes a new branch of the shared tree To send on the tree, tunnel to the core and then traverse the shared tree  This can lead to bad performance To optimize sending from S, the core can send Join message of the form (S,G) to S.  Creates a specific path from S to the core Receivers can send (S,G) messages as well to S and gradually replace the shared tree with a source specific tree

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 42 Problems with Network Layer Multicast 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  Difficult to debug problems given the service model

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 43 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

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 44 (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

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 45 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 R ?

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 46 Scalable Reliable Multicast (SRM) Randomize NACKs (request repairs) All traffic including request repairs and repairs are multicast A repair can be sent by any node that heard the request A node suppresses its request repair if another node has just sent a request repair for the same data item A node suppresses a repair if another node has just sent the repair

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 47 Avoiding NACK Implosions Every node estimates distance (in time) from every other node  Information is carried in session reports (< 5% of bandwidth) Nodes use randomized function of distance to decide when to  Send a request repair  Reply to a request repair

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 48 ISPs charge by bandwidth Backbone ISP Broadcast Center They make more money without multicast Remember what interdomain protocols optimize for….

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 49 Application Layer Multicast Provide multicast functionality above the IP unicast Gateway nodes could be the hosts or multicast gateways in the network Advantages  No multicast dial-tone needed  Performance can be optimized to application Loss, priorities etc.  More control over the topology of the tree  Easier to monitor and control groups Disadvantages  Scale  Performance if just implemented on the hosts (not gateways)

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures 50 Summary Large amount of work on multicast routing Major problems  preventing flooding  minimizing state in routers  denial-of-service attacks  deployment Multicast can be implemented at different layers  lower layers optimize performance  higher layers provide more functionality IP Multicast still not widely deployed  Ethernet multicast is deployed  application layer multicast systems are promising