Multicast Outline Multicast revisited Protocol Independent Multicast SM

  • Slides: 31
Download presentation
Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions

Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions

Multicast Revisited • Motivation: multiple hosts wish to receive the same data from one

Multicast Revisited • Motivation: multiple hosts wish to receive the same data from one or more senders • Multicast routing defines extensions to IP routers to support broadcasting data in IP networks – Until now IP has only facilitated a point to point routing • Multicast data is sent and received at a multicast address which defines a group – Simple notion of a group is a TV channel • Data is sent and received in multicast groups via routing trees from sender(s) to receivers. – Protocols are principally concerned with setting up and maintaining trees • Note: All multicast messaging is sent via unicast CS 640

Protocol types • Dense mode protocols – – – assumes dense group membership Source

Protocol types • Dense mode protocols – – – assumes dense group membership Source distribution tree and NACK type DVMRP (Distance Vector Multicast Routing Protocol) PIM-DM (Protocol Independent Multicast, Dense Mode) Example: Company-wide announcement • Sparse mode protocol – – assumes sparse group membership Shared distribution tree and ACK type PIM-SM (Protocol Independent Multicast, Sparse Mode) Examples: a Shuttle Launch CS 640

PIM-SM overview (1) • Developed due to scaling issues – Flooding is generally a

PIM-SM overview (1) • Developed due to scaling issues – Flooding is generally a real bad idea • Based on creating routing tree for a group with Rendezvous Point (RP) as a root for the tree – RP is a focus for both senders and receivers • Explicit join model – Receivers send Join towards the RP – Sender send Register towards the RP • Supports both shared trees (default) and source trees • RPF check depends on tree type – For shared tree (between RP and receivers), uses RP address – For source tree (between RP and source), uses Source address CS 640

PIM-SM overview(2) • Only one RP is chosen for a particular group • RP

PIM-SM overview(2) • Only one RP is chosen for a particular group • RP statically configured or dynamically learned (Auto-RP, PIM v 2 candidate RP advertisements) • Data forwarded based on the source state (S, G) if it exists, otherwise use the shared state (*, G) – (*, G) means all senders • RFC 2362 – “PIM Sparse Mode Protocol Spec” (experimental) • Internet Draft: draft-ietf-pim-v 2 -sm-00. txt (October 1999) CS 640

PIM-SM Basics • • PIM Neighbor Discovery PIM SM Forwarding PIM SM Joining PIM

PIM-SM Basics • • PIM Neighbor Discovery PIM SM Forwarding PIM SM Joining PIM SM Registering PIM SM SPT-Swichover PIM SM Pruning PIM SM Bootstrap PIM SM State Maintenance CS 640

PIM SM Tree Maintenance • Periodic Join/Prunes are sent to all PIM neighbors •

PIM SM Tree Maintenance • Periodic Join/Prunes are sent to all PIM neighbors • Periodic Joins refresh interfaces in a PIM neighbor’s downstream list • Periodic Prunes refresh pruned state of a PIM neighbor – There is a designated router (DR) for each local network and all other routers get pruned • Received multicast packets reset (S, G) entry expiration timers. – (S, G) entries are deleted if timers expire CS 640

PIM-SM(1) S Source A B RP C R 1 D E Receiver 1 CS

