CS4700/CS5700 Fundamentals of Computer Networks

Similar documents
Multicast EECS 122: Lecture 16

CS 268: IP Multicast Routing

CS4700/CS5700 Fundamentals of Computer Networks

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

CS3600 SYSTEMS AND NETWORKS

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

CS4700/CS5700 Fundaments of Computer Networks

EE122: Multicast. Kevin Lai October 7, 2002

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

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

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

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

Multicast Communications

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

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

CS4700/CS5700 Fundamentals of Computer Networks

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

CSE 123A Computer Networks

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

CS4700/CS5700 Fundamentals of Computer Networks

DATA COMMUNICATOIN NETWORKING

CS3600 SYSTEMS AND NETWORKS

Topic: Multicast routing

CS4700/CS5700 Fundamentals of Computer Networks

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

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

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks

Internet2 Multicast Workshop

Bandwidth measurement & Multicast

Broadcast and Multicast Routing

ETSF10 Internet Protocols Routing on the Internet

ITEC310 Computer Networks II

ETSF10 Internet Protocols Routing on the Internet

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

Multicast Technology White Paper

IP Multicast. What is multicast?

CS3600 SYSTEMS AND NETWORKS

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

Bandwidth measurement & Multicast

CS4700/CS5700 Fundaments of Computer Networks

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

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

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

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

IP Multicast Technology Overview

Advanced Networking. Multicast

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

Lecture 6. TCP/IP Network Layer (4)

Exercises to Communication Systems

MULTICAST AND IGMPv3. Announcements. Today s Lecture. Multicast (No Sharing) Unicast. I. HW5 will be online today CIDR, subnets, routing

IP Multicast Load Splitting across Equal-Cost Paths

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

IP Multicast Technology 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

Integrated Services - Overview

ETSF10 Internet Protocols Routing on the Internet

Alternative Solutions toward IPv4/IPv6 Multicast

Configuring IP Multicast Routing

IP Multicast: Does It Really Work? Wayne M. Pecena, CPBE, CBNE

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

Advanced Network Training Multicast

IP Multicast Jean Yves Le Boudec 2017

Multicast as an ISP service

IP Multicast Optimization: Optimizing PIM Sparse Mode in a Large IP Multicast Deployment

ASM. Engineering Workshops

Configuring IP Multicast Routing

Configuring Bidirectional PIM

Lecture 6: Multicast

PIM-SM Multicast Routing

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

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

Internet Multicast Routing

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

COMP/ELEC 429/556 Introduction to Computer Networks

Configuring IP Multicast Routing

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

Computer Networks. Routing

Viewing IP and MPLS Multicast Configurations

Exercises to Communication Systems

Computer Networks. Wenzhong Li. Nanjing University

Today s Plan. Class IV Multicast. Class IV: Multicast in General. 1. Concepts in Multicast What is Multicast? Multicast vs.

IP Multicast Routing Protocols

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

Advanced Networking. Multicast

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

HP 5920 & 5900 Switch Series

Configuring IP Multicast Routing

Configuring IP Multicast over Unidirectional Links

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Load Splitting IP Multicast Traffic over ECMP

How did IP Multicast get so complicated?

Fundamentals of IP Multicast

Developing IP Muiticast Networks

itexamdump 최고이자최신인 IT 인증시험덤프 일년무료업데이트서비스제공

Ahmed Helmy Assistant Professor of Computer Engineering University of Southern California.

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

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

Example questions for the Final Exam, part A

Transcription:

CS4700/CS5700 Fundamentals of Computer Networks Lecture 19: Multicast Routing Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern 1 University

Terminologies What is unicast? Cast: to send, to throw Broadcast: to send everywhere (recall broadcast in local area Ethernet, ARP, DHCP) Unicast: to send to a single receiver Point-to-point communication Nearly all wide-area Internet traffic is unicast Web traffic, SSH traffic, FTP traffic Two unicast streams, one in each direction What is multicast? In between unicast and broadcast Each packet is sent to multiple specific receivers Point-to-Multipoint communication What is multicast useful for??? Alan Mislove amislove at ccs.neu.edu Northeastern 2 University

