Multicast Communications

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

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

PIM Configuration. Page 1 of 9

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

Exercises to Communication Systems

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

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

Topic: Multicast routing

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 Communications. Slide Set were original prepared by Dr. Tatsuya Susa

CSE 123A Computer Networks

Multicast routing protocols

Advanced Network Training Multicast

PIM-SM Multicast Routing

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

ASM. Engineering Workshops

Configuring IP Multicast Routing

Configuring IP Multicast Routing

FSOS Multicast Configuration Guide

IP Multicast Routing Protocols

Configuring IP Multicast Routing

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

DATA COMMUNICATOIN NETWORKING

Advanced Networking. Multicast

Broadcast and Multicast Routing

Configuring IP Multicast Routing

ETSF10 Internet Protocols Routing on the Internet

Table of Contents 1 PIM Configuration 1-1

Chapter 24 PIM Commands

Developing IP Muiticast Networks

IP Multicast Technology Overview

Multicast Technology White Paper

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

IPv6 PIM-DM configuration example 36 IPv6 PIM-SM non-scoped zone configuration example 39 IPv6 PIM-SM admin-scoped zone configuration example 42 IPv6

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

Network Working Group Request for Comments: Category: Experimental. A. Helmy USC

Exercises to Communication Systems

Lab 7-3 Routing IP Multicast with PIM Sparse Mode

CSCE 463/612 Networks and Distributed Processing Spring 2018

Configuring Bidirectional PIM

IP Multicast Technology Overview

Table of Contents Chapter 1 Multicast Routing and Forwarding Configuration

ETSF10 Internet Protocols Routing on the Internet

Module 7 Implementing Multicast

Table of Contents Chapter 1 IPv6 PIM Configuration

FiberstoreOS IPv6 Multicast Configuration Guide

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

Enhancement of the CBT Multicast Routing Protocol

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

IP Multicast. What is multicast?

JNCIA Juniper Networks Certified Internet Associate

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

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

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

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

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

Multicast EECS 122: Lecture 16

Lecture 6. TCP/IP Network Layer (4)

IPv6 Multicast: PIM Sparse Mode

ITEC310 Computer Networks II

Advanced Networking. Multicast

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

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

IPv6 Multicast: PIM Sparse Mode

Lab 7-1 Implementing IGMP and IGMP Snooping

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

Introduction to Multicast Routing View PDF

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

IP Multicast: PIM Configuration Guide, Cisco IOS Release 15M&T

IP MULTICAST EXPLAINED

Alternative Solutions toward IPv4/IPv6 Multicast

IP Multicast Load Splitting across Equal-Cost Paths

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

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

Internet Multicast Routing

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

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

Internet2 Multicast Workshop

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

IP Multicast: PIM Configuration Guide, Cisco IOS XE Release 3S

Table of Contents 1 Multicast VPN Configuration 1-1

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

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

Implementing Layer-3 Multicast Routing on Cisco IOS XR Software

Implementing IPv6 Multicast

Multicast Protocol Configuration Examples H3C S7500 Series Ethernet Switches Release Table of Contents

Multicast routing Draft

This module describes how to configure IPv6 Multicast PIM features.

Network Configuration Example

Implementing Layer-3 Multicast Routing on Cisco IOS XR Software

MULTICAST EXTENSIONS TO OSPF (MOSPF)

Network Working Group. Category: Standards Track H. Holbrook Arastra I. Kouvelas Cisco August 2006

Institute of Computer Technology - Vienna University of Technology. L71 - IP Multicasting

IP Multicast: PIM Configuration Guide

IP-Multicast Service-Model Summary. IP Multicasting. Agenda. IP Multicasting. L71 - IP Multicasting. L71 - IP Multicasting

CS4700/CS5700 Fundamentals of Computer Networks

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

Protocol Independent Multicast (PIM): Protocol Specication. Deborah Estrin. Ching-gung Liu. January 11, Status of This Memo

