Вы находитесь на странице: 1из 69

Edward Jin-Ru Chen

Acute
Multicast Routing
1
Multicast Routing Protocols
Acute Communication Corp.
Edward Jin-Ru Chen
jzchen@acutecomm.com.tw
Edward Jin-Ru Chen
Acute
Multicast Routing
2
Content
Introduction
Algorithms
Flooding, Spanning Tree, Reverse Path Broadcast, Reverse
Path Multicast and Core Based Tree
Routing Protocols
DVMRP, MOSPF, PIM-SM, PIM-DM and CBT
Testing Issue
Edward Jin-Ru Chen
Acute
Multicast Routing
3
Why Multicast Routing?
Reduce the bandwidth waste
S
D
D
Broadcast
S
D
D
Multicast
Edward Jin-Ru Chen
Acute
Multicast Routing
4
Sender-base VS Receiver-base
Whether the sender or the receiver establishes the
connections necessary for forming a multicast
group
Sender-Based
Suitable for small group
Hard to extend to large or dynamic groups
Receiver-Based
Source no need to maintain receiver lists
Easier to make group dynamic
Edward Jin-Ru Chen
Acute
Multicast Routing
5
Sender-based multicasting
Conformation
Join requests
Source
Receivers
Edward Jin-Ru Chen
Acute
Multicast Routing
6
Receiver-based multicasting
Data
Join requests
Data
Data
Source
Receivers
Edward Jin-Ru Chen
Acute
Multicast Routing
7
Multicast Backbone
MBONE is an interconnected set of subnetworks
and routers that support the delivery of IP
multicast traffic
Start from 40 subnets in four different countries
in 1992
Connect each island through virtual point-to-point
links called tunnels
Edward Jin-Ru Chen
Acute
Multicast Routing
8
IP Multicast Address
Class D address
Address assignment
224.0.0.0 is reserved and cannot be assigned to any group
224.0.0.1 to 224.0.0.255 is reserved for the use of routing
protocols and other low-level topology discovery or
maintenance protocol
224.0.1.0 to 239.255.255.255 are assigned to various
multicast applications
239.0.0.0 to 239.255.255.255 are to be reserved for site-local
administratively scoped applications
Edward Jin-Ru Chen
Acute
Multicast Routing
9
Multicast Path Decision
Source to router
Transmit to direct connected router
Router to router
Base on multicast routing protocol
Such as DVMRP, MOSPF ...
Router to destinations
Base on local membership register protocol
Such as IGMP (Version1, 2, 3)
Edward Jin-Ru Chen
Acute
Multicast Routing
10
Multicast Routing Concept
Class of routing protocols
Dense - lots of receivers nearby
Sparse - few receivers spread out
Delivery Trees can be:
Source- rooted (one per sending host) or,
Shared one delivery tree that all senders use
Establishment of a delivery tree triggered when:
Multicast data sent out from the sender or
Receivers joining a multicast group
Edward Jin-Ru Chen
Acute
Multicast Routing
11
Source-Rooted Trees
Edward Jin-Ru Chen
Acute
Multicast Routing
12
Source-Rooted Trees (II)
Source- rooted delivery tree built for each (Source,
Group Address) multicast pair
also called a shortest- path tree (SPT)
Routers must maintain O( S x G) state
Better performance and optimal path from sender
to receivers via shortest- path trees (SPT) but
routers have to maintain more information
Edward Jin-Ru Chen
Acute
Multicast Routing
13
Shared Trees
Edward Jin-Ru Chen
Acute
Multicast Routing
14
Shared Trees (II)
Single delivery tree (per group) is built rooted at
Core
Routers must maintain O( G) state
Routers must maintain less information but Core
performance, locality and control could be issues
Edward Jin-Ru Chen
Acute
Multicast Routing
15
Dense Mode Protocol
Group membership is dense
Data- driven from Source
SPT is not built until multicast data begins to flow from
sender
packets are forwarded to all subnets until routers prune
interfaces/ links
Use Flood and Prune
Suitable for campus LANs and corporate
intranets
Edward Jin-Ru Chen
Acute
Multicast Routing
16
Sparse Mode Protocol
Group membership is sparse
Flood and Prune wastes bandwidth and resources
Better to use shared tree approach
Data is not sent from the Core/ RP router to a
downstream router unless that router joins the
shared tree (by sending an explicit JOIN towards
the CORE/ RP)
Suitable for large corporate intranets and the
Internet
Edward Jin-Ru Chen
Acute
Multicast Routing
17
Switch VS Protocol
Cooperation between protocol engine and
forwarding engine
Protocol engine
Used to be real-time OS working over processor
Forwarding engine
ASIC
FPGA
ASIC with embedded micro-processor
Edward Jin-Ru Chen
Acute
Multicast Routing
18
Switch VS Protocol (II)
Protocol engine decide the forwarding ports and
tell the forwarding engine
Forwarding engine just follow the known
information to forwarding the multicast packet
Based on exactly match to do address search
Edward Jin-Ru Chen
Acute
Multicast Routing
19
Multicast Forwarding Algorithm
Flooding
Spanning Trees
Reverse Path Broadcasting (RPB)
Truncated Reverse Path Broadcasting (TRPB)
Reverse Path Multicasting (RPM)
Core-Based Trees (CBT)
Edward Jin-Ru Chen
Acute
Multicast Routing
20
Flooding Algorithm
Simplest technique
Flood the received packet to interfaces other than
the receiving interface
Avoid the forwarding of looped packet
Edward Jin-Ru Chen
Acute
Multicast Routing
21
Spanning Tree Algorithm
What is the spanning tree?
A subset of the Internet topology that forms a loop free tree
Forward the received packet to other interfaces
belong to the spanning tree
Filter out the received packet when received from
interfaces not belong to the spanning tree
No loop free mechanism required
Powerful and relatively easy, but centralize packet
flow and path is not the most efficient
Edward Jin-Ru Chen
Acute
Multicast Routing
22
Reverse Path Broadcasting
Build a group-specific spanning tree for each
potential source
Construct source-rooted delivery trees
Operation
For each packet arrives on a link that the router considers
to be the shortest patch back to the source, forward the
packet on all interfaces except the incoming interface

