15-744 Computer Networking Multicast (some slides borrowed from Srini Seshan)

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

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.
L-20 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions:  Efficient.
L-21 Multicast. L -15; © Srinivasan Seshan, Overview What/Why Multicast IP Multicast Service Basics Multicast Routing Basics DVMRP Overlay.
15-744: Computer Networking L-14 Multicast Routing.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
Computer Networking Lecture 12: Multicast Again ripped from Srini Seshan and Dave Anderson – thanks guys!
TDC375 Winter 2002John Kristoff - DePaul University1 Network Protocols IP Multicast.
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.
Computer Networking Lecture 24 – Multicast.
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.
EE689 Lecture 12 Review of last lecture Multicast basics.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
MULTICASTING Network Security.
COMS/CSEE 4140 Networking Laboratory Lecture 11 Salman Abdul Baset Spring 2008.
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.
1 Computer Networks IP Multicast. 2 Recall Unicast Broadcast Multicast sends to a specific group.
Computer Networking Lecture 11 – Multicast. Lecture 11: Multicast Routing Unicast: one source to one destination Multicast: one source to many.
Computer Networks 2 Lecture 1 Multicast.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing
© 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.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.
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.
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.
Multicast Outline Multicast Introduction and Motivation RIP-based and Protocol Independent Multicast Routing.
Distance-vector Multicast Routing Protocol (DVMRP)
© J. Liebeherr, All rights reserved 1 Multicast Routing.
Multicast Routing, Error Control, and Congestion Control.
Multicast 1 Spencer Tsai Mobile Communication & Broadband Network Lab CSIE Fu-Jen Catholic University Introduction to Multicast.
CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
Computer Networking Lecture 12 – Multicast.
Multicast Routing. Unicast: one source to one destination Multicast: one source to many destinations Two main functions: – Efficient data distribution.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
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.
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.
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
Computer Networking Multicast.
Multicast Outline Multicast Introduction and Motivation DVRMP.
CMPE 252A: Computer Networks
15-744: Computer Networking
Overlay Networking Overview.
Multicast Outline Multicast revisited
Computer Networking Lecture 11 – Multicast.
EE 122: Lecture 13 (IP Multicast Routing)
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

Computer Networking Multicast (some slides borrowed from Srini Seshan)

Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Main goal: efficient data distribution –Avoid data duplication within network

Multicast – Efficient Data Distribution Src

Overview IP Multicast Service Basics Routing: MOSPF/DVMRP Reliability: SRM Overlay Multicast

Example Applications Broadcast audio/video Push-based systems (e.g., BGP updates) Software distribution Web-cache updates Teleconferencing (audio, video, shared whiteboard, text editor) Multi-player games Other distributed applications

IP Multicast Architecture Hosts Routers Service model Host-to-router protocol (IGMP) Multicast routing protocols (various)

IP Multicast Service Model Each group identified by a single IP address Variable Size: –Groups of any size; sparse or dense Variable Location: –Members may be located anywhere on Internet Dynamic membership: –Members can join and leave at will Many-to-many –Not only one-to-many No central state –Group membership not known explicitly Analogy: –Each multicast address is like a radio frequency, on which anyone can transmit, and to which anyone can tune-in.

IP Multicast Addresses Class D IP addresses – – How to allocate these addresses? –Well-known addresses: IANA –Transient addresses: e.g., by “SDR” program Assigned and reclaimed dynamically, 1110Group ID

IP Multicast API Sending – same as before Receiving – two new operations –Join(group) –Leave(group) –Receive multicast packets for joined groups via normal IP-Receive operation –Implemented using socket options

Multicast Router Responsibilities Learn of the existence of multicast groups –(through advertisement) Identify links with group members Establish state to route packets –Replicate packets on appropriate interfaces –Routing entry: Src, incoming interfaceList of outgoing interfaces

Overview IP Multicast Service Basics Routing: MOSPF/DVMRP Reliability: SRM Overlay Multicast

Routing Techniques Basic objective – build distribution tree for multicast packets Link-state multicast protocols –Routers advertise groups for which they have receivers to entire network –Compute trees on demand –Example: MOSPF Flood and prune –Begin by flooding traffic to entire network –Prune branches with no receivers –Example: DVMRP

Multicast OSPF (MOSPF) Add-on to OSPF –Recall: flood routing announcements, each node gets entire topology –Now each router also keeps track of multicast group members –Routers mark link-state advertisement with groups that it has members for Source-based trees –Shortest paths to a node form a spanning tree –Routing algorithm augmented to compute shortest- path distribution tree from a source to any set of destinations –Packets from each source are forwarded on this tree

Source-based Tree G S G Shortest path to SHas group members

Impact on Route Computation Problems? –O(N 2 ) state: one tree per potential sender –Can’t pre-compute multicast trees for all possible sources One solution: Compute on demand –When first packet from a source S to a group G arrives –Slow if sources send infrequently Another solution: Shared trees –One tree per multicast group –Requires a rendezvous point Unicast to RP, then RP multicasts it along tree –E.G., PIM Sparse Mode

Distance-Vector Multicast Routing Add on to DV routing (e.g., RIP) –Recall: each node locally determines shortest- path “next hop” for each destination Router forwards a packet if –The packet arrived from the link used to reach the source of the packet Reverse path forwarding check (RPF) Shortest-paths to a source form a spanning tree –If downstream links have not pruned the tree Initially send to all routers then prune away branches

Reverse Path Forwarding G S G Next-hop to S

