multicast
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
MulticastOutline
Multicast revisited Protocol Independent Multicast - SMFuture 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