1 EE 122: Multicast Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson, Jennifer.

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 22 Network Layer (Broadcast and Multicast) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Advertisements

Multicast on the Internet CSE April 2015.
1 A Case For End System Multicast Yang-hua Chu, Sanjay Rao and Hui Zhang Carnegie Mellon University Largely adopted from Jonathan Shapiro’s slides at umass.
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 2004 Tutorial 7 Multicast Routing Protocols.
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.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
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.
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.
Wolfgang EffelsbergUniversity of Mannheim1 Multicast IP Wolfgang Effelsberg University of Mannheim September 2001.
CS 552 Multicast Richard Martin (slide credits B. Nath, I. Stoica)
1 CSE 401N:Computer Network LECTURE-14 MULTICAST ROUTING.
MULTICASTING Network Security.
Multicast EECS 122: Lecture 16 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
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.
Computer Networks 2 Lecture 1 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.
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 268: Overlay Networks: Introduction and Multicast Ion Stoica April 15-17, 2003.
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
Lecture 20 – Multicast University of Nevada – Reno Computer Science & Engineering Department Spring 2014 CPE 701 Internet Protocol Design.
Computer Science 6390 – Advanced Computer Networks Dr. Jorge A. Cobb Deering, Estrin, Farinacci, Jacobson, Liu, Wei SIGCOMM 94 An Architecture for Wide-Area.
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.
Björn Landfeldt School of Information Technologies NETS 3303 Networked Systems Multicast.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
APPLICATION LAYER MULTICASTING
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.
©The McGraw-Hill Companies, Inc., 2000© Adapted for use at JMU by Mohamed Aboutabl, 2003Mohamed Aboutabl1 1 Chapter 14 Multicasting And Multicast Routing.
Overlay Networks and Overlay Multicast May Definition  Network -defines addressing, routing, and service model for communication between hosts.
Multicast Communications
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
A Case for End System Multicast 學號: 報告人:通訊所 吳瑞益 指導教授:楊峻權 日期: ACM SIGMETRICS.
1 A Case For End System Multicast Yang-hua Chu, Sanjay Rao and Hui Zhang Carnegie Mellon University.
2/25/20161 Multicast on the Internet CSE 6590 Fall 2009.
EE122: Multicast Kevin Lai October 7, Internet Radio  (techno station)
Communication Networks Recitation 11. Multicast & QoS Routing.
1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002.
COMP/ELEC 429 Introduction to Computer Networks
Multicast Outline Multicast Introduction and Motivation DVRMP.
(How the routers’ tables are filled in)
Overlay Networking Overview.
EE 122: Lecture 22 (Overlay Networks)
IP Multicast COSC /5/2019.
EE 122: Lecture 13 (IP Multicast Routing)
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

1 EE 122: Multicast Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at UC Berkeley)

2 Motivation Example: Internet Radio Live 8 concert Send ~1,000 Kb/s video streams Peak usage > 100,000 simultaneous users Consumes > 100 Gbps If 1000 people are in Berkeley, and if the concert were broadcast from a single location, 1000 unicast streams are sent from that location to Berkeley

3 This approach does not scale… Backbone ISP Broadcast Center

4 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

5 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 R1R [G, data] R n-1 Net

6 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 on which host can send to group

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

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

9 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

10 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

11 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

12 IP Multicast Routing Intra-domain Source Specific Tree: Distance Vector Multicast Routing Protocol (DVRMP) Shared Tree” Core Based Tree (CBT) Inter-domain Protocol Independent Multicast Single Source Multicast

13 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

14 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

15 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

16 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 Parent of z on reverse path

17 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

18 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 and 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 L – leaf node NL – Non-leaf node

19 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

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

21 Distance Vector Multicast Scaling State requirements: O(Sources  Groups) active state How to get better scaling? Hierarchical Multicast Core-based Trees

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

23 Example Group members: M1, M2, M3 M1 sends data root M1 M2 M3 control (join) messages data

24 Disadvantages Sub-optimal delay Need good core selection Optimal choice (computing topological center) is NP hard

25 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

26 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

27 (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

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

29 Barriers to Multicast Hard to change IP Multicast means changes 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

30 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

31 Narada: End System Multicast Stanford CMU Stan 1 Stan2 Berk2 “Overlay” Tree Gatech Berk1 Berkeley Gatech Stan1 Stan2 CMU Berk1 Berk2

32 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

33 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

34 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

35 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

36 What Do You Need to Know? DVRMP CBT ALM (e.g., Narada) How they compare