Edward Jin-Ru Chen
Acute
Multicast Routing
23
RPB (II)
Reverse Path Broadcasting - Forwarding
Algorithm
Router
I2 I1 I3
Parent Link
Child
Child
Shortest path back
to the source
Edward Jin-Ru Chen
Acute
Multicast Routing
24
Enhanced RPB
Enhanced to reduce unnecessary packet
duplication based on whether the neighboring
router is on the shortest path back to the source
Intuitive on link-state protocol
Use Poison Reverse on distance-vector protocol
A
B C
D F E
Edward Jin-Ru Chen
Acute
Multicast Routing
25
Truncated Reverse Path Broadcasting
To overcome the limitations of Reverse Path
Broadcasting
Use IGMP to determine the group memberships
on each leaf
The spanning delivery tree is truncated by the
router if a leaf does not have group members
Edward Jin-Ru Chen
Acute
Multicast Routing
26
TRPB (II)
Examples
Router
I2 I1 I4
Parent Link
Shortest path back
to the source
I3
(Source, G1)
G2
G3
G2
G1
Truncate
Edward Jin-Ru Chen
Acute
Multicast Routing
27
Reverse Path Multicasting
RPM creates a delivery tree that spans only
Subnetworks with group members
Routers and subnetworks along the shortest path to
subnetworks with group members
Edward Jin-Ru Chen
Acute
Multicast Routing
28
RPM (II)
Operation of RPM
Edward Jin-Ru Chen
Acute
Multicast Routing
29
RPM (III)
Receive packet for (source, group), the first one is
forwarded as TRPB
Router at the edge of the network is called leaf router
If the group member is on the leaf network
Forward packet based on IGMP information
If no subnetwork has group member
Transmit a prune message on its parent link
Prune messages are sent only one hop back
When all leaf are pruned, parent node sends prune message
Edward Jin-Ru Chen
Acute
Multicast Routing
30
RPM (IV)
The membership and network topology are
dynamically changed
Remove the pruned branch periodically
Limitations
Periodically forward multicast packet to all routers
States of each source and group pair must be maintained
Edward Jin-Ru Chen
Acute
Multicast Routing
31
Core-Based Tree (CBT)
Construct a single delivery tree that is shared by
all members of a group
Different group can have different tree
Edward Jin-Ru Chen
Acute
Multicast Routing
32
CBT (II)
Construct a CBT backbone
Join the group must send join message to core tree
Potential group member only need to know the
address of the groups core router
Unicast join request
By passed router record the passed interface to construct
the branch of core tree
Edward Jin-Ru Chen
Acute
Multicast Routing
33
CBT (III)
Benefits
Only need one router to record state information for each
group
No periodic flooding and pruning requirement
Limitation
Traffic concentration and bottlenecks near core routers
May create suboptimal routes
Need to manage the selection and replacement of cores
Edward Jin-Ru Chen
Acute
Multicast Routing
34
Distance Vector Multicast
Routing Protocol (DVMRP)
Distance-vector routing protocol
Origin defined in RFC1075
Derived from RIP
Use Truncated Reverse Path Broadcasting algorithm
Difference from RIP
RIP calculates the next hop to a destination
DVMRP calculate the previous hop back to a source
Version 3.8 and vender implementations employ Reverse
Path Multicasting
Edward Jin-Ru Chen
Acute
Multicast Routing
35
DVMRP Tunneling
Supports tunneling of multicast packets through
non- multicast routers
IP over IP encapsulation
Enables IP Multicast islands to communicate
Contributes to increased network utilization
DVMRP tunnels are manually configured between end-
points
Edward Jin-Ru Chen
Acute
Multicast Routing
36
DVMRP Operation
Edward Jin-Ru Chen
Acute
Multicast Routing
37
DVMRP Scope Control
Use TTL value to limit the scope of transmission
Initial TTL Scope
0 Restricted to the same host
1 Restricted to the same subnetwork
32 Restricted to the same site
64 Restricted to the same region
128 Restricted to the same continent
255 Unrestricted in scope
Edward Jin-Ru Chen
Acute
Multicast Routing
38
DVMRP Operation
First datagram for any (source, group) pair is
forwarded to entire internetwork
The prune messages result in the removal of
branches from the tree
After a period of time, the pruned branch grow
back and the next datagram flood again
If a pruned branch has newly added group
member, the graft message is send
Edward Jin-Ru Chen
Acute
Multicast Routing
39
DVMRP Routing Table
Source Subnet Subnet Mask From Gateway Metric Status TTL In Port Out Ports
128.1.0.0 255.255.0.0 128.7.5.2 3 Up 200 1 2, 3
128.2.0.0 255.255.0.0 128.7.5.2 5 Up 150 2 1
128.3.0.0 255.255.0.0 128.6.3.1 2 Up 150 2 1, 3
128.4.0.0 255.255.0.0 128.6.3.1 4 Up 200 1 2
Edward Jin-Ru Chen
Acute
Multicast Routing
40
DVMRP Forwarding Table
Source Subnet Multicast Group TTL InPort OutPorts
128.1.0.0 224.1.1.1 200 1 Pr 2p 3p
224.2.2.2 100 1 2p 3
224.3.3.3 250 1 2
128.2.0.0 224.1.1.1 150 2 2p 3
InPort: Pr Send Prune message
OutPort: p receive Prune message
Edward Jin-Ru Chen
Acute
Multicast Routing
41
Multicast Extensions to
OSPF (MOSPF)
Multicast Extensions to OSPF
not actually a separate multicast routing protocol
Leverages already existing OSPF topology
database to compute source-rooted shortest path
delivery tree
Defines Group Membership LSA that is added to
topology database and propagated throughout
OSPF AS
Edward Jin-Ru Chen
Acute
Multicast Routing
42
MOSPF (II)
Generates a source- rooted delivery tree that
branches out to all members-only subnetworks
calculates as soon as first multicast packet hits the router
because MOSPF routers maintain the same topology
database in an area, they will calculate the same delivery
tree
RFC1584
Edward Jin-Ru Chen
Acute
Multicast Routing
43
MOSPF Characteristics
Not supported on all routers
MOSPF can interoperate with OSPF to support
unicast but MOSPF does not support tunnels
Does not support equal cost paths
Edward Jin-Ru Chen
Acute
Multicast Routing
44
MOSPF Characteristics(II)
Advantages
SPT is calculated "in memory" thus initial multicast
packets are not flooded
leverages existing OSPF function
Disadvantages
may require router CPU% to calculate each SPT as number
of senders increases
Group Membership LSAs are propagated throughout
network
Edward Jin-Ru Chen
Acute
Multicast Routing
45
MOSPF Inter-Area routing
Edward Jin-Ru Chen
Acute
Multicast Routing
46
Inter-Area Routing (II)
Area border routers are configured as wild- card
multicast receivers (WCMR) and inter- area
multicast forwarders (IAMF)
WCMR receives all multicast packets and forwards to the
next area - must not be pruned from the source- rooted SPT
IAMF forwards group membership from non- backbone
areas to the backbone
Inter- area delivery trees built using information
supplied by inter- area multicast forwarders and
summary- links LSAs
Edward Jin-Ru Chen
Acute
Multicast Routing
47
Protocol Independent
Multicast (PIM)
Supports both a Dense Mode and Sparse Mode
function
Dense mode to operate under both group members are
relatively densely packed and bandwidth is plentiful
Sparse mode to operate under group members are widely
dispersed across the Internet
Independent of any underlying unicast routing
protocol
Require a unicast routing protocol to provide routing table
information and to adapt to topology changes
Edward Jin-Ru Chen
Acute
Multicast Routing
48
PIM (II)
Design objectives:
provide scalable inter-domain multicast routing
efficient sparse group support
shared- tree or SPT support
routing protocol independent
dense mode support
robustness - uses soft- state
interoperability with other multicast routing protocols
Edward Jin-Ru Chen
Acute
Multicast Routing
49
PIM - Dense Mode
Designed for Dense multicast regions
Uses Reverse Path Multicasting
Default operation is to send
implicit join (everybody is a member) with explicit prunes
Simple to implement
Edward Jin-Ru Chen
Acute
Multicast Routing
50
PIM - DM (II)
Differs from DVMRP in the following:
forwards out all interfaces until explicit pruning or
truncating occurs; DVMRP uses parent- child relationship,
uses split- horizon to recognize downstream routers
independent of specific unicast routing technology but rely
on unicast routing protocol to adapt to topology changes;
DVMRP uses distance vectors
does not support tunnels; DVMRP does
Edward Jin-Ru Chen
Acute
Multicast Routing
51
PIM - Sparse Mode
Designed for Sparse multicast regions
RFC2362
Basic concept is that multicast data is blocked
unless a downstream router explicitly asks for it
controls the amount of traffic that traverses network
Similar to the Core-Based Tree (CBT) approach
Employs the concept of a rendezvous point (RP) where
receivers meet sources
Only one RP for each multicast group
Edward Jin-Ru Chen
Acute
Multicast Routing
52
PIM - SP Rendezvous Point
Rendezvous Point (RP)
RP-list contains a primary RP and a small ordered set of
alternative RPs
single active RP per group but backups can exist
Routers need to maintain RP-list before the arrival of data
packets
senders must register their existence with RP
receivers must join RP- rooted tree
Edward Jin-Ru Chen
Acute
Multicast Routing
53
PIM - SP RP (II)
Shared RP tree is initially used to distribute data
but PIM routers with members may switch over to
Source-Rooted Shortest Path Tree
for better network performance and utilization

