Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 114

Multicast

Routing
Protocols

TCP/IP Protocol Suite

OBJECTIVES:
To discuss the general idea behind multicast routing protocols and
their division into two categories based on the creation of the
shortest path trees.
To discuss multicast link state routing in general and its
implementation in the Internet: a protocol named MOSPF.
To discuss multicast distance vector routing in general and its
implementation in the Internet: a protocol named DVMRP.
To discuss core-based protocol (CBT) and briefly discuss two
independent multicast protocols PIM-DM and PIM-SM.
To discuss multicast backbone (MBONE) that shows how to create a
tunnel when the multicast messages need to pass through an area
with no multicast routers.
TCP/IP Protocol Suite

Multicast Groups
The

set of receivers for a multicast


transmission is called a multicast group
A multicast group is identified by a multicast
address
A user that wants to receive multicast
transmissions joins the corresponding multicast
group, and becomes a member of that group

After

a user joins, the network builds the


necessary routing paths so that the user
receives the data sent to the multicast group
3

Multicasting over a Packet


Network
Without support for multicast at the network layer:

Multiple copies
of the same
message is
transmitted on
the same link

Multicasting over a Packet


Network
With support for multicast at the network layer:

Requires a set of mechanisms:


(1) Packet forwarding can send multiple
copies of same packet
(2) Multicast routing algorithm which builds
a spanning tree (dynamically)
5

IP Multicasting
There

are three essential components of the


IP Multicast service:
IP Multicast Addressing
IP Group Management
Multicast Routing

Multicast Addressing
All Class D addresses are multicast addresses:

Class D

multicast group id
28 bits

Class

From

To

224.0.0.0

239.255.255.255

An IP datagram sent to a multicast address is forwarded to everyone


who has joined the multicast group

Multicast Address
Mapping
Identifes
Class D

Ignored

Ethernet Addresses
with 01:00:5e in the
first 3 bytes are
reserved for IP
multicast
0000000

1 00000000

23-bit
address

1110 xxxx

x -------

--------

--------

Class D
IP Address

01011110

0 -------

--------

--------

Ethernet
Address

Time To Live (TTL)


Scope-limiting

parameter for IP
Multicast datagrams
Controls the number of hops that a
IP Multicast packet is allowed to
propagate
TTL = 1: local network multicast
TTL > 1: Multicast router(s)
attached to the local network
forward IP Multicast datagrams
9

Several

algorithms employed by
multicast routing protocols:
Spanning Trees
Flooding
Reverse Path Forwarding (RPF)
Reverse Path Broadcasting (RPB)
Reverse Path Multicasting (RPM)
Core-Based Trees

Ahmed Helmy - UF

10

These

algorithms are implemented in


the most prevalent multicast routing
protocols in the Internet today.
Multicast OSPF (MOSPF)
Distance Vector Multicast Routing Protocol
(DVMRP)
Protocol-Independent Multicast (PIM) [PIMDM and PIM-SM]

Ahmed Helmy - UF

11

Note

In unicast routing, each router in the


domain has a table that defines a shortest
path tree to possible destinations.

TCP/IP Protocol Suite

12

Figure 12.18

Shortest path tree in unicast routing

TCP/IP Protocol Suite

13

Note

In multicast routing, each involved router


needs to construct a shortest
path tree for each group.

TCP/IP Protocol Suite

14

Note

In the source-based tree approach, each


router needs to have one shortest path tree
for each group.

TCP/IP Protocol Suite

15

Figure 12.19

Source-based tree approach

TCP/IP Protocol Suite

16

Multicast Routing
ProtocolsCharacteristics

Shortest Path or Source Distribution Tree


Source
Notation: (S, G)
S = Source
G = Group

Receiver 1

Receiver 2

Source-based Trees
Router
S Source
R Receiver
R
R

R
S
R

Lecture 12: 02-17-2005

18

E.g. Source-based Tree

TCP/IP Protocol Suite

19

Note

In the group-shared tree approach, only the


core router, which has a shortest path tree
for each group, is involved
in multicasting.

TCP/IP Protocol Suite

20

Figure 12.20

Group-shared tree approach

TCP/IP Protocol Suite

21

Multicast Routing
ProtocolsCharacteristics
Shared Distribution Tree
Source 1

