Multicast EECS 122: Lecture 16

Similar documents
Contents. Overview Multicast = Send to a group of hosts. Overview. Overview. Implementation Issues. Motivation: ISPs charge by bandwidth

CS 268: IP Multicast Routing

EE122: Multicast. Internet Radio. Multicast Service Model 1. Motivation

EE122: Multicast. Kevin Lai October 7, 2002

Announcements. EECS 122: Introduction to Computer Networks Multicast and Overlay Networks. Motivational Example: Streaming Media

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

CSE 123A Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks

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

Multicast service model Host interface Host-router interactions (IGMP) Multicast Routing Distance Vector Link State. Shared tree.

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals

Multicast Communications. Slide Set were original prepared by Dr. Tatsuya Susa

Multicast Communications

Why multicast? The concept of multicast Multicast groups Multicast addressing Multicast routing protocols MBONE Multicast applications Conclusions

Bandwidth measurement & Multicast

List of groups known at each router. Router gets those using IGMP. And where they are in use Where members are located. Enhancement to OSPF

Broadcast and Multicast Routing

Broadcast Routing. Multicast. Flooding. In-network duplication. deliver packets from source to all other nodes source duplication is inefficient:

Page 1. This Week. CS 269: Lecture 11 Multicast A Tale of Two Failures. Multicast and QoS: the lost decade. Irony. History. Lectures.

CSCE 463/612 Networks and Distributed Processing Spring 2018

Multicast Technology White Paper

ETSF10 Internet Protocols Routing on the Internet

ETSF10 Internet Protocols Routing on the Internet

Bandwidth measurement & Multicast

DATA COMMUNICATOIN NETWORKING

Advanced Networking. Multicast

ETSF10 Internet Protocols Routing on the Internet

IP Multicast. What is multicast?

ITEC310 Computer Networks II

IP Multicast Routing Protocols

Muhammad Jaseemuddin Dept. of Electrical & Computer Engineering Ryerson University Toronto, Canada

Multicast as an ISP service

Multicast Communications. Tarik Čičić, 4. March. 2016

Exercises to Communication Systems

Lecture 6: Multicast

IP Multicast. Falko Dressler Regionales Rechenzentrum Grundzüge der Datenkommunikation IP Multicast

IP Multicast Technology Overview

IP MULTICAST EXPLAINED

IPv6 and Multicast. Outline. IPv6 Multicast. S Computer Networks - Spring 2005

Lecture 19: Multicast. CSE 123: Computer Networks Stefan Savage

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis

IP Multicast. Overview. Casts. Tarik Čičić University of Oslo December 2001

Configuring IP Multicast Routing

Developing IP Muiticast Networks

Module 7 Implementing Multicast

Lecture 6. TCP/IP Network Layer (4)

How did IP Multicast get so complicated?

DD2490 p IP Multicast routing. Multicast routing. Olof Hagsand KTH CSC

IP Multicast Technology Overview

Multicast routing protocols

Network Layer II. Getting IP addresses. DHCP client-server scenario. DHCP client-server scenario. C compiler. You writing assignment 2

Advanced Network Training Multicast

Advanced Networking. Multicast

Internet Multicast Routing

Multicast routing Draft

Configuring IP Multicast Routing

MULTICAST EXTENSIONS TO OSPF (MOSPF)

Lecture 6: Multicast

CS 356: Computer Network Architectures. Lecture 24: IP Multicast and QoS [PD] Chapter 4.2, 6.5. Xiaowei Yang

IPv6 PIM. Based on the forwarding mechanism, IPv6 PIM falls into two modes:

Exercises to Communication Systems

Chapter 24 PIM Commands

Configuring IP Multicast Routing

Multicast Quick Start Configuration Guide

EEC-684/584 Computer Networks

ASM. Engineering Workshops

Computer Networks. Routing

Table of Contents 1 PIM Configuration 1-1

Internetworking. Problem: There is more than one network (heterogeneity & scale)

21: IP Multicast. Classic example: British and Indian communities in the US want to watch cricket. Americans worldwide want to watch baseball.

IP Multicast: PIM Configuration Guide, Cisco IOS Release 12.4T

IP Multicast Jean Yves Le Boudec 2017

Topic: Multicast routing

Distributed Systems Multicast & Group Communication Services

Computer Networks. Wenzhong Li. Nanjing University

ICS 351: Today's plan. routing protocol comparison encapsulation network dynamics multicasting in general IP multicasting IGMP PIM

GMNF-DVMRP: AN ENHANCED VERSION OF DISTANCE VECTOR MULTICAST ROUTING PROTOCOL

Multicast overview. Introduction to multicast. Information transmission techniques. Unicast

Integrated Services - Overview

