1 CS 268: Lecture 12 (Multicast) Ion Stoica March 1, 2006.

Slides:



Advertisements
Similar presentations
1 CS 194: Distributed Systems Process resilience, Reliable Group Communication Scott Shenker and Ion Stoica Computer Science Division Department of Electrical.
Advertisements

Multicast on the Internet CSE April 2015.
L-21 Multicast. L -15; © Srinivasan Seshan, Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Overlay.
COS 420 Day 15. Agenda Assignment 3 Due Assignment 4 Posted Chap Due April 6 Individual Project Presentations Due IEPREP - Jeff MANETS - Donnie.
TCP/IP Protocol Suite 1 Chapter 15 Upon completion you will be able to: Multicasting and Multicast Routing Protocols Differentiate between a unicast, multicast,
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
588 Section 6 Neil Spring May 11, Schedule Notes – (1 slide) Multicast review –(3slides) RLM (the paper you didn’t read) –(3 slides) ALF & SRM –(8.
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.
Spring 2007CSci5221: IP Multicast1 Internet Design Case Study: IP Multicast What is multicast? Why multicast? Understand the “spirit”, not necessarily.
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 EE 122: Multicast Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson, Jennifer.
CS 268: Computer Networking L-21 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two.
1 IP Multicasting. 2 IP Multicasting: Motivation Problem: Want to deliver a packet from a source to multiple receivers Applications: –Streaming of Continuous.
TDC375 Autumn 03/04 John Kristoff - DePaul University 1 Network Protocols Multicast.
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 268: Multicast Transport Kevin Lai April 24, 2001.
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.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
Computer Networks 2 Lecture 1 Multicast.
Multicasting  A message can be unicast, multicast, or broadcast.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
22.1 Chapter 22 Network Layer: Delivery, Forwarding, and Routing Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
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.
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.
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
Source specific multicast routing and QoS issues Laurentiu Barza.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
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.
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.
©The McGraw-Hill Companies, Inc., 2000© Adapted for use at JMU by Mohamed Aboutabl, 2003Mohamed Aboutabl1 1 Chapter 14 Multicasting 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.
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
Multicast Communications
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #09: SOLUTIONS Shivkumar Kalyanaraman: GOOGLE: “Shiv.
1 Protocol Independent Multicast (PIM) To develop a scalable protocol independent of any particular unicast protocol –ANY unicast protocol to provide routing.
2/25/20161 Multicast on the Internet CSE 6590 Fall 2009.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 12 - Multicast.
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.
22.1 Network Layer Delivery, Forwarding, and Routing.
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
CS 269: Lecture 11 Multicast Scott Shenker and Ion Stoica
IP Multicast COSC /5/2019.
EE 122: Lecture 13 (IP Multicast Routing)
Optional Read Slides: Network Multicast
Presentation transcript:

1 CS 268: Lecture 12 (Multicast) Ion Stoica March 1, 2006

2 History  Multicast and QoS dominated research literature in the 90’s  Both failed in their attempt to become pervasively available -Both now available in enterprises, but not in public Internet  Both now scorned as research topics

3 Irony  The biggest critics of QoS were the multicast partisans -And the QoS advocates envied the hipness of mcast…  They complained about QoS being unscalable -Among other complaints….  Irony #1: multicast is no more scalable than QoS  Irony #2: scaling did not cause either of their downfalls  Many now think economics was the problem -Revenue model did not fit delivery model

4 Lectures  Today: multicast -Focus on multicast as a state of mind, not on details  Wednesday: QoS -More “why” than “what”

5 Agenda  Preliminaries  Multicast routing  Using multicast  Reliable multicast  Multicast’s philosophical legacy

6 Motivation  Often want to send data to many machines at once -Video distribution (TV broadcast) -Teleconferences, etc. -News updates  Using unicast to reach each individual is hard and wasteful -Sender state: ~O(n) and highly dynamic -Total load: ~O(nd) where d is net diameter -Hotspot load: load ~O(n) on host and first link  Multicast: -Sender state: O(1), total load O(d log n), hotspot load O(1)

7 Multicast Service Model  Send to logical group address -Location-independent  Delivery limited by specified scope -Can reach “nearby” members  Best effort delivery

8 Open Membership Model  Anyone, anywhere, can join  Dynamic membership -join and leave at will  Anyone can send at any time -Even nonmembers

9 Division of Responsibilities  Host’s responsibility to register interest with networks -IGMP  Network’s responsibility to deliver packets to host -Multicast routing protocol  Left unspecified: -Address assignment (random, MASC, etc.) -Application-to-group mapping (session directory, etc.)

10 Target Environment  LANs connected in arbitrary topology  LANs support local multicast  Host network cards filter multicast traffic

11 Multicast Routing Algorithms

12 Routing Performance Goals  Roughly equivalent to unicast best-effort service in terms of drops/delays -Efficient tree -No complicated forwarding machinery, etc.  Low join/leave latency

13 Two Basic Routing Approaches  Source-based trees: (e.g., DVMRP, PIM-DM) -A tree from each source to group -State: O(G*S) -Good for dense groups (all routers involved)  Shared trees: (e.g., CBT, PIM-SM) -A single tree for group, shared by sources -State: O(G) -Better for sparse groups (only routers on path involved)

14 DVMRP  Developed as a sequence of protocols: -Reverse Path Flooding (RPF) -Reverse Path Broadcast (RPB) -Truncated Reverse Path Broadcasting (TRPB) -Reverse Path Multicast (RPM)  General Philosophy: multicast = pruned broadcast -Don’t construct new tree, merely prune old one  Observation: -Unicast routing state tells router shortest path to S -Reversing direction sends packets from S without forming loops

15 Basic Forwarding Rule  Routing state: -To reach S, send along link L  Flooding Rule: -If a packet from S is received along link L, forward on all other links  This works fine for symmetric links -Ignore asymmetry today  This works fine for point-to-point links -Can result in multiple packets sent on LANs

16 Example  Flooding can cause a given packet to be sent multiple times over the same link x x y y z z S S a b duplicate packet

17 Broadcasting Extension  For each link, and each source S, define parent and child -Parent: shortest path to S (ties broken arbitrarily) -All other routers on link are children  Broadcasting rule: only parent forwards packet to L  Problem fixed  But this is still broadcast, not multicast!

18 Multicast = Pruned Broadcast  Start with full broadcast (RPB)  If leaf has no members, prune state -Send non-membership report (NMR)  If all children of a router R prune, then router R sends NMR to parent  New joins send graft to undo pruning

19 Problems with Approach  Starting with broadcast means that all first packets go everywhere  If group has members on most networks, this is ok  But if group is sparse, this is lots of wasted traffic  What about a different approach: -Source-specific tree vs shared tree -Pruned broadcast vs explicitly constructed tree

20 Core Based Trees (CBT)  Ballardie, Francis, and Crowcroft, -“Core Based Trees (CBT): An Architecture for Scalable Inter- Domain Multicast Routing”, SIGCOMM 93  Similar to Deering’s Single-Spanning Tree  Unicast packet to core, but forwarded to multicast group  Tree construction by receiver-based “grafts” -One tree per group, only nodes on tree involved  Reduce routing table state from O(S x G) to O(G)

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

22 Disadvantages  Sub-optimal delay  Small, local groups with non-local core -Need good core selection -Optimal choice (computing topological center) is NP complete

23 Why Isn’t Multicast Pervasive?  Sound technology  Implemented in most routers  Used by many enterprises  But not available on public Internet

24 Possible Explanation [Holbrook & Cheriton ’99]  Violates ISP input-rate-based billing model -No incentive for ISPs to enable multicast!  No indication of group size (needed for billing)  Hard to implement sender control -Any mcast app can be subject to simple DoS attack!!  Multicast address scarcity -Global allocation required  Awkward interdomain issues with “cores”

25 Solution: Single-Source Multicast  Each group has only one source  Use both source and destination IP fields to define a group -Each source can allocate 16 millions “channels” -Use RPM algorithm  Add a counting mechanism -Use a recursive CountQuery message  Use app-level relays to for multiple sources

26 Discussion  Does multicast belong in the network layer? -Why not implemented by end hosts?  How important is economic analysis in protocol design? -Should the design drive economics, or the other way around?  Multicast addresses are “flat” -Doesn’t that make it hard for routers to scale? -Address allocation and aggregation?  Should everything be multicast?  What other delivery models are needed?

27 Reliable Multicast

28 How to Make Multicast Reliable?  FEC can help, but isn’t perfect  Must have retransmissions  But sender can’t keep state about each receiver -Has to be told when someone needs a packet

29 SRM Design Approach  Let receivers detect lost packets -By holes in sequence numbers  They send NACK when loss is detected  Any node can respond to NACK  NACK/Response implosion averted through suppression -Send NACKs at random times -If hear NACK for same data, reset NACK timer -If node has data, it resends it, using similar randomized algorithm

30  Chosen from the uniform distribution on -A : node that lost the packet -S : source -C 1,C 2 : algorithm parameters -d S,A : latency between S and A -i : iteration of repair request tries seen  Algorithm -Detect loss  set timer -Receive request for same data  cancel timer, set new timer -Timer expires  send repair request Repair Request Timer Randomization

31 Timer Randomization  Repair timer similar -Every node that receives repair request sets repair timer -Latency estimate is between node and node requesting repair  Timer properties – minimize probability of duplicate packets -Reduce likelihood of implosion (duplicates still possible) Poor timer, randomized granularity High latency between nodes -Reduce delay to repair Nodes with low latency to sender will send repair request more quickly Nodes with low latency to requester will send repair more quickly When is this sub-optimal?

32 Chain Topology  C 1 = D 1 = 1, C 2 = D 2 = 0  All link distances are 1 L2 L1 R1 R2 R3 source data out of order data/repair request repair request TO repair TO request repair

33 Star Topology  C 1 = D 1 = 0,  Tradeoff between (1) number of requests and (2) time to receive the repair  C 2 <= 1 -E(# of requests) = g –1  C 2 > 1 -E(# of requests) = 1 + (g-2)/C 2 -E(time until first timer expires) = 2C 2 /g  -E(# of requests) = -E(time until first timer expires) = N1 N2 N3 N4 Ng source

34 Bounded Degree Tree  Use both -Deterministic suppression (chain topology) -Probabilistic suppression (star topology)  Large C 2 /C 1  fewer duplicate requests, but larger repair time  Large C 1  fewer duplicate requests  Small C 1  smaller repair time

35 Adaptive Timers  C and D parameters depends on topology and congestion  choose adaptively  After sending a request: -Decrease start of request timer interval  Before each new request timer is set: -If requests sent in previous rounds, and any dup requests were from further away: Decrease request timer interval -Else if average dup requests high: Increase request timer interval -Else if average dup requests low and average request delay too high: Decrease request timer interval

36 Local Recovery  Some groups are very large with low loss correlation between nodes -Multicasting requests and repairs to entire group wastes bandwidth  Separate recovery multicast groups -e.g. hash sequence number to multicast group address -only nodes experiencing loss join group -recovery delay sensitive to join latency  TTL-based scoping -send request/repair with a limited TTL -how to set TTL to get to a host that can retransmit -how to make sure retransmission reaches every host that heard request

37 Suppression  Two kinds: -Deterministic suppression -Randomized suppression  Subject of extensive but incomplete scaling analysis

38 Local Recovery  Large groups with low loss correlation -Multicasting requests and repairs to entire group wastes bandwidth  Separate recovery multicast groups -e.g. hash sequence number to multicast group address -only nodes experiencing loss join group -recovery delay sensitive to join latency  TTL-based scoping -send request/repair with a limited TTL -how to set TTL to get to a host that can retransmit? -how to make sure retransmission reaches every host that heard request?

39 Application Layer Framing (ALF)  Application should define Application Data Unit (ADU)  ADU is unit of error recovery app can recover from whole ADU loss app treats partial ADU loss/corruption as whole loss  App can process ADUs out of order

40 Multicast’s True Legacy

41 Benefits of Multicast  Efficient delivery to multiple hosts (initial focus) -Addressed by SSM and other simple mechanisms  Logical addressing (pleasant byproduct) -Provides layer of indirection -Now focus of much architecture research -Provided by DHTs and other kinds of name resolution mechanisms