Prune G S Prune (s,g) G

Graft (s,g) Graft G S G G Report (g)

Overview IP Multicast Service Basics Routing: MOSPF/DVMRP Reliability: SRM Overlay Multicast

Multicast Transport Properties IP Multicast service guarantees? –Best effort What other properties would applications want? –Reliability –Congestion/Flow Control –In-order delivery –Etc. Why doesn’t IP Multicast provide these? –End-to-end principle: Can build other properties on top just like IP unicast SRM tackles reliability

Straw man Reliability Solutions Why not have each member ACK the sender? –ACK implosion: each packet sent generates N ACKs! –Requires sender to track all receiver state Why not have each member NACK the sender? –If data rate is slow, may not know that we’re missing the last packet –Loss near the sender generates lots of NACKs; many receivers could share a bottleneck –SRM uses NACKs but in a more intelligent fashion

SRM Design Assumptions Example Application: digital whiteboard Many-to-many –Any one in the group can send Named data units –E.G., 0000 => “point (3,4)”, 0001 => “line (3,4)-(1,2)” –Each object sent has globally unique name Cooperative recovery –Any member can supply lost data to any other member –E.g., each member buffers all data

SRM Basic Operation Multicast periodic session messages telling everyone the “latest seqno” –Aside: can use these to estimate RTT between members Loss detected (missing seqno) => multicast repair request (NACK) –Request sent after a timer with time picked from uniform distribution: 2 i [C 1 *d SA, (C 1 +C 2 )*d SA ] –Suppress request if we see a request and i++ –=> nodes closer to loss send request sooner (on expectation) –=> first request likely to suppress others (with reasonable C 1,C 2 ) Receive repair request && we have the data item => multicast repair response –Request sent after a timer picked from uniform distribution: [D 1 *d AB, (D 1 +D 2 )*d AB ] –=> nodes closer to requestor will respond sooner (on expectation) Goal: Have few repair request/responses for the entire group when loss

SRM Operation Example SL1R1R2R3 time loss detected C 1 *d SR1 C 2 *d SR1 R1’s request timer in this interval C 1 = 1 C 2 = 2 R2 R3 R1 Inter-node delay = 1 time unit

Adaptive Parameter Adjustment Can trade-off higher delay for lower request/response duplicates Probabilistic Suppression: Higher C 2 => higher expected delay, but less likely to have duplicates –First request will likely reach all others before other request timers expire Deterministic Suppression: Members with lower C1 will likely send requests earlier –Mechanism 1: reduce C 1 when send request –=> members near persistent loss will send sooner –Mechanism 2: reduce C 2 when sent requests but still receive duplicate requests from members much farther from source –=> request more likely to reach far away members first

Adaptive Adjustment Algorithm After sending request: –Decrease C 1 Before setting timer: –If sent request already && seen dup requests from further away: Decrease C 2 –Dup requests > T Increase C 2 –Dup requests D Decrease C 2 Converge on optimal delay-duplicate tradeoff Basically the same for D 1,D 2

Other Issues Local Recovery: Scoping recovery requests/replies –Basic algorithm multicast them to entire group –Administrative boundaries + TTLs can scope requests/replies Congestion control: –Assume fixed rate –Why not reduce rate to bottleneck link? => one bottlenecked receiver slows down the whole group

Overview IP Multicast Service Basics Routing: MOSPF/DVMRP Reliability: SRM Overlay Multicast

Failure of IP Multicast Real world: –Not widely deployed even after 15 years! –Use carefully – e.g., on LAN or campus, rarely over WAN –Largest deployment: MBONE, using IP-tunnels to connect domains IP Multicast failings –Scalability of routing protocols Extra router state required –Hard to manage Who gets to set up groups and when? –Hard to implement TCP equivalent As we just saw with SRM –Chicken-egg: No real applications Hard to get applications to use IP Multicast without existing wide deployment –Economics, policy: Hard to get inter-domain support Who pays for packet duplication?

Supporting Multicast on the Internet IP Application Internet architecture Network ? ? At which layer should multicast be implemented?

End System Multicast MIT1 MIT2 CMU1 CMU2 CMU Berkeley MIT UCSD

Quick deployment All multicast state in end systems Simplifies support for higher level functionality –Reliability, congestion control, etc. Potential Benefits Over IP Multicast

Concerns with End System Multicast Self-organize recipients into multicast delivery overlay tree –Must be closely matched to real network topology to be efficient Performance concerns compared to IP Multicast –Increase in delay –Bandwidth waste (packet duplication) –Not usually substantial problems MIT2 Berkeley MIT1 UCSD CMU2 CMU1 IP Multicast MIT2 Berkeley MIT1 CMU1 CMU2 UCSD End System Multicast

Concerns with End System Multicast Reality: Many users behind asymmetric DSL/Cable modems –Not enough upload bandwidth to forward! –=> Must be leafs in the multicast tree Key Metric: Resource Index –forwarding capacity/total bandwidth demand –Measured ESM video groups have RI of 1-2… –=> Building feasible tree is challenging (+ dealing with group dynamics, etc.)

Important Concepts Multicast provides support for efficient data delivery to multiple recipients Requirements for IP Multicast routing –Keeping track of interested parties –Building distribution tree –Broadcast/suppression technique Build reliability, congestion control, in-order delivery on top –Just like with TCP/IP, but harder… Difficult to deploy new IP-layer functionality End system-based techniques can provide alternative –Easier to deploy