4.2 Multicast IP supports multicast to support one-to-many (radio, news, IP multicast was originally a many-to-many (any source MC or

BASIC MULTICAST TROUBLESHOOTING. Piotr Wojciechowski (CCIE #25543)

Configuring IP Multicast Routing

HP 5920 & 5900 Switch Series

! Purpose of Multicasting Routing is to reduce cost for applications that send same data to Multiple recipients.

Review. Some slides are in courtesy of J. Kurose and K. Ross

Multicast overview. Introduction to multicast. Information transmission techniques. Unicast

Token Ring VLANs and Related Protocols

Distributed Core Multicast (DCM): a multicast routing protocol for many groups with few receivers

Different Layers Lecture 20

FSOS Multicast Configuration Guide

Distributed Core Multicast (DCM): a multicast routing protocol for many groups with few receivers

Internet Multicast Routing

Study and Comparison of Mesh and Tree- Based Multicast Routing Protocols for MANETs

IP Multicast: PIM Configuration Guide, Cisco IOS Release 15S

Internet2 Multicast Workshop

Top-Down Network Design

Acknowledgments. Part One - Introduction to the TCP/IP Protocol

Configuring PIM. Information About PIM. Send document comments to CHAPTER

Lab 7-3 Routing IP Multicast with PIM Sparse Mode

Network Layer: Routing

Transcription:

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

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 Chats Video Conferencing Audio Conferencing Caches and Proxies Webcasts Radio/TV Push/IE Channels March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures

The Multicast service Model Membership access control S [G, data] Net [G, data] R 1 joins G [G, data] R 0 joins G [G, data] R n-1 joins G R 0 R 1... R n-1 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 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 3

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 4

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 5

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 6

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 7

IP Multicast: Interconnecting LANS Interconnected LANs LANs support link-level multicast Map globally unique multicast address to LANbased multicast address (LAN-specific algorithm) IP Group addresses are class D addresses 1110/8 or 4.0.0.0 to 39.55.55.55 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 8

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. 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 Report Query to 4.0.0.1 Suppresses Report March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 9

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

This approach does not scale Broadcast Center Backbone ISP March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 11

Instead build trees Copy data at routers At most one copy of a data packet per link Broadcast Center Backbone ISP Routers keep track of groups in real-time Path computation is Tree computation LANs implement layer multicast by broadcasting March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 1

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 13

Source Specific Trees 4 5 8 7 Each source is the route of its own tree. 6 10 11 1 3 13 1 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 14

Source Specific Trees 4 5 6 8 7 Each source is the route of its own tree. One tree for each source 10 11 1 3 13 Can pick good trees but lots of state at the routers! 1 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 15

Shared Tree 4 5 8 7 One tree used by all 6 10 11 1 3 Can t pick good trees but minimal state at the routers 13 1 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 16

Tree Computation 5 7 A tree which connects all the group nodes is a Steiner Tree Finding the min cost Steiner Tree is NP hard 4 1 8 1 6 1 1 3 3 15 11 13 7 10 1 1 1 11 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 17

Tree Computation 5 7 A tree which connects all the group nodes is a Steiner Tree Finding the min cost Steiner Tree is NP hard 4 1 8 1 6 1 1 3 3 15 11 13 7 10 1 1 1 11 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 18

Tree Computation 4 1 1 5 6 8 7 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 1 1 3 3 15 11 13 7 10 1 1 1 11 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 19

Tree Computation 4 1 5 8 7 A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier 1 6 1 1 3 3 15 11 13 7 10 1 1 1 11 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 0

Tree Computation 4 1 5 8 7 A tree that connects all of the nodes in the graph is a spanning tree Finding a minimum spanning tree is much easier 1 6 1 1 3 3 15 11 13 7 10 1 1 1 11 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 1

Tree Computation 4 1 1 5 6 8 7 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 1 1 3 3 15 11 13 7 10 1 1 1 11 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures

Tree Computation 4 1 1 5 6 8 7 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 1 1 3 3 15 11 13 7 10 1 1 1 11 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 3

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 4

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 5

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: s:1 ss s:3 s:3 s: rr March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 6

Example Flooding can cause a given packet to be sent multiple times over the same link SS xx yy a zz duplicate packet b Solution: Reverse Path Broadcasting March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 7

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: s:1 ss s:3 C s:3 s: rr P March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 8

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 9

Reverse Path Broadcasting (RPB) SS 5 6 forward only to child link child link of x for S a b xx zz yy March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 30

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. Propagate this information up the subtree March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 31

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 3

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 33

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 34

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

RMP Scaling State requirements: O(Sources Groups) active state How to get better scaling? Hierarchical Multicast Core-based Trees March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 36

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 37

Example Group members: M1, M, M3 M1 sends data root M1 M M3 control (join) messages data March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 38

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 39

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 40

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 41

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 4

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 43

(N)ACK Implosion (Positive) acknowledgements ack every n received packets what happens for multicast? Negative acknowledgements only ack when data is lost assume packet is lost R1 S 3 1 R R3 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 44

NACK Implosion When a packet is lost all receivers in the subtree originated at the link where the packet is lost send NACKs 3 R1? S 3?? 3 R R3 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 45

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 46

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 47

ISPs charge by bandwidth Broadcast Center Backbone ISP Remember what interdomain protocols optimize for. They make more money without multicast March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 48

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, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 49

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 March 18, 003 A. Parekh, EE1 S003. Revised and enhanced F'0 Lectures 50