Transcription:

Multicast Communications Multicast communications refers to one-to-many or many-tomany communications. Unicast Broadcast Multicast Dragkedja IP Multicasting refers to the implementation of multicast communication in the Internet Multicast is driven by receivers: Receivers indicate interest in receiving data 1

Multicast Groups The set of receivers for a multicast transmission is called a multicast group A multicast group is identified by a multicast address A user that wants to receive multicast transmissions joins the corresponding multicast group, and becomes a member of that group After a user joins, the network builds the necessary routing paths so that the user receives the data sent to the multicast group 2

Multicasting over a Packet Network Without support for multicast at the network layer: Multiple copies of the same message is transmitted on the same link 3

Multicasting over a Packet Network With support for multicast at the network layer: Requires a set of mechanisms: (1) Packet forwarding can send multiple copies of same packet (2) Multicast routing algorithm which builds a spanning tree (dynamically) 4

Multicast Addressing in the Internet All Class D addresses are multicast addresses: Class D 1 1 1 0 multicast group id 28 bits Class From To D 224.0.0.0 239.255.255.255 Multicast addresses are dynamically assigned. An IP datagram sent to a multicast address is forwarded to everyone who has joined the multicast group If an application is terminated, the multicast address is (implicitly) released. 5

IGMP The Internet Group Management Protocol (IGMP) is a simple protocol for the support of IP multicast. IGMP is defined in RFC 1112. IGMP operates on a physical network (e.g., single Ethernet Segment. IGMP is used by multicast routers to keep track of membership in a multicast group. Support for: Joining a multicast group Query membership Send membership reports 6

IGMP Protocol H1 H2 Ethernet R1 IGMP query IGMP Report 7

IGMP Protocol A host sends an IGMP report when it joins a multicast group (Note: multiple processes on a host can join. A report is sent only for the first process). No report is sent when a process leaves a group Changed in version 2 A multicast router regularly multicasts an IGMP query to all hosts (group address is set to zero). A host responds to an IGMP query with an IGMP report. Multicast router keeps a table on the multicast groups that have joined hosts. The router only forwards a packet, if there is a host still joined. Note: Router does not keep track which host is joined. 8

IGMP Protocol H1 H2 Ethernet R1 IGMP general query IGMP group address = 0 Destination IP address = 224.0.0.1 Source IP address = router's IP address IGMP group-specific query IGMP group address = group address Destination IP address = group address Source IP address = router's IP address IGMP membership report IGMP group address = group address Destination IP address= group address Source IP address = host's IP address 9

Multicast Routing Protocols Goal: Build a spanning tree between all members of a multicast group 10

Multicast routing as a graph problem Problem: Embed a tree such that all multicast group members are connected by the tree S 11

Multicast routing as a graph problem Problem: Embed a tree such that all multicast group members are connected by the tree S Solution 1: Shortest Path Tree or source-based tree Build a tree that minimizes the path cost from the source to each receiver Good tree if there is a single sender If there are multiple senders, need one tree per sender Easy to compute 12

Multicast routing as a graph problem Problem: Embed a tree such that all multicast group members are connected by the tree S Solution 2: Minimum-Cost Tree Build a tree that minimizes the total cost of the edges Good solution if there are multiple senders Very expensive to compute (not practical for more than 30 nodes) 13

Multicast routing in practice Routing Protocols implement one of two approaches: 1. Source Based Tree: Essentially implements Solution 1. Builds one shortest path tree for each sender Tree is built from receiver to the sender reverse shortest path / reverse path forwarding 2. Shared Tree: Build a single distribution tree that is shared by all senders Does not use Solution 2 (because it is too expensive) Selects one router as a core (also called rendezvous point ) All receivers build a shortest path to the core reverse shortest path / reverse path forwarding 14

Multicast Routing table Routing table entries for source-based trees and for core-based trees are different Source-based tree: (Source, Group) or (S, G) entry. Shared tree: (*, G) entry. Source IP address Multicast group Incoming interface (RPF interface) Outgoing interface list S1 G1 I1 I2, I3 * G2 I2 I1, I3 15

Reverse Path Forwarding (RPF) RPF builds a shortest path tree in a distributed fashion by taking advantage of the unicast routing tables. Main concept: Given the address of the root of the tree (e.g., the sending host), a router selects as its upstream neighbor in the tree the router which is the next-hop neighbor for forwarding unicast packets to the root. This concept leads to a reverse shortest path from any router to the sending host. The union of reverse shortest paths builds a reverse shortest path tree. RPF Forwarding: Forward a packet only if it is receives from an RPF neighbor 16

Multicast routing in practice Routing algorithms in practice implement one of two approaches: 1. Source Based Tree Tree: Establish a reverse path to the source 2. Shared Tree: Establish a reverse path to the core 17

Building a source-based tree Set routing tables according to RPF forwarding Flood-and-Prune 18

Building a source-based tree Set routing tables according to RPF forwarding Source H1 R1 Flood-and-Prune R2 R3 H2 R4 Flood= Forward packets that arrive on RPF interface on all non-rpf interfaces R5 H3 joined R7 R6 R8 H4 joined H5 19

Building a source-based tree Set routing tables according to RPF forwarding Source H1 Flood-and-Prune R1 Flood= Forward packets on all non-rpf interfaces R2 R4 R3 H2 Receiver drops packets not received on RPF interface R5 H3 joined R7 R6 R8 H4 joined H5 20

Prune Building a source-based tree Set routing tables according to RPF forwarding Source H1 Flood-and-Prune Prune= Send a prune message when a packet is received on a non-rpf interface or when there are no receivers downstream Prune message disables routing table entry R5 H3 joined R1 R2 Prune R4 PrunePrune Prune Prune Prune Prune H4 R7 Prune Prune R3 Prune H5 Prune H2 R6 R8 joined 21

Pruning Prune message temporarily disables a routing table entry Effect: Removes a link from the multicast tree No multicast messages are sent on a pruned link Prune message is sent in response to a multicast packet Question: Why is routing table only temporarily disabled? Who sends prune messages? A router with no group members in its local network and no connection to other routers (sent on RPF interface) A router with no group members in its local network which has received a prune message on all non-rpf interfaces (sent on RPF interface) A router with group members which has received a packet from a non-rpf neighbor (to non-rpf neighbor) 22

Building a source-based tree When a receiver joins, one needs to re-activate a pruned routing table entry Source H1 R1 Grafting Sending a Graft message disables prune, and re-activates routing table entry. R5 R2 R4 R3 Graft H2 R6 H3 joined R7 Graft R8 H4 joined H5 joined 23

Alternative method for building a source-based tree This only works if the receiver knows the source Explicit-Join Receiver sends a Join message to RPF neighbor Join message creates (S,G) routing table entry Join message is passed on 24

Building a shared tree One router is the core Receiver sends a Join message to RPF neighbor with respect to core Join message creates (*, G) routing table entry 25

Building a shared tree Source sends data to the core Core forwards data according to routing table entry 26

Multicast routing protocols in the Internet Distance Vector Multicast Routing Protocol (DVMRP): First multicast routing protocol Assumes an overlay topology of multicast routers Implements flood-and-prune Multicast Open Shortest Path First (MOSPF): Multicast extensions to OSPF. Each router calculates a shortest-path tree based on link state database Link state advertisements for multicast groups raises scalability concerns Core Based Tree (CBT): First shared tree routing protocol. Not deployed. Protocol Independent Multicast (PIM): Runs in two modes: PIM Dense Mode (PIM-DM) and PIM Sparse Mode (PIM- SM). PIM-DM builds source-based trees using flood-and-prune PIM-SM builds shared trees as well as source-based trees with explicit joins. 27

MBONE - Original Multicast Deployment MBone (Multicast Backbone) started multicast deployment in 1992 MBone consists of multicast routers that exchange IP multicast datagrams over a unicast IP network DVMRP is the routing protocol for the MBone 28

Tunneling MBone routers connect via IP tunnels With tunneling, IP packets are encapsulated by another IP header (IP-in-IP encapsulation) Multicast IP Header Payload Unicast IP header Multicast IP Header Payload Unicast IP header Multicast IP Header Payload Multicast IP Header Payload Mbone Router Router (not on Mbone) Mbone Router Multicast IP Header Payload IP-in-IP Tunnel Multicast IP Header Payload 29

PIM Messages (PIM version 2) 32 bit Version (= 2) Type Reserved Checksum Message type specific part PIM-DM messages Type PIM-DM PIM-SM Hello 0 Register 1 Register-Stop 2 Join/Prune 3 Bootstrap 4 Assert 5 Graft 6 Graft-Ack 7 Candidate-RP- Advertisement 8 Encapsulated in IP datagrams with protocol number 103. PIM messages can be sent as unicast or multicast packet 224.0.0.13 is reserved as the ALL-PIM-Routers group 30

PIM-DM: PIM Dense Mode PIM-DM implements flood-and-prune Source S1 Orange packet: Multicast packet (=Data) R1 Blue packet: PIM message R2 I2 I1 I3 prune (S1, G) R3 R4 H2 joined H3 31

PIM-SM: PIM Sparse Mode Core is called rendezvous-point (RP) Source S1 Receivers know RP (statically configured or dynamically elected) R1 I1 RP R2 R5 I2 I3 join (*, G) When receiver joins, a Join message is sent to RP on RPF. R3 join (*, G) R4 IGMP H2 H3 joined (a) PIM-SM: H2 joins 32

PIM-SM: PIM Sparse Mode Host H3 joins: Join message is only forwarded until the first router that is part of the shared tree. Source R1 S1 R2 I1 RP R5 I2 I3 R3 join (*, G) R4 IGMP H2 joined H3 33

PIM-SM: Data transmission Source sends multicast packet to RP Source S1 Packet is attached to an RP Register message R1 register (S1, G) When packet reaches RP, it is forwarded in the tree R2 I2 I1 I3 join (S1,G) R5 RP R3 R4 Also: RP sends a Join message on reverse path to S1 H2 joined H3 (a) PIM-SM: Register message to RP 34

PIM-SM: Data transmission When Join messages reaches R1, it sends a native multicast packet to the RP (in addition to the packet attached to the register message) Source R1 S1 I1 register (S1, G) R2 R5 I2 I3 RP R3 R4 H2 joined H3 35

PIM-SM: Data transmission When RP receives native multicast packet it sends a register stop message to R1. This message stops the transmission of register messages from R1. Source R1 R2 S1 I2 I1 I3 register (S1, G) register stop (S1,G) R5 RP R3 R4 H2 joined H3 36

PIM-SM: Data transmission Resulting, one copy of data flows: Source S1 From S1 to RP From RP to R3 R1 R2 I2 I1 I3 R5 RP R3 R4 H2 joined H3 37

PIM-SM: Switching to source-based tree When data to receivers exceeds a threshold, routers switch to a source-based tree Source R1 S1 This is done by sending an explicit join message to the source join (S1,G) join (S1,G) R2 I2 I1 I3 RP R5 R3 R4 There may be duplicate packets being sent for some time H2 joined H3 (a) PIM-SM: R3 switches to a SPT 38

PIM-SM: Switching to source-based tree S1 When data arrives from source (as opposed to RP), a Prune message is sent to the RPT Source R1 RP Now: data is forwarded only along the shortestpath tree prune (S,G,RPT) R2 I2 I1 I3 prune (S,G,RPT) R5 R3 R4 H2 joined H3 (b) PIM-SM: Data follows a SPT 39