Internet TV radio Stock price update Video conference Spam?! Example Uses Alan Mislove amislove at ccs.neu.edu Northeastern 3 University

How to Send to Multiple Receivers? Alan Mislove amislove at ccs.neu.edu Northeastern 4 University

How to Send to Multiple Receivers? What are the simplest ways? Alan Mislove amislove at ccs.neu.edu Northeastern 4 University

How to Send to Multiple Receivers? What are the simplest ways? Ex1: Send a copy of the packet to one receiver at a time until all receivers have it i.e. use unicast to implement multicast Alan Mislove amislove at ccs.neu.edu Northeastern 4 University

How to Send to Multiple Receivers? What are the simplest ways? Ex1: Send a copy of the packet to one receiver at a time until all receivers have it i.e. use unicast to implement multicast Ex2: Flood a packet throughout the network and have non-receivers discard the packet i.e. use broadcast to implement multicast Alan Mislove amislove at ccs.neu.edu Northeastern 4 University

How to Send to Multiple Receivers? What are the simplest ways? Ex1: Send a copy of the packet to one receiver at a time until all receivers have it i.e. use unicast to implement multicast Ex2: Flood a packet throughout the network and have non-receivers discard the packet i.e. use broadcast to implement multicast Advantages? Disadvantages? Alan Mislove amislove at ccs.neu.edu Northeastern 4 University

How to Send to Multiple Receivers? What are the simplest ways? Ex1: Send a copy of the packet to one receiver at a time until all receivers have it i.e. use unicast to implement multicast Ex2: Flood a packet throughout the network and have non-receivers discard the packet i.e. use broadcast to implement multicast Advantages? Disadvantages? In general: We want a distribution tree Many ways to do it Big research topic for a decade Alan Mislove amislove at ccs.neu.edu Northeastern 4 University

Example: Internet Radio www.digitallyimported.com Sends out 128Kb/s MP3 music streams Peak usage ~9000 simultaneous streams Consumes ~1.1Gb/s bandwidth costs are large fraction of their expenditures A fat and shallow tree Does not scale! Alan Mislove amislove at ccs.neu.edu Northeastern 5 University

This approach does not scale Broadcast Center Backbone ISP Alan Mislove amislove at ccs.neu.edu Northeastern 6 University

This approach does not scale Broadcast Center Backbone ISP Alan Mislove amislove at ccs.neu.edu Northeastern 6 University

This approach does not scale Broadcast Center Backbone ISP Alan Mislove amislove at ccs.neu.edu Northeastern 6 University

Use routers in distribution tree Broadcast Center Backbone ISP Alan Mislove amislove at ccs.neu.edu Northeastern 7 University

Use routers in distribution tree Broadcast Center Backbone ISP Alan Mislove amislove at ccs.neu.edu Northeastern 7 University

Use routers in distribution tree Copy data at routers At most one copy of a data packet per link Broadcast Center Backbone ISP Alan Mislove amislove at ccs.neu.edu Northeastern 7 University

Use routers in distribution tree Copy data at routers At most one copy of a data packet per link Broadcast Center Backbone ISP Alan Mislove amislove at ccs.neu.edu Northeastern 7 University

Use routers in distribution tree Copy data at routers At most one copy of a data packet per link Broadcast Center Backbone ISP Alan Mislove amislove at ccs.neu.edu Northeastern 7 University

Use routers in distribution tree Copy data at routers At most one copy of a data packet per link Broadcast Center Backbone ISP LANs implement link layer multicast by broadcasting Alan Mislove amislove at ccs.neu.edu Northeastern 7 University

Use routers in distribution tree Copy data at routers At most one copy of a data packet per link Broadcast Center Backbone ISP Routers compute trees and forward packets along them LANs implement link layer multicast by broadcasting Alan Mislove amislove at ccs.neu.edu Northeastern 7 University