Notation: (*, G)
* = All Sources
G = Group

Source 2
A

D (Shared Root)

Receiver 1

Receiver 2

Shared distribution tree


Source

S1
Notation: (*, G)
* = all sources
G = Group

Shared Root
A

S2

Receiver 1

Receiver 2
CS 640

23

Building a core-based tree


Source

H1
Source

sends data
to the core
Core
forwards
data
according to
routing table
entry

R1
R3

R2

Core

H2

R4

R5
R6

R7

H3

R8

joined

24

H4

H5

joined

joined

Optimal Routing: Shortest Path Trees

Multicast routing

Routing Protocols implement one of two


approaches:
1. Source Based Tree:
Builds one shortest path tree for each
sender
Tree is built from receiver to the sender

DVMRP, MOSPF, PIM-DM, PIM-SM


Shortest path trees low delay, better load
distribution
Efficient for in dense-area multicast
25

1. Core-based Tree:
Build a single distribution tree that is shared
by all members
Selects one router as a core (also called
rendezvous point)
All receivers build a shortest path to the core
CBT, PIM-SM
Higher delay (bounded by factor of 2), traffic
concentration
Choice of core affects efficiency

Multicast Routing table


Routing

table entries for source-based trees and


for core-based trees are different
Source-based tree: (Source, Group) or (S, G)
entry.
Core-based tree: (*, G) entry.
Source IP
address

Multicast
group

Incoming interface
(RPF interface)

Outgoing
interface list

S1

G1

I1

I2, I3

G2

I2

I1, I3

27

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

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

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

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)

ROUTINGPROTOCOLS
TopicsDiscussedintheSection

Multicast Link State Routing: MOSPF


Multicast Distance Vector: DVMRP
Core-Based Tree: CBT
Protocol Independent Multicast: PIM

TCP/IP Protocol Suite

32

Figure 12.21

Taxonomy of common multicast protocols

TCP/IP Protocol Suite

33

Multicast routing protocols

Distance Vector Multicast Routing Protocol (DVMRP):


First multicast routing protocol
Implements flood-and-prune
Multicast Open Shortest Path First (MOSPF):
Multicast extensions to OSPF. Each router calculates a shortestpath tree based on link state database
Not widely used
Core Based Tree (CBT):
First core-based tree routing protocol
Protocol Independent Multicast (PIM):
Runs in two modes: PIM Dense Mode (PIM-DM) and PIM Sparse
Mode (PIM-SM).
PIM-DM builds source-based trees using flood-and-prune
PIM-SM builds core-based trees as well as source-based trees
with explicit joins.
34

Multicast Link State Routing: MOSPF

Note

Multicast link state routing uses the sourcebased tree approach.

TCP/IP Protocol Suite

36

Multicast OSPF (MOSPF)


OSPF

(Open Shortest-Path First,


a link-state, intra-domain routing protocol)

The

router calculates the shortest path trees on


demand (when it receives the first multicast packet)

MOSPF

is a data-driven protocol; the first time an


MOSPF router see a datagram with a given source
and group address, the router constructs the Dijkstra
shortest path tree

The

shortest path tree is made all at once instead of


gradually (i.e. pre-made, pre-pruned, ready to use)
MOSPF does not support tunnels
MOSPF

uses IGMP to discover members on directly


attached subnets.
Lecture 12: 02-17-2005

37

Impact on Route
Computation

Cant pre-compute multicast trees for


all possible sources
Compute on demand when first packet
from a source S to a group G arrives
New link-state advertisement
May lead to addition or deletion of
outgoing interfaces if it contains different
group addresses
May lead to re-computation of entire tree if
links are changed
Lecture 12: 02-17-2005

38

Example
Source 1
Z
W
Q
T
Receiver 1
Receiver 2

Lecture 12: 02-17-2005

39

Link Failure/Topology
Change
Source 1
Z
W
Q
T
Receiver 1
Receiver 2

Lecture 12: 02-17-2005

40

Membership Change
Source 1
Z

Receiver 3

W
Q
T
Receiver 1
Receiver 2

Lecture 12: 02-17-2005

41

Limitations

Limited to OSPF domains

Flooding membership information


does not scale well for Internetwide multicsat

Ahmed Helmy - UF

42

Multicast Distance Vector: DVMRP

