Multicast Routing Protocols

advertisement
Multicast Routing
Protocols
The Need for Multicast Routing

Routing based on member information
– Whenever a multicast router receives a multicast packet it
checks the group ID of the message and forwards the
packet only if there is a member of that group in networks
connected to it

Member information exchange
– For delivering a multicast packet from the source to the
destination nodes on other networks, multicast routers
need to exchange the information they have gathered from
the group membership of the hosts directly connected to
them
Basic Router Model


Since hosts can send any time to any group, routers must be prepared to receive on all
link-layer group addresses
– And know when to forward or drop packets
What does a router keep track of?
– interfaces leading to receivers
– sources when utilizing source distribution trees
– prune state depending on the multicast routing protocol (e.g. Dense Mode)
Data Distribution Concepts


Routers maintain state to deliver data down a distribution tree
Source trees
– Router keeps (S,G) state so packets can flow from the source to all
receivers
– Trades off low delay from source against router state
Data Distribution Concepts

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
Data Distribution Concepts

How is the tree built?
– On demand, in response to data arrival
» Dense-mode protocols (PIM-DM and DVMRP)
» MOSPF
– Explicit control
– Sparse-mode protocols (PIM-SM and CBT)
Data Distribution Concepts

Building distribution trees requires knowledge of where members are
– flood data to find out where members are not (Dense-mode protocols)
– flood group membership information (MOSPF), and build tree as data
arrives
– send explicit joins and keep join state (Sparse-mode protocols)
Data Distribution Concepts
 Construction
of source trees requires knowledge of source
locations
–In dense-mode protocols you learn them when data arrives (at
each depth of the tree)
–Same with MOSPF
–In sparse-mode protocols you learn them when data arrives on
the shared tree (in leaf routers only)
»Ignore since routing based on direction from RP
»Pay attention if moving to source tree
Data Distribution Concepts

To build a shared tree you need to know where the core (RP) is
– Can be learned dynamically in the routing protocol (Auto-RP,
PIMv2)
– Can be configured in the routers
Data Distribution Concepts

Shared trees make sense for
– Many low-rate sources
– Applications that don’t require low delay
– Consistent policy and access control across most participants in a group
– When most of the source trees overlap topologically with the shared tree
Multicast Routing
Protocols—Characteristics

Types of multicast protocols
– Dense-mode
» Flood and prune behavior
– Sparse-mode
» Explicit join behavior
Multicast Routing
Protocols—Characteristics

Dense-mode protocols
–Assumes dense group membership
»Branches that are pruned don’t get data
»Pruned branches can later be grafted
to reduce join latency
–DVMRP—Distance Vector Multicast Routing Protocol
–Dense-mode PIM—Protocol Independent Multicast
Multicast Routing
Protocols—Characteristics

Sparse-mode protocols
»Assumes group membership is sparsely populated across a large region
»Uses either source or shared distribution trees
»Explicit join behavior—assumes no one wants
the packet unless asked
»Joins propagate from receiver to source
or Rendezvous Point (Sparse mode PIM)
or Core (Core Based Tree)
Intra-Domain Multicast Routing Protocols


Similar to unicast routing protocols - such as Routing Information
Protocol (RIP) and Open Shortest Path First (OSPF) protocol -,
there should be multicast routing protocols such that multicast
routers can determine where to forward multicast messages
Existing multicast protocols:
– Distance Vector Multicast Routing Protocol (DVMRP) based on
the RIP unicast routing protocol
– Multicast Extensions to OSPF (MOSPF) protocol based on the
OSPF unicast routing protcol
– Protocol Independent Multicast Sparse Mode (PIM-SM)
protocol:
» performs better when group members are sparsely distributed
Protocol Independent Multicast (PIM)




The major proposed (and used) multicast protocols perform well if
group members are densely packed and bandwidth is not a problem
However, the fact that DVMRP periodically floods the network and
the fact that MOSPF sends group membership information over the
links, make these protocols not efficient in cases where group
members are sparsely distributed among regions and the bandwidth
is not plentiful
To address these issues, PIM contains two protocols: PIM-DM and
PIM-SM
Although these two algorithms belong to PIM and they share
similar control messages, they are essentially two different
protocols
PIM-Sparse Mode (PIM-SM)


