Multicast
Multicast
Multicast
IP Multicast
David Meyer
Cisco Systems
0940_03F8_c1
NW97_US_106
Agenda
IP Multicast Technology and Concepts
IP Multicast Host-to-Router Protocols
IP Multicast Routing Protocols
Protocol Independent MulticastPIM
General Multicast Concepts
Introduction to Multicast
Why multicast?
When sending same data to multiple
receivers
Better bandwidth utilization
Lesser host/router processing
Receivers addresses unknown
Applications
Video/audio conferencing
Resource discovery/service advertisement
Stock distribution
0940_03F8_c1
NW97_US_106
Unicast/Multicast
Unicast
Host
Router
Multicast
Host
Router
0940_03F8_c1
NW97_US_106
0940_03F8_c1
NW97_US_106
0940_03F8_c1
NW97_US_106
Hosts
Routers
0940_03F8_c1
NW97_US_106
0940_03F8_c1
NW97_US_106
10
IGMPJoining a Group
224.2.0.1
224.2.0.1
224.5.5.5
224.2.0.1
Host 1
Host 2
Sends Report
to 224.2.0.1
Host 3
Sends Report
to 224.5.5.5
Periodically Sends
IGMP Query to 224.0.0.1
0940_03F8_c1
NW97_US_106
11
IGMP v3:
In design phase
Enables to listen only to a specified subset
of the hosts sending to the group
0940_03F8_c1
NW97_US_106
12
IGMPLeaving a Group
224.2.0.1
224.2.0.1
Host 1
224.2.0.1
Host 2
Host 3
Sends Report
for 224.2.0.1
Sends Leave
for 224.2.0.1
to 224.0.0.2
Sends Leave
for 224.5.5.5
to 224.0.0.2
Sends Group Specific
IGMP Query to 224.2.0.1
Sends Group Specific
IGMP Query to 224.5.5.5
0940_03F8_c1
NW97_US_106
13
Receiver
Source
F
D
E
Multicast
0940_03F8_c1
NW97_US_106
14
0940_03F8_c1
NW97_US_106
15
Multicast Routing
ProtocolsCharacteristics
Shortest Path or Source
Distribution Tree
Source
Notation: (S, G)
S = Source
G = Group
Receiver 1
0940_03F8_c1
NW97_US_106
Receiver 2
16
Multicast Routing
ProtocolsCharacteristics
Shared Distribution Tree
Source 1
Notation: (*, G)
* = All Sources
G = Group
Source 2
A
Receiver 1
0940_03F8_c1
NW97_US_106
D (Shared Root) F
Receiver 2
17
Multicast Routing
ProtocolsCharacteristics
Distribution trees
Source tree
Uses more memory O(S x G) but you get optimal paths
from source to all receivers, minimizes delay
Shared tree
Uses less memory O(G) but you may get suboptimal
paths from source to all receivers,
may introduce extra delay
Protocols
PIM, DVMRP, MOSPF, CBT
0940_03F8_c1
NW97_US_106
18
Multicast Routing
ProtocolsCharacteristics
Types of multicast protocols
Dense-mode
Broadcast and prune behavior
Similar to radio broadcast
Sparse-mode
Explicit join behavior
Similar to pay-per-view
0940_03F8_c1
NW97_US_106
19
Multicast Routing
ProtocolsCharacteristics
Dense-mode protocols
Assumes dense group membership
Branches that are pruned dont get data
Pruned branches can later be grafted
to reduce join latency
DVMRPDistance Vector Multicast Routing Protocol
Dense-mode PIMProtocol Independent Multicast
0940_03F8_c1
NW97_US_106
20
Multicast Routing
ProtocolsCharacteristics
Sparse-mode protocols
Assumes group membership is sparsely
populated across a large region
Uses either source or shared distribution trees
Explicit join behaviorassumes no one wants
the packet unless asked
Joins propagate from receiver to source
or Rendezvous Point (Sparse mode PIM)
or Core (Core Based Tree)
0940_03F8_c1
NW97_US_106
21
DVMRP
Broadcast and prune
Source trees created on demand
based on RPF rule
Many implementations
mrouted, Bay,
Cisco
draft-ietf-idmr-dvmrp-v3-06.{txt,ps}
0940_03F8_c1
NW97_US_106
22
23
0940_03F8_c1
NW97_US_106
24
Link
Data
Control
B
G
F
H
E
Receiver 1
0940_03F8_c1
NW97_US_106
I
Receiver 2
25
B
G
F
H
E
Receiver 1
0940_03F8_c1
NW97_US_106
I
Receiver 2
26
B
G
Prune
C
F
H
E
Receiver 1
0940_03F8_c1
NW97_US_106
I
Receiver 2
27
B
G
Asserts
H
E
Receiver 1
0940_03F8_c1
NW97_US_106
I
Receiver 2
28
Prune
G
C
Prune
E
Receiver 1
0940_03F8_c1
NW97_US_106
Join Override
I
Receiver 2
29
B
G
F
H
Graft
E
Receiver 1
Receiver 2
Receiver 3
0940_03F8_c1
NW97_US_106
30
B
G
F
H
Receiver 1
Receiver 2
Receiver 3
0940_03F8_c1
NW97_US_106
31
32
0940_03F8_c1
NW97_US_106
33
Source
Receiver 1
0940_03F8_c1
NW97_US_106
RP
Receiver 2
34
Source
RP
Join
Receiver 1
0940_03F8_c1
NW97_US_106
Receiver 2
35
Source
Receiver 1
0940_03F8_c1
NW97_US_106
RP
Receiver 2
36
Source
Register
Receiver 1
0940_03F8_c1
NW97_US_106
RP
Receiver 2
37
Source
Join
Join
Receiver 1
0940_03F8_c1
NW97_US_106
RP
Receiver 2
38
Source
Register-Stop
Receiver 1
0940_03F8_c1
NW97_US_106
RP
Receiver 2
39
Source
RP
(S, G) Join
Receiver 1
0940_03F8_c1
NW97_US_106
Receiver 2
40
Source
(S, G) Prune
RP
(S, G) RP Bit Prune
Receiver 1
0940_03F8_c1
NW97_US_106
Receiver 2
41
Source
RP
(*, G) Join
Receiver 1
0940_03F8_c1
NW97_US_106
Receiver 2
42
Source
Receiver 1
0940_03F8_c1
NW97_US_106
RP
Receiver 2
43
Source
Register
Receiver 1
0940_03F8_c1
NW97_US_106
RP
Source 2
Receiver 2
44
Inter-domain
Multicast Routing
1037_03F8_c2
0940_03F8_c1
NW97_US_106
NW98_US_114
45
Agenda
Introduction
First Some Basic Technology
Basic Host Model
Basic Router Model
Data Distribution Concepts
46
Agenda (Cont.)
Potential Solutions (Cisco Specific)
Multi-level RP, Anycast Clusters, MSDP
Using Directory Services
Industry Solutions
BGMP and MASC
47
IntroductionLevel Set
This presentation focuses on large-scale
multicast routing in the Internet
The problems/solutions presented
are related to inter-ISP deployment
of IP multicast
We believe the current set of deployed
technology is sufficient
for enterprise environments
0940_03F8_c1
NW97_US_106
48
0940_03F8_c1
NW97_US_106
49
0940_03F8_c1
NW97_US_106
50
Future applications
Distance learning
Entertainment
0940_03F8_c1
NW97_US_106
51
0940_03F8_c1
NW97_US_106
52
0940_03F8_c1
NW97_US_106
53
0940_03F8_c1
NW97_US_106
54
0940_03F8_c1
NW97_US_106
55
0940_03F8_c1
NW97_US_106
56
0940_03F8_c1
NW97_US_106
57
0940_03F8_c1
NW97_US_106
58
Shared trees
Router keeps (*,G) state so packets flow
from the root of the tree to all receivers
Trades off higher delay from source
against less router state
0940_03F8_c1
NW97_US_106
59
0940_03F8_c1
NW97_US_106
60
0940_03F8_c1
NW97_US_106
61
0940_03F8_c1
NW97_US_106
62
0940_03F8_c1
NW97_US_106
63
0940_03F8_c1
NW97_US_106
64
0940_03F8_c1
NW97_US_106
65
Deployment Obstacles
Non-Technical Issues
How to bill for the service
Is the service what runs on top of multicast?
Or is it the transport itself?
Do you bill based on sender or receiver, or both?
66
Deployment Obstacles
Non-Technical Issues
Making your peers fan out instead of
you (save replication in your network)
Closest exit vs latest entrance all a wash
0940_03F8_c1
NW97_US_106
67
Deployment Obstacles
Technical Issues
Source tree state will become
a problem as IP multicast
gains popularity
When policy and access control per source are the
rule rather than the exception
68
Deployment Obstacles
Technical Issues
0940_03F8_c1
NW97_US_106
69
Deployment Obstacles
Technical Issues
ISPs dont want to depend on
competitors RP
Do we connect shared trees together?
Do we have a single shared tree
across domains?
Do we use source trees only for
inter-domain groups?
0940_03F8_c1
NW97_US_106
70
Deployment Obstacles
Technical Issues
Unicast and multicast topologies may
not be congruent across domains
Due to physical/topological constraints
Due to policy constraints
71
Broadcast Membership
MOSPF
DWRs
Rendezvous Mechanism
PIM-SM
BGMP
0940_03F8_c1
NW97_US_106
72
Rendezvous Mechanism
Why not use sparse-mode PIM?
Where to put root of shared tree (RP)
ISP third-party RP problem
0940_03F8_c1
NW97_US_106
73
Rendezvous Mechanism
Lets try using sparse-mode PIM for
inter-domain multicast
Four possibilities for distributing
group-to-RP mappings
(1) Multi-level RP
(2) Anycast clusters
(3) MSDP
(4) Directory service
0940_03F8_c1
NW97_US_106
74
Group-to-RP mapping
distribution: (1) Multi-level RP
Idea: connect shared trees in hierarchy
Level-0 RPs are inside domains
They propagate joins from downstream routers to a
Level-1 RP that may be in another domain
Level-0 shared trees connected via a Level-1 RP
If multiple Level-1 RPs, iterate up to Level-2 RPs
0940_03F8_c1
NW97_US_106
75
0940_03F8_c1
NW97_US_106
76
not
77
78
0940_03F8_c1
NW97_US_106
79
80
0940_03F8_c1
NW97_US_106
81
82
0940_03F8_c1
NW97_US_106
83
84
0940_03F8_c1
NW97_US_106
85
86
0940_03F8_c1
NW97_US_106
87
0940_03F8_c1
NW97_US_106
IN
IN
A
A
IN CNAME
IN CNAME
171.69.58.81
171.69.127.178
dino-ss20
jmeylor-sun
88
Standards Solutions
Ultimate scalability of both
routing and group allocation can
be achieved using BGMP/MASC
Use BGP4+ (MBGP) to deal with
topology non-congruency
0940_03F8_c1
NW97_US_106
89
0940_03F8_c1
NW97_US_106
90
91
92
0940_03F8_c1
NW97_US_106
93
Work in progress
0940_03F8_c1
NW97_US_106
94
95
0940_03F8_c1
NW97_US_106
96
0940_03F8_c1
NW97_US_106
97
0940_03F8_c1
NW97_US_106
98