Internet Multicasting Routing:


DVMRP
DVMRP: distance vector multicast
routing protocol
Flood and prune: reverse path
forwarding, source-based tree.
initial datagram to multicast group is
flooded everywhere via RPF
routers not wanting the multicast
data: send prune messages to
upstream neighbors

44

Example Topology
G

G
Lecture 12: 02-17-2005

45

Broadcast
G

G
Lecture 12: 02-17-2005

46

Prune
G

Prune (s,g)

Prune (s,g)

G
Lecture 12: 02-17-2005

47

Graft
G

G
G
Report (g)

Graft (s,g)

Graft (s,g)

G
Lecture 12: 02-17-2005

48

Steady State
G

G
G

G
Lecture 12: 02-17-2005

49

DVMRP Basic Operation


The

first packet for any (source,


group) pair is broadcast to the
entire network, providing the
packet's TTL permits.

Leaf

routers with no local


members send prune messages
back toward the source.
Ahmed Helmy - UF

50

Prune

messages cause the removal of


branches that do not lead to group members

The

result is source-specific shortest path


tree with all leaves having group members.

After

a period of time, the pruned branches


grow back and the packets are broadcast
throughout the network.

graft mechanism helps to quickly reestablish previously pruned branches.

Ahmed Helmy - UF

51

DVMRP: Summary
Distance

Vector Multicast Routing Protocol


Leaf router sends a prune message to
neighbouring routers when there is no group
member on the subnet.
Intermediate routers perform pruning whenever
possible.
Flooding and pruning are repeated periodically,
when the current state times out.
Between flooding rounds, a leaf router can re-join
a group by sending a graft message upstream.
Intermediate routers propagates the graft
message upstream until the path is re-connected.

52

Multicast Distance Vector


Routing
4

decision-making strategies

1. Flooding
2. Reverse Path Forwarding (RPF)
3. Reverse Path Broadcasting (RPB)
4. Reverse Path Multicasting (RPM)

TCP/IP Protocol Suite

53

Flooding

Flooding
The

simplest technique for multicast


delivery.

When

a router receives a multicast packet


it determines whether or not this is the first
time it has seen this packet.
On first reception, a packet is forwarded on all
interfaces except the one on which it arrived.
If the router has seen the packet before, it is
discarded.

Ahmed Helmy - UF

55

Flooding does not scale for Internet-wide


application:

- Generates a large number of duplicate


packets and uses all available paths across
the internetwork.
- Routers maintain a distinct table entry for
each recently seen packet (consumes
memory).

Ahmed Helmy - UF

56

Note

Flooding broadcasts packets, but creates


loops in the systems.

TCP/IP Protocol Suite

57

Reverse Path Forwarding (RPF)

Reverse Path Forwarding


Building

a loop-free broadcast tree


No knowledge of group membership
rely on routers knowledge of unicast
shortest path from it to sender
each router has simple forwarding
behavior:
if (multicast datagram received on
incoming link on shortest path back to
sender)
then flood datagram onto all outgoing
links
59

Multicast routing in
practice

Routing algorithms in practice


implement one of two
approaches:
1. Source Based Tree Tree:

Establish a reverse path to the source

2. Core-based Tree:

Establish a reverse path to the core router

60

Reverse Path Forwarding


To

prevent loops, only one copy is


forwarded; the other copies are
dropped.

In

RPF, a router forwards only the


copy that has traveled the shortest
path from the source to the router.

If

a packet leaves the router and


comes back again, it has not
traveled the shortest path.

TCP/IP Protocol Suite

61

Figure 12.22

RPF

TCP/IP Protocol Suite

62

Note

RPF eliminates the loop in the


flooding process.

TCP/IP Protocol Suite

63

Figure 12.23

Problem with RPF

TCP/IP Protocol Suite

64

Reverse Path Broadcasting (RPB)

Figure 12.24

RPF versus RPB

TCP/IP Protocol Suite

66

Note

RPB creates a shortest path broadcast tree


from the source to each destination.
It guarantees that each destination receives
one and only one copy
of the packet.

TCP/IP Protocol Suite

67

The

interface over which a router


accepts multicast packets from a
particular source is called the
"parent" link.

The

outbound links over which a


router forwards the multicast
packets are called the "child"
links.
Ahmed Helmy - UF