Multicast Routing Approaches Kinds of Trees Source Specific Trees Most suitable for single sender E.g. internet radio Shared Tree Multiple senders in a group E.g. Teleconference Tree Computation Methods Link state Distance vector Alan Mislove amislove at ccs.neu.edu Northeastern 8 University

Source Specific Trees 4 5 6 8 7 Each source is the root of its own tree One tree per source Tree can consists of shortest paths to each receiver 2 10 11 1 3 13 12 Members of the multicast tree Sender Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Source Specific Trees 4 5 6 8 7 Each source is the root of its own tree One tree per source Tree can consists of shortest paths to each receiver 2 10 11 1 3 13 12 Very good performance but expensive to construct/maintain; routers need to manage a tree per source Alan Mislove amislove at ccs.neu.edu Northeastern 10 University

Shared Tree 4 5 8 7 One tree used by all members in a group 6 2 10 11 1 3 13 12 Easier to construct/maintain but hard to pick good trees for everyone! Alan Mislove amislove at ccs.neu.edu Northeastern 11 University

IPv4 Multicast 28 1110 Multicast Group Address First octet: 224-239 Class D addresses These are group identifiers Not specific to an end host Flat address space In practice, pick a group address at random, hope no collision No security in the network layer Will use G to designate an IP multicast group address Alan Mislove amislove at ccs.neu.edu Northeastern 12 University

IP Multicast Service Model R 0 S Net R 1... R n-1 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 Alan Mislove amislove at ccs.neu.edu Northeastern 13 University

IP Multicast Service Model S Net R 1 joins G R 0 joins G R n-1 joins G R 0 R 1... R n-1 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 Alan Mislove amislove at ccs.neu.edu Northeastern 13 University

IP Multicast Service Model R 0 S Net R 1... R n-1 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 Alan Mislove amislove at ccs.neu.edu Northeastern 13 University

IP Multicast Service Model [G, data] R 0 S [G, data] Net [G, data] R 1 [G, data]... R n-1 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 Alan Mislove amislove at ccs.neu.edu Northeastern 13 University

Multicast Implementation Issues How is join implemented? How is send implemented? How much information about trees is kept and who keeps it? Alan Mislove amislove at ccs.neu.edu Northeastern 14 University

IP Multicast Routing Intra-domain Distance-vector multicast Link-state multicast Inter-domain Protocol Independent Multicast, Sparse Mode Key idea: Core-Based Tree Alan Mislove amislove at ccs.neu.edu Northeastern 15 University

Distance Vector Multicast Routing Protocol (DVMRP) 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 DVMRP Reverse Path Flooding Reverse Path Broadcasting Truncated Reverse Path Broadcasting Alan Mislove amislove at ccs.neu.edu Northeastern 16 University

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:1 s:3 s:3 s:2 s r Alan Mislove amislove at ccs.neu.edu Northeastern 17 University

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:1 s:3 s:3 s:2 s r Alan Mislove amislove at ccs.neu.edu Northeastern 17 University

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:1 s:3 s:3 s:2 s r Alan Mislove amislove at ccs.neu.edu Northeastern 17 University

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:1 s:3 s:3 s:2 s r Alan Mislove amislove at ccs.neu.edu Northeastern 17 University

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:1 s:3 s:3 s:2 s r Alan Mislove amislove at ccs.neu.edu Northeastern 17 University

Example Flooding can cause a given packet to be sent multiple times over the same link S x y a z duplicate packet b Solution: Called Reverse Path Broadcasting Alan Mislove amislove at ccs.neu.edu Northeastern 18 University

Reverse Path Broadcasting (RPB) Chose parent of each link along reverse shortest path to source Only parent forward to a link (child link) Use DV routing update to identify parent child link of x for S a S 5 6 x z y b Alan Mislove amislove at ccs.neu.edu Northeastern 19 University

Reverse Path Broadcasting (RPB) Chose parent of each link along reverse shortest path to source Only parent forward to a link (child link) Use DV routing update to identify parent forward only to child link child link of x for S a S 5 6 x z y b Alan Mislove amislove at ccs.neu.edu Northeastern 19 University

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 Alan Mislove amislove at ccs.neu.edu Northeastern 20 University