PIM-SM has a key difference with existing dense-mode protocols
(DVMRP, MOSPF)
In PIM-SM protocol routers need to explicitly announce their will
for receiving multicast messages of multicast groups, while densemode protocols assumes that all routers need to receive multicast
messages unless they explicitly send a prune message
Sparse Mode Protocol Independent Multicast
(PIM-SM) I. Phase
Sender
Legend
router
IP connection
group member host
non member host
Receiver
rendezvous point (RP)
data flow
Sparse Mode Protocol Independent Multicast
(PIM-SM) II. Phase
Sender
Legend
router
IP connection
SPT branch
group member
non member
Receiver
rendezvous point (RP)
data flow
Sparse Mode PIM

Explicit join model
– Receivers join to the Rendezvous Point (RP)
– Senders register with the RP
– Data flows down the shared tree and goes only
to places that need the data from the sources
– Last hop routers can join source tree if the data rate warrants by sending
joins to the source


RPF check for the shared tree uses the RP
RPF check for the source tree
uses the source
Sparse Mode PIM





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)
Draft: draft-ietf-idmr-pim-sm-specv2-00.txt
Draft: draft-ietf-idmr-pim-arch-04.txt
Sparse Mode PIM Example
Link
Data
Control
Source
A
B
C
Receiver 1
D
RP
E
Receiver 2
Sparse Mode PIM Example
Receiver 1 Joins Group G
C Creates (*, G) State, Sends
(*, G) Join to the RP
Source
A
B
D
RP
Join
C
Receiver 1
E
Receiver 2
Sparse Mode PIM Example
RP Creates (*, G) State
Source
A
B
C
Receiver 1
D
RP
E
Receiver 2
Sparse Mode PIM Example
Source Sends Data
A Sends Registers to the RP
Source
Register
A
B
C
Receiver 1
D
RP
E
Receiver 2
Sparse Mode PIM Example
RP de-encapsulates Registers
Forwards Data Down the Shared Tree
Sends (S,G) Join Towards the Source
Source
Join
A
Join
B
C
Receiver 1
D
RP
E
Receiver 2
Sparse Mode PIM Example
RP Sends Register-Stop
Once
Data Arrives Natively
Source
Register-Stop
A
B
C
Receiver 1
D
RP
E
Receiver 2
Sparse Mode PIM Example
C Sends (S, G) Joins to Join
the
Shortest Path (SPT) Tree
Source
A
B
D
RP
(S, G) Join
C
Receiver 1
E
Receiver 2
Sparse Mode PIM Example
When C Receives Data Natively,
It Sends Prunes Up the RP tree for
the Source. RP Deletes (S, G) OIF and
Sends Prune Towards the Source
Source
(S, G) Prune
A
B
D
RP
(S, G) RP Bit Prune
C
Receiver 1
E
Receiver 2
Sparse Mode PIM Example
New Receiver 2 Joins
E Creates State and Sends (*, G) Join
Source
A
B
D
RP
(*, G) PIM Join
C
Receiver 1
E
(*, G) IGMP Join
Receiver 2
Sparse Mode PIM Example
C Adds Link Towards E to the OIF
List of Both (*, G) and (S, G)
Data from Source Arrives at E
Source
A
B
C
Receiver 1
D
RP
E
Receiver 2
Sparse Mode PIM Example
New Source Starts Sending
D Sends Registers, RP Sends Joins
RP Forwards Data to Receivers
through Shared Tree
Source
(*, G) PIM Register
A
B
C
Receiver 1
D
RP
E
Receiver 2
Source 2
Multicast Routing Protocols Comparison
Multicast Routing Protocol
Unicast Protocol Dependence
DVMRP
RIP
MOSPF
OSPF
PIM-SM
-
Source Specific Protocol Independent
Multicast (PIM-SS)




Only one S source can send data to an (S,G) channel, where G
is a multicast address
In such a way the problem of global assignment of the multicast
address is eliminated, since the used addresses are local
considering to the actual sender
Each hosts are responsible to use different multicast addresses
The distribution tree according to an (S,G) SSM channel is
always rooted in the S source, in such a way RP-based shared
trees are not necessary
ASM and SSM routing
Problem of learning group membership
Flood and Prune
DVMRP
Broadcast Membership
MOSPF
Rendezvous Mechanism
PIM-SM
Intra-domain Multicast
MSDP Peering
Inter-domain Multicast
BBC, 2005
Multicast, state-of-the-art
Download