68

Example of Reverse Path


Broadcasting
S
A

Router
2

1
B

3
5

Leaf
Shortest-path

Branch

E
D

F
8

69

Benefits
Reasonably

efficient and easy to implement.

Does

not require keeping track of previous


packets, as flooding does.

Multicast

packets follow the "shortest" path


from the source to the group members.

Avoids

concentration over single spanning

tree

Ahmed Helmy - UF

70

Limitations
Does

not take into account group


membership when building the
distribution tree.

As

a result, packets may be


unnecessarily forwarded to subnets
with no group members.

Ahmed Helmy - UF

71

Reverse Path Multicasting (RPM)

Figure 12.25

RPF, RPB, and RPM

TCP/IP Protocol Suite

73

Reverse Path
Multicasting

To increase efficiency, the multicast packet


must reach only those networks that have
active members for that particular group
RPM adopts the procedures of Pruning and
Grafting
Pruning
The designated parent router of each network
is responsible for holding the membership
information (through IGMP)
Grafting
The graft message forces the upstream router
to resume sending the multicast messages
TCP/IP Protocol Suite

74

Note

RPM adds pruning and grafting to RPB to


create a multicast shortest path tree that
supports dynamic membership changes.

TCP/IP Protocol Suite

75

Reverse Path Multicasting


Source
(Source,G)

Router

Leaf w/o group mem.


G

Leaf with group mem.


Active branch

Pruned branch
G

Pruned message

76

Figure 12.26

Group-shared tree with rendezvous router

TCP/IP Protocol Suite

77

Core-Based Tree: CBT

Formation of CBT tree


Multicast

traffic for each group is sent and


received over the shared tree, regardless of the
source.
After the rendezvous point is selected, every
router is informed of the unicast address of the
selected router
Each

router sends a unicast join message to


show that it wants to join the group

This

message passes through all routers that are


located between the sender and the rendezvous
router
TCP/IP Protocol Suite

79

Formation of CBT tree


Each

intermediate router extracts the


necessary information from the
message
Unicast address of the sender
Interface through which the packet has
arrived

If

a router wants to leave the group, it


sends a leave message to its
upstream router,

TCP/IP Protocol Suite

80

Note

In CBT, the source sends the multicast


packet (encapsulated in a unicast packet)
to the core router. The core router
decapsulates the packet and forwards it to
all interested
interfaces.

TCP/IP Protocol Suite

81

Figure 12.27

Sending a multicast packet to the rendezvous router

TCP/IP Protocol Suite

82

Benefits
A router maintains state information for
each group, not for each (source, group)
pair.
Multicast packets only flow down
branches leading to members (not
periodically broadcast).
Only join state is kept on-tree

Ahmed Helmy - UF

83

Limitations
CBT

may result in traffic concentration near


the core since traffic from all sources
traverses the same set of links as it
approaches the core.

single shared delivery tree may create suboptimal routes resulting in increased delay.

Core

management issues

dynamic core selection


core placement strategies

Ahmed Helmy - UF

84

Protocol Independent Multicast: PIM

Protocol-Independent Multicast
(PIM)
Broadcast and prune keeps state offtree and is suitable when members are
densely distributed
Explicit join/center-based approach
keeps state on-tree and is suitable when
members are sparsely distributed
PIM attempts to combine the best of
both worlds
Ahmed Helmy - UF

86

Note

PIM-DM uses RPF and pruning/grafting


strategies to handle multicasting.
However, it is independent from the
underlying unicast protocol.
PIM-DM is used in a dense multicast
environment, such as a LAN.
TCP/IP Protocol Suite

87

PIM-DM
It

is used when there is a


possibility that each router is
involved in multicasting (dense
mode)

In

this environment, the use of a


protocol that broadcasts the
packet is justified because almost
all routers are involved in the
process
TCP/IP Protocol Suite

88

How PIM-DM works


Packets

initially flow on broadcast tree


Forwarded away from source using the
RPF algorithm
A router forwards a multicast datagram if
received on the interface used to send
unicast datagrams to the source
Then,

Prunes are sent up the tree to


remove branches with no members
Ahmed Helmy - UF

89

PIM-DM(1)
Initial flood of data

Source

B
G

H
E

R1
Receiver 1

R2
Receiver 2
CS 640