Truncated Reverse Path Broadcasting (TRPB) Extend RPB to eliminate unneeded forwarding S Explicit group joining Members periodically send join requests If another LAN member has joined (overheard join message), other members do not send join message Router with no member downstream is removed from tree Router sends prune message to upstream router when no member r2 r1 Alan Mislove amislove at ccs.neu.edu Northeastern 21 University

Truncated Reverse Path Broadcasting (TRPB) Extend RPB to eliminate unneeded forwarding S Explicit group joining Members periodically send join requests If another LAN member has joined (overheard join message), other members do not send join message Router with no member downstream is removed from tree Router sends prune message to upstream router when no member r2 r1 Alan Mislove amislove at ccs.neu.edu Northeastern 21 University

Truncated Reverse Path Broadcasting (TRPB) Extend RPB to eliminate unneeded forwarding S Explicit group joining Members periodically send join requests If another LAN member has joined (overheard join message), other members do not send join message Router with no member downstream is removed from tree Router sends prune message to upstream router when no member r2 r1 Alan Mislove amislove at ccs.neu.edu Northeastern 21 University

Truncated Reverse Path Broadcasting (TRPB) Extend RPB to eliminate unneeded forwarding S Explicit group joining Members periodically send join requests If another LAN member has joined (overheard join message), other members do not send join message Router with no member downstream is removed from tree Router sends prune message to upstream router when no member r2 r1 Alan Mislove amislove at ccs.neu.edu Northeastern 21 University

Truncated Reverse Path Broadcasting (TRPB) Extend RPB to eliminate unneeded forwarding S Explicit group joining Members periodically send join requests If another LAN member has joined (overheard join message), other members do not send join message Router with no member downstream is removed from tree Router sends prune message to upstream router when no member r2 r1 Alan Mislove amislove at ccs.neu.edu Northeastern 21 University

Truncated Reverse Path Broadcasting (TRPB) Extend RPB to eliminate unneeded forwarding S Explicit group joining Members periodically send join requests If another LAN member has joined (overheard join message), other members do not send join message Router with no member downstream is removed from tree Router sends prune message to upstream router when no member r2 r1 Alan Mislove amislove at ccs.neu.edu Northeastern 21 University

Truncated Reverse Path Broadcasting (TRPB) Extend RPB to eliminate unneeded forwarding S Explicit group joining Members periodically send join requests If another LAN member has joined (overheard join message), other members do not send join message Router with no member downstream is removed from tree Router sends prune message to upstream router when no member r2 r1 Alan Mislove amislove at ccs.neu.edu Northeastern 21 University

Distance Vector Multicast Scaling State requirements: O(Sources Groups) active state Alan Mislove amislove at ccs.neu.edu Northeastern 22 University

Core Based Trees (CBT) The key idea in Inter-domain PIM-SM protocol Pick a rendezvous point for the group called the core Build a tree towards the core Union of the unicast paths from members to the core Shared tree To send, unicast packet to core and bounce it back to multicast group Reduce routing table state from O(S x G) to O(G) Alan Mislove amislove at ccs.neu.edu Northeastern 23 University

Example Group members: M1, M2, M3 M1 sends data core M1 M2 M3 control (join) messages data Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

Example Group members: M1, M2, M3 M1 sends data core M1 M2 M3 control (join) messages data Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

Example Group members: M1, M2, M3 M1 sends data core M1 M2 M3 control (join) messages data Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

Example Group members: M1, M2, M3 M1 sends data core M1 M2 M3 control (join) messages data Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

Example Group members: M1, M2, M3 M1 sends data core M1 M2 M3 control (join) messages data Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

Example Group members: M1, M2, M3 M1 sends data core M1 M2 M3 control (join) messages data Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

Example Group members: M1, M2, M3 M1 sends data core M1 M2 M3 control (join) messages data Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

Example Group members: M1, M2, M3 M1 sends data core M1 M2 M3 control (join) messages data Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

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 hard Alan Mislove amislove at ccs.neu.edu Northeastern 25 University