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

Similar documents
CSE 123A Computer Networks

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

Multicast Communications

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

CS 268: IP Multicast Routing

Multicast EECS 122: Lecture 16

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

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

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

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

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

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

Lecture 6: Multicast

Broadcast and Multicast Routing

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

Advanced Networking. Multicast

Advanced Network Training Multicast

ETSF10 Internet Protocols Routing on the Internet

Multicast as an ISP service

Multicast routing protocols

Configuring IP Multicast Routing

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

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

ITEC310 Computer Networks II

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

IP MULTICAST EXPLAINED

ETSF10 Internet Protocols Routing on the Internet

IP Multicast. What is multicast?

Topic: Multicast routing

ETSF10 Internet Protocols Routing on the Internet

Exercises to Communication Systems

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

DATA COMMUNICATOIN NETWORKING

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

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

How did IP Multicast get so complicated?

IP Multicast Technology Overview

Configuring IP Multicast Routing

IP Multicast Routing Protocols

Internet2 Multicast Workshop

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

Multicast Technology White Paper

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

CS4700/CS5700 Fundamentals of Computer Networks

Exercises to Communication Systems

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

Configuring IP Multicast Routing

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

IP Multicast Technology Overview

Configuring IP Multicast Routing

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

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

Table of Contents 1 PIM Configuration 1-1

Developing IP Muiticast Networks

Module 7 Implementing Multicast

Lecture 6. TCP/IP Network Layer (4)

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

Distributed Systems Multicast & Group Communication Services

HP 5920 & 5900 Switch Series

Anniversary Retrospective: Where Multicast Has Been & Where It s Headed.

HPE FlexNetwork 7500 Switch Series

Advanced Networking. Multicast

HP 6125G & 6125G/XG Blade Switches

Internet Multicast Routing

IP Multicasting: Explaining Multicast Cisco Systems, Inc. All rights reserved. Cisco Academy

PIM Configuration. Page 1 of 9

MULTICAST EXTENSIONS TO OSPF (MOSPF)

PIM-SM Multicast Routing

HP 5500 HI Switch Series

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

Integrated Services - Overview

HP 5500 EI & 5500 SI Switch Series

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

Computer Networks. Wenzhong Li. Nanjing University

CSE 123b Communications Software

Quick announcements. CSE 123b Communications Software. Today s issues. Last class. The Mobility Problem. Problems. Spring 2004

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

Internet Multicast Routing

Table of Contents 1 IGMP Configuration 1-1

Multicast H3C Low-End Ethernet Switches Configuration Examples. Table of Contents

Chapter 19 Network Layer: Logical Addressing

Table of Contents Chapter 1 Multicast Routing and Forwarding Configuration

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

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

HPE FlexNetwork HSR6800 Routers

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

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

Multicast VPN C H A P T E R. Introduction to IP Multicast

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

Configuring Basic IP Multicast

Communications Software. CSE 123b. CSE 123b. Spring Lecture 10: Mobile Networking. Stefan Savage

Quick announcement. CSE 123b Communications Software. Last class. Today s issues. The Mobility Problem. Problems. Spring 2003

EE122: Multicast. Kevin Lai October 7, 2002

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

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

H3C S9800 Switch Series

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