90

PIM-DM(2)
prune non-RPF p2p link

IGMP PIM-Prune

Source

B
G

H
E

R1
Receiver 1

R2
Receiver 2
CS 640

91

PIM-DM(3)

C and D Assert to Determine


Forwarder for the LAN, C Wins

IGMP PIM-Assert
with its own IP address

Source

B
G

H
E

R1
Receiver 1

R2
Receiver 2
CS 640

92

PIM-DM(4)

I, E, G send Prune
H send Join to override Gs Prune

IGMP PIM-Prune

Source

IGMP PIM-Join

B
G

H
E

R1
Receiver 1

R2
Receiver 2
CS 640

93

PIM-DM(5)

I Gets Pruned
Es Prune is Ignored (since R1 is a receiver)
Gs Prune is Overridden (due to new receiver R2)

Source

B
G

H
E

R1
Receiver 1

R2
Receiver 2
CS 640

94

PIM-DM(6)
New Receiver, I send Graft

IGMP PIM-Graft

Source

B
G

H
I

E
R1
Receiver 1

R2
R3
Receiver 3

Receiver 2
CS 640

95

PIM-DM(7)
new branch

IGMP PIM-Graft

Source

B
G

H
I

E
R1
Receiver 1

R2
R3
Receiver 3

Receiver 2
CS 640

96

Note

PIM-SM is used in a sparse multicast


environment such as a WAN.
PIM-SM is similar to CBT but uses a
simpler procedure.

TCP/IP Protocol Suite

97

How PIM-SM works


A

Rendezvous Point (RP) is chosen as tree


center per group to enable members and
senders to meet
Members send their explicit joins toward the
RP
Senders send their packets to the RP
Packets flow only where there is join state
(*,G) [any-source,group] state is kept in
routers between receivers and the RP

Ahmed Helmy - UF

98

How PIM-SM works


Source

A
C

RP

Link

(*,G) Data
(S,G) Data
Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

99

How PIM-SM works


Source

A
C

(*, G)
Join

RP

Link

(*,G) Data
(S,G) Data

Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

10

How PIM-SM works


Source

A
C

RP

Link

(*,G) Data
(S,G) Data
Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

10

How PIM-SM works


Source

Register

A
C

RP

Link

(*,G) Data
(S,G) Data
Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

10

How PIM-SM works


Source

(S, G)
Join

A
C

(S, G)
Join

RP

Link

(*,G) Data
(S,G) Data
Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

10

How PIM-SM works


Source

Register-Stop

A
C

RP

Link

(*,G) Data
(S,G) Data
Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

10

How PIM-SM works


Source

A
(S, G) Join
C

RP

Link

(*,G) Data
(S,G) Data
Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

10

How PIM-SM works


Source

(S, G) Prune

RP

Link

(*,G) Data

(S, G) RP Bit
Prune

Receiver 1

(S,G) Data
Control

Receiver 2

Ahmed Helmy - UF

10

How PIM-SM works


Source

A
C

RP

(*, G)
Join

Link

(*,G) Data
(S,G) Data

Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

10

How PIM-SM works


Source

A
C

RP

Link

(*,G) Data
(S,G) Data
Receiver 1

Control

Receiver 2

Ahmed Helmy - UF

10

MBONE
Multimedia and real-time communication have
increased the need for multicasting in the
Internet.
only a small fraction of Internet routers are
multicast routers. this problem may be solved
by adding more and more multicast routers
there is
solution
seen as
routers.

another solution for this problem. The


is tunneling. The multicast routers are
a group of routers on top of unicast
The multicast routers may not be
TCP/IP Protocol Suite

109

MBone
Multicast

backbone of the Internet.


Not all routers support multicast routing protocols
and IGMP.
Connecting multicast-capable routers using (virtual)
IP tunnels.
Was a long-running experimental approach to
enabling multicast between sites through the use of
tunnels.
No longer operational.
Currently: The Multicast Backbone (MBONE) carries
audio and video multicasts of IETF meetings, NASA
space shuttle missions,.. etc.
11

Figure 12.28

Logical tunneling

TCP/IP Protocol Suite

111

Figure 12.29

MBONE

TCP/IP Protocol Suite

112

Figure 12.5

Tunneling

TCP/IP Protocol Suite

113

THANKS

You might also like