Edward Jin-Ru Chen
Acute
Multicast Routing
54
PIM - SM Operation
PIM Routers locate RP via Bootstrap Mechanism
downstream PIM routers need to know address of RP so
that they can send PIM JOIN messages
PIM Routers with local members Join group-
specific multicast tree rooted at RP
PIM Routers with local senders encapsulate data
and send it (unicast) to RP
PIM Routers with local members may initiate and
switch-over to source-rooted shortest-path tree
Edward Jin-Ru Chen
Acute
Multicast Routing
55
PIM Register
PIM Routers with local senders encapsulate
multicast packets in PIM- Register messages and
forward to RP
RP de-encapsulates messages and forwards out
multicast delivery tree
RP may option to send PIM JOIN and PIM
REGISTER-STOP messages to source PIM router.
This enables source PIM router to send native
multicast packets to RP
Edward Jin-Ru Chen
Acute
Multicast Routing
56
PIM Register (II)
Edward Jin-Ru Chen
Acute
Multicast Routing
57
PIM Join - SPT
Based on a threshold, PIM routers with local
members send PIM Join messages towards the
source
Source-rooted shortest path tree is built
PIM routers with local members continue to
receive packets from both the source and the RP
Edward Jin-Ru Chen
Acute
Multicast Routing
58
PIM Join - SPT (II)
Edward Jin-Ru Chen
Acute
Multicast Routing
59
PIM Shared Tree to SPT
Switch
After PIM routers receive multicast packets from
both the SPT and RP delivery trees, PIM Prune
messages are sent upstream towards the RP to
prune the RP-tree. Now multicast data from the
Source will only flow over the source- rooted SPT
towards group members.
Edward Jin-Ru Chen
Acute
Multicast Routing
60
PIM Shared Tree to SPT
Switch (II)
Edward Jin-Ru Chen
Acute
Multicast Routing
61
Core Base Tree
RFC 2189
CBT protocol builds and maintains a shared
multicast distribution tree that spans only those
networks and links leading to interested receivers.
Core router is a "meeting point" between a sender
and group receivers
An on-tree router, which is part of a CBT
distribution tree, maintains active state for the
group
Edward Jin-Ru Chen
Acute
Multicast Routing
62
CBT Operation
Core
S
R R
Join_Request
Join_ACK
Data Flow
Edward Jin-Ru Chen
Acute
Multicast Routing
63
CBT Receiver Operation
Use IGMP to register membership of a group
CBT router generates JOIN_REQUEST message
to next hub to the core router
Acknowledge message (JOIN_ACK) is sent from
the core router
another on-the-path router which itself has already joined
the tree
The host is on-tree after receiving JOIN_ACK
Edward Jin-Ru Chen
Acute
Multicast Routing
64
CBT Sender Operation
Non-member sender data is encapsulated (IP-in-
IP) by the first-hop router, and is unicast to the
group's core router