BASIC MULTICAST TROUBLESHOOTING. Piotr Wojciechowski (CCIE #25543)

ASM. Engineering Workshops

Transcription:

CSE 123A Computer Networks Fall 2009 Lecture 10 Internet Routing: Multicast

Today: Multicast routing Multicast service model Host interface Host-router interactions (IGMP) Multicast Routing Distance Vector Link State Limiters Shared tree Deployment issues Inter-domain routing Operational/Economic issues

Motivation Efficient delivery to multiple destinations (e.g. video broadcast) R S R S VS R R Network-layer support for one-to-many addressing Publish/subscribe communications model Don t need to know destinations R R

IP Multicast service model Communications based on groups Special IP addresses represent multicast groups Anyone can join group to receive Anyone can send to group» Sender need not be part of group Dynamic group membership can join and leave at will Unreliable datagram service Extension to unicast IP Group membership not visible to hosts No synchronization Explicit scoping to limit spread of packets

Elements of IP Multicast Host interface Application visible multicast API Multicast addressing Link-layer mapping Host-Router interface IGMP Router-Router interface Multicast routing protocols

Host interface Senders (not much new) Set TTL on multicast packets to limit scope» Scope can be administratively limited on per-group basis Send packets to multicast address, represents a group Unreliable transport (no acknowledgements) Receivers (two new interfaces) Join multicast group (group address) Leave multicast group(group address)» Typically implemented as a socket option in most networking API

Multicast addressing Special address range: Class D (3 MSBs set to 1) 224.0.01-239.255.255.255 Reserved by IANA for multicast Which address to use for a new group? No standard Global random selection Per-domain addressing (MASC, GLOP) Which address to use to join an existing group? No standard Separate address distribution protocol (may use multicast)

Link-layer multicast Many link-layerslayers protocols have multicast capability Ethernet, FDDI Translate IP Multicast address into LL address E.g. Map 28 bits of IP MC address in 23bit Ethernet MC addresses Senders send and receive on link-layer l MC addresses Routers must listen on all possible LL MC addresses Not an issue for point-to-point to links

Internet Group Management Protocol (IGMP) Goal: communicate group membership between hosts and routers Soft-state protocol Hosts explicitly inform their router about membership Must periodically refresh membership report Routers implicitly timeout groups that aren t refreshed Why isn t explicit leave group message sufficient? Implemented in most of today s routers and Implemented in most of today s routers and switches

How IGMP works (roughly) H Router broadcasts membership query to 224.0.01 (all-systems group) with ttl=1 H H H H Hosts start random timer (0-10 sec) for each group they have joined H H H H H G G G When a host s timer expires for group G, send membership report to group G, with ttl=1 When a member of G hears a report, they reset their timer for G Router times out groups that are not refreshed by some host s report

Multicast routing Goal: build distribution tree for multicast packets Efficient tree (ideally, shortest path) Low join/leave latency Several approaches Distance Vector/Link State» Leverage existing i unicast routing protocols Shared tree» Unicast/multicast hybrids

Multicast routing taxonomy Source-based tree Separate shortest path tree for each source Flood and prune (DVMRP, PIM-DM)» Send multicast traffic everywhere» Prune edges that are not actively subscribed to group Link-state (MOSPF)» Routers flood groups they would like to receive» Compute shortest-path trees on demand Shared tree (CBT, PIM-SM) Single distributed tree shared among all sources Specify rendezvous point (RP) for group Senders send packets to RP, receivers join at RP RP multicasts to receivers; Fix-up tree for optimization

Source-based vs Shared Source-based tree S Shared-tree S R S R S RP R R Efficient trees; low delay, even load Per-source state in routers (S,G) R Higher delay, skewed load Per-group state only (G) R

Flood and Prune (DV) Extensions to unicast distance vector algorithm Goal Multicast packets delivered along shortest-path tree from sender to members of the multicast group Likely have different tree for different senders Distance Vector Multicast Routing (DVMRP) developed as a progression of algorithms Reverse Path Flooding g( (RPF) Reverse Path Broadcast (RPB) Reverse Path Multicast (RPM)

Reverse Path Flooding (RPF) Observation: Shortest-path multicast tree is subtree of shortest-path broadcast tree Approach: Use shortest-path broadcast tree Use reverse path to determine shortest path Router forwards a packet from S iff received from the shortest-path link to S Exactly what is in entry in forwarding table?» To reach S along shortest path, use link L» If received packet from S on L, it came along shortest path How are packets forwarded? Flooding forward packets to multicast address out to all links except incoming link (hence reverse path flooding)

Example: Reverse Path Flooding S S Forward packets on shortest path from X to S X Problem: Flooding causes duplicate packets to be sent on LANs

Solution: Reverse Path Broadcast (RPB) Flooding vs. broadcast With flooding, a single packet can be sent along an individual link multiple times» Each router attached to link can potentially forward same packet RPB sends a packet along a link at most once Approach: Define parent and child routers for each link Relative to each link and each source S Router is a parent for link if it has minimum path to S All other routers on the link are children Only parent router is allowed to forward multicast packets on link How to decide parent and children routers for link? In routing updates; router determines if is parent

Example: Reverse Path Broadcasting S A B B not parent for S Don t forward

Reverse Path Multicast (RPM) Problem: Still broadcasting up to leaf networks Idea: Instead of actively building tree, use reports to actively prune tree Start with a full broadcast tree to all links (RPB), Prune (S,G) at leaf if it has no members Send Non-Membership Report (NMR) to prev-hop for S If all children of router R prune (S,G) Send NMR for (S,G) to parent of R Soft-state management (must refresh NMR or rejoin) New group member sends graft (anti-prune) message

Link State Use existing link-state routing algorithm (e.g. OSPF) Idea: include active groups in LSPs Each router can compute shortest path tree from source to all destinations for any ygroup Trigger new flood on group membership change Performance issues Expensive to precompute all (S,G) trees Keep cache of trees and compute new trees on demand when new (S,G) packet arrives Workload/topology dependant Best known example: MOSPF

Shared tree approaches Unicast packets to Rendezvous Point (RP), which multicasts packet on shared tree Tree construction Receivers send join messages to RP Intermediate routers install state to create per-group tree Key advantage is routers only store O(G) state Potential optimizations: reroute to source-specific trees for local group members or high data-rate sources Example: CBT, PIM-SM Issues Delay, fault tolerance, RP selection

IP Multicast today IP Multicast has generated 1000s of papers, but has not been widely deployed in the Internet Why? General deployment difficulties (Mbone) Inter-domain multicast complexity Economics of multi-source multicast

Multicast evolution How to deploy a new network-layer service? Difficult to change router software Difficult to change all routers Mbone (tunneling) Special multicast routers (built from PCs/Workstations) Construct virtual topology between them (overlay) Run routing protocol over virtual topology Virtual point-to-point links called tunnels» Multicast traffic encapsulated in IP datagrams» Multicast routers forward over tunnels according to computed virtual next-hop

Tunnelling IP Header dst=224.x.x.x Data IP Header dst=224.x.x.x Data 132.239.4.6 128.2.1.2 De-encapsulation Encapsulation IP Header IP Header dst=128212 dst=128.2.1.2 dst=224xxx dst=224.x.x.x Data

Virtual overlay network B C D B C D E A E A Real topology with tunnels Virtual overlay topology

Mbone Pro/Con Success story Multicast video to 20 sites in 1992 Easy to deploy, no explicit router support Ran DVMRP and had 100s of routers Drawbacks Manual tunnel creation/maintenance Inefficient No routing policy (single tree) Why would an ISP deploy a new mbone node?

Inter-domain multicast routing Technical issues How to exchange reachability information? How to construct trees? Who controls RP in shared tree? MBGP: reachability to multicast sources per prefix PIM-SM: shared tree multicast protocol MSDP: RP per group per AS, communication presence of group sources between RPs BGMP: alternative proposal, single shared tree with group addresses owned by individual ASs

Economic issues ISP router migration cycle Can t afford new routers on edge Domain independence Do I want my customers MC controlled by an RP in a competitors domain? Why run an RP for which I have no senders or receivers? Billing model Inconsistent with input-rate-based billing No group management (how big is group?) Group management Who is in the group? Who can send? Security Network management Limited Multicast addresses

Summary Multicast service model One-to-many, anonymous communication Simple host interface Per-source tree routing Efficient trees, S*G state explosion for large networks/groups Shared tree More complex, fragile, hard to manage Trees inefficient by as much as 2x Only requires G state on routers Operational and Economic issues matter in deployment Killer app not found