PIM-SM(1) S Source A B RP C R 1 D E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(2) S Receiver 1 Joins Group G C Creates (*, G) State, Sends (*,

PIM-SM(2) S Receiver 1 Joins Group G C Creates (*, G) State, Sends (*, G) Join to the RP Source A B RP D Join C R 1 E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(3) S RP Creates (*, G) State Source A B RP C R 1

PIM-SM(3) S RP Creates (*, G) State Source A B RP C R 1 D E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(4) S Source Register Source Sends Data A Sends Registration to the RP IP

PIM-SM(4) S Source Register Source Sends Data A Sends Registration to the RP IP tunnel between A and RP since multicast tree is not established Data A B RP C R 1 D E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(5) S RP decapsulates Registration Forwards Data Down the Shared Tree Sends Joins Towards

PIM-SM(5) S RP decapsulates Registration Forwards Data Down the Shared Tree Sends Joins Towards the Source join A join B RP C R 1 D E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(6) S RP Sends Register-Stop Once Data Arrives Natively Source Register-Stop A B RP

PIM-SM(6) S RP Sends Register-Stop Once Data Arrives Natively Source Register-Stop A B RP C R 1 D E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(7) SPT Switchover S C Sends (S, G) Joins to Join the Shortest Path

PIM-SM(7) SPT Switchover S C Sends (S, G) Joins to Join the Shortest Path Tree (SPT) Source A B RP D join C R 1 E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(8) S C starts receiving Data natively Source A B RP C R 1

PIM-SM(8) S C starts receiving Data natively Source A B RP C R 1 D E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(9) S C Sends Prunes Up the RP tree for the Source. RP Deletes

PIM-SM(9) S C Sends Prunes Up the RP tree for the Source. RP Deletes (S, G) OIF and Sends Prune Towards the Source Prune A Prune B RP D Prune C R 1 E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(10) S B, RP pruned Source A B RP C R 1 D E

PIM-SM(10) S B, RP pruned Source A B RP C R 1 D E Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(11) S New receiver 2 joins E Creates State and Sends (*, G) Join

PIM-SM(11) S New receiver 2 joins E Creates State and Sends (*, G) Join Source A B RP C D E join R 1 Receiver 1 CS 640 R 2 Receiver 2

PIM-SM(12) S C Adds Link Towards E to the OIF List of Both (*,

PIM-SM(12) S C Adds Link Towards E to the OIF List of Both (*, G) and (S, G) Data from Source Arrives at E Source A B RP C R 1 D E Receiver 1 CS 640 R 2 Receiver 2

Inter-Domain Multicast Routing • BGP 4+ (Multicast BGP) for short-term solution – Tweeks to

Inter-Domain Multicast Routing • BGP 4+ (Multicast BGP) for short-term solution – Tweeks to BGP 4 to support multicast • Multicast Address Set and Claim (MASC) – Hierarchical multicast address allocation at domain level – Dynamic allocation (not permanent) of addresses by “set and claim with collision” • Border Gateway Multicast Protocol (BGMP) – Use a PIM-like protocol between domains (“BGP for multicast”) CS 640

MASC • Assume Addr(A) is allocated to domain A and domains B and C

MASC • Assume Addr(A) is allocated to domain A and domains B and C sit “below” A in a domain hierarchy • B selects Addr(B) which is subset of Addr(A) and send claim (addr(B)) message to A and C • A forwards claim to all children except B. • If any of A’s children is already using Addr(B) they will report a collision to A. • A will notify B of the collision and B will select other address space. • Address space information is used to create distribution tree using BGMP. • Stored in M-RIB (Multicast Routing Information Base) CS 640

BGMP • BGMP builds shared tree of domains for a group – Uses a

BGMP • BGMP builds shared tree of domains for a group – Uses a rendezvous mechanism at the domain level – Shared tree is bidirectional – Root of shared tree of domains is at root domain • • • Runs in routers that border a multicast routing domain Runs over TCP Joins and prunes travel across domains Can build unidirectional source trees M-IGP (multicast Intra-Gateway Protocol) tells the borders about group membership CS 640

Multicast Routers • mrouted (Xerox PARC) : DVMRP • Gate. D (Merit) : DVMRP,

Multicast Routers • mrouted (Xerox PARC) : DVMRP • Gate. D (Merit) : DVMRP, PIM-DM, PIM-SM • Cisco IOS : DVMRP, PIM-DM, PIM-SM CS 640

M-Bone • Wide area IP multicast test bed using IP-in-IP tunneling • Routing protocol

M-Bone • Wide area IP multicast test bed using IP-in-IP tunneling • Routing protocol – DVMRP is used – Transition to PIM (DM, SM) is ongoing • Started in March 1992 for audio broadcasting of IETF meeting (San Diego) • Latest tolopology – ftp: //ftp. parcftp. xerox. com/pub/net-research/mbone/maps/mbone-map-big. ps – About 6000 (S, G) entries • Discussion list: mbone@isi. edu CS 640

Session Directory CS 640

Session Directory CS 640

Example Session CS 640 26

Example Session CS 640 26

M-BONE in 1994 CS 640

M-BONE in 1994 CS 640

M-BONE in 1996 CS 640

M-BONE in 1996 CS 640

M-BONE in 1998 CS 640

M-BONE in 1998 CS 640

Future Mulicast Service • Current multicast service - latency and packet drop • Research

Future Mulicast Service • Current multicast service - latency and packet drop • Research for “Reliable multicast” is actively going on for; – large scale interactive gaming on the Internet – Distributed databases – large scale news distribution etc. CS 640

Reliable multicast technology • SRM ( Scalable Reliable Multicast) – multicast with re-transmit (with

Reliable multicast technology • SRM ( Scalable Reliable Multicast) – multicast with re-transmit (with random back-off) – All nodes can re-transmit datagram (Multicast/Unicast) • MTP (Multicast Transport Protocol: RFC 1301) • FEC (Forward Error Correction) – error packet recovery by redundant packets CS 640