310 likes | 519 Views
Multicast. Outline Multicast revisited Protocol Independent Multicast - SM Future Directions. Multicast Revisited. Motivation: multiple hosts wish to receive the same data from one or more senders
E N D
Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions
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 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 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 statically configured or dynamically learned (Auto-RP, PIM v2 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 • RFC2362 –“PIM Sparse Mode Protocol Spec” (experimental) • Internet Draft: draft-ietf-pim-v2-sm-00.txt (October 1999) CS 640
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 • 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 D C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(2) S Receiver 1 Joins Group GC Creates (*, G) State, Sends(*, G) Join to the RP Source A B RP D Join C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(3) S RP Creates (*, G) State Source A B RP D C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(4) S Source Sends DataA Sends Registration to the RP Source IP tunnel between A and RP since multicast tree is not established Register Data A B RP D C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(5) S RP decapsulates RegistrationForwards Data Down the Shared TreeSends Joins Towards the Source Source join join A B RP D C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(6) S RP Sends Register-Stop OnceData Arrives Natively Source Register-Stop A B RP D C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(7)SPTSwitchover S C Sends (S, G) Joins to Join theShortest Path Tree (SPT) Source A B RP D join C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(8) S C starts receiving Data natively Source A B RP D C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(9) S C Sends Prunes Up the RP tree forthe Source. RP Deletes (S, G) OIF andSends Prune Towards the Source Source Prune Prune A B RP D Prune C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(10) S B, RP pruned Source A B RP D C E R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(11) S New receiver2 joinsE Creates State and Sends (*, G) Join Source A B RP D C E join R2 R1 Receiver 1 Receiver 2 CS 640
PIM-SM(12) S C Adds Link Towards E to the OIFList of Both (*, G) and (S, G)Data from Source Arrives at E Source A B RP D C E R2 R1 Receiver 1 Receiver 2 CS 640
Inter-Domain Multicast Routing • BGP4+ (Multicast BGP) for short-term solution • Tweeks to BGP4 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 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 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 • GateD (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 • 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
Example Session CS 640
M-BONE in 1994 CS 640
M-BONE in 1996 CS 640
M-BONE in 1998 CS 640
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 random back-off) • All nodes can re-transmit datagram (Multicast/Unicast) • MTP (Multicast Transport Protocol: RFC1301) • FEC (Forward Error Correction) • error packet recovery by redundant packets CS 640