Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions
CS 6402 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 6403 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 6404 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 6405 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 6406 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 6407 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 6408 PIM-SM(1) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2
CS 6409 PIM-SM(2) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 Receiver 1 Joins Group G C Creates (*, G) State, Sends (*, G) Join to the RP Join
CS PIM-SM(3) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 RP Creates (*, G) State
CS PIM-SM(4) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 Source Sends Data A Sends Registration to the RP Register Data IP tunnel between A and RP since multicast tree is not established
CS PIM-SM(5) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 RP decapsulates Registration Forwards Data Down the Shared Tree Sends Joins Towards the Source join
CS PIM-SM(6) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 RP Sends Register-Stop Once Data Arrives Natively Register-Stop
CS PIM-SM(7) SPT Switchover Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C Sends (S, G) Joins to Join the Shortest Path Tree (SPT) join
CS PIM-SM(8) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C starts receiving Data natively
CS PIM-SM(9) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C Sends Prunes Up the RP tree for the Source. RP Deletes (S, G) OIF and Sends Prune Towards the Source Prune
CS PIM-SM(10) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 B, RP pruned
CS PIM-SM(11) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 join New receiver2 joins E Creates State and Sends (*, G) Join
CS PIM-SM(12) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C Adds Link Towards E to the OIF List of Both (*, G) and (S, G) Data from Source Arrives at E
CS 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 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 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 Multicast Routers mrouted (Xerox PARC) : DVMRP GateD (Merit) : DVMRP, PIM-DM, PIM-SM Cisco IOS : DVMRP, PIM-DM, PIM-SM
CS 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:
CS Session Directory
CS Example Session
CS M-BONE in 1994
CS M-BONE in 1996
CS M-BONE in 1998
CS 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 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