Title: Multicast
1Multicast
- Outline
- Multicast revisited
- Protocol Independent Multicast - SM
- Future Directions
2Multicast 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
3Protocol 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
4PIM-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
5PIM-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)
6PIM-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
7PIM SM Tree Maintenance
- Periodic Join/Prunes are sent to all PIM
neighbors - Periodic Joins refresh interfaces in a PIM
neighbors 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
8PIM-SM(1)
S
Source
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
9PIM-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
10PIM-SM(3)
S
RP Creates (, G) State
Source
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
11PIM-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
12PIM-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
13PIM-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
14PIM-SM(7)SPT Switchover
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
15PIM-SM(8)
S
C starts receiving Data natively
Source
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
16PIM-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
17PIM-SM(10)
S
B, RP pruned
Source
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
18PIM-SM(11)
S
Source
New receiver2 joinsE Creates State and Sends (,
G) Join
A
B
RP
D
C
E
join
R2
R1
Receiver 1
Receiver 2
19PIM-SM(12)
S
Source
C Adds Link Towards E to the OIFList of Both (,
G) and (S, G)Data from Source Arrives at E
A
B
RP
D
C
E
R2
R1
Receiver 1
Receiver 2
20Inter-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)
21MASC
- 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 As 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)
22BGMP
- 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
23Multicast Routers
- mrouted (Xerox PARC) DVMRP
- GateD (Merit) DVMRP, PIM-DM, PIM-SM
- Cisco IOS DVMRP, PIM-DM, PIM-SM
24M-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_at_isi.edu
25Session Directory
26Example Session
27M-BONE in 1994
28M-BONE in 1996
29M-BONE in 1998
30Future 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.
31Reliable 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