Multicast
Outline
Multicast revisited
Protocol Independent Multicast - SM
Future Directions
CS 640 2
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 3
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 4
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 5
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 6
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 7
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 8
PIM-SM(1)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
CS 640 9
PIM-SM(2)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
Receiver 1 Joins Group GC Creates (*, G) State, Sends(*, G) Join to the RP
Join
CS 640 10
PIM-SM(3)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
RP Creates (*, G) State
CS 640 11
PIM-SM(4)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
Source Sends DataA Sends Registration to the RP
Register
Data
IP tunnel between A and RP sincemulticast tree is not established
CS 640 12
PIM-SM(5)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
RP decapsulates RegistrationForwards Data Down the Shared TreeSends Joins Towards the Source
joinjoin
CS 640 13
PIM-SM(6)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
RP Sends Register-Stop OnceData Arrives Natively
Register-Stop
CS 640 14
PIM-SM(7)SPT Switchover
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
C Sends (S, G) Joins to Join theShortest Path Tree (SPT)
join
CS 640 15
PIM-SM(8)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
C starts receiving Data natively
CS 640 16
PIM-SM(9)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
C Sends Prunes Up the RP tree forthe Source. RP Deletes (S, G) OIF andSends Prune Towards the Source
Prune
PrunePrune
CS 640 17
PIM-SM(10)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
B, RP pruned
CS 640 18
PIM-SM(11)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
join
New receiver2 joinsE Creates State and Sends (*, G) Join
CS 640 19
PIM-SM(12)
Receiver 1
Source
Receiver 2
S
R1
A B RP D
C E
R2
C Adds Link Towards E to the OIFList of Both (*, G) and (S, G)Data from Source Arrives at E
CS 640 20
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 21
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 22
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 23
Multicast Routers
• mrouted (Xerox PARC) : DVMRP• GateD (Merit) : DVMRP, PIM-DM, PIM-SM• Cisco IOS : DVMRP, PIM-DM, PIM-SM
CS 640 24
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: [email protected]
CS 640 25
Session Directory
CS 640 26
Example Session
CS 640 27
M-BONE in 1994
CS 640 28
M-BONE in 1996
CS 640 29
M-BONE in 1998
CS 640 30
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 31
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
Top Related