Edward Jin-Ru Chen
Acute
Multicast Routing
65
Protocol Verification
Packet Format
Lower protocol parameter setting
Entry field validity
Timer
Preciseness of each timer
Algorithm
Using entered packet to generate virtual environment to
trigger algorithm calculation and performs respected packet
forwarding
Edward Jin-Ru Chen
Acute
Multicast Routing
66
Protocol Verification
Input process
Check the processing result of different input packets
Output process
Check the processing result when router generate packets
Edward Jin-Ru Chen
Acute
Multicast Routing
67
Protocol Verification
Cooperation between unicast routing protocol
Such as MOSPF, PIM
The information exchange must be correct
Interoperability
Using routers produced by different venders, connect them
and check the working result
Using different interface setting and multicast member
register to verify the interoperability
Edward Jin-Ru Chen
Acute
Multicast Routing
68
Verification Example
DVMRP needs to send out routing information
every 60 sec
Test procedure
Send in routing information
Listen for 60 sec
The DUT must send out routing information contains the
same information
Edward Jin-Ru Chen
Acute
Multicast Routing
69
Benchmark
RFC2432
Benchmark items
Multicast Speedup Index (MSI)
Multicast Latency (ML)
Group Join Delay (GJD)
Group Leave Delay (GLD)

Вам также может понравиться