You are on page 1of 40

Multicast Routing

Wed. 28 MAY. 2003


Introduction
based on number of receivers of the packet or
massage:




A technique for the efficient distribution of identical
packet streams to groups of selected workstations on one
or more LANs. (Penn State network and systems administrators)
Implementation
Multiple unicast
Wast Network bandwidth,
Registering mechanism.

Multiple addresses in a packet
Can be only one instance(why Can?),
Limited size of packet limits the max number of recipient
Much more processing in a router(List of Addresses)
Only partially help in the bandwidth wasting problem of
the previous method

Multicast address
The sender does not need to know the recipients,
Must use connectionless UDP on top of IP

Implementation (Conts)
Saving the network link bandwidth is left to the routers,
the group does not have any physical or geographical
boundaries.
Hosts that are interested in receiving data flowing to a
particular group must join the group using IGMP.
Unicast/Multicast
Host
Router
Unicast
Host
Router
Multicast
CISCO Systems
Internet Group Management Protocol
IGMP provides the means for a host to inform its attached router
Given that, the scope of IGMP interaction is limited to a host and its
attached router
Another protocol is clearly required to coordinate the multicast-
router throughout the internet, that accomplished by the network-
layered multicast routing algorithms such as PIM, DVMRP and
MOSPT.
Router queries the local hosts for m-cast group membership
info
Hosts respond with membership reports: actually, the first
host which responds, speaks for all


IGMP protocol
IGMPv1, there are just two different type of IGMP message:
Membership QUERY and Membership REPORT
When there is no reply to three consecutive IGMP membership
queries, the router times out group an stops forwarding traffic
directed toward group.
IGMPv2, there are four types.basically the same as version 1.
the main difference:
1) The hosts communicate to the local multicast router when
intention to leave the group.
2) The router then sends out a group-specific query and
determines whether there are any remaining host.
IP Multicast Addresses


Multicast addresses specify an arbitrary group of IP hosts that
have joined the group and want to receive traffic sent to this
group.
The Internet Assigned Numbers Authority (IANA) controls the
assignment of IP multicast addresses.
all IP multicast group addresses will fall in the range of 224.0.0.0
to 239.255.255.255.(IPv4 D-classful)
224.0.0.0 - 244.0.0.255 link local scope
224.0.1.0 - 238.255.255.255 global scope
239.0.0.0 - 239.255.255.255 Reserved for local scope
239.192.0.0 - 239.194.255.255 organization local
scope
239.253.0.0 - 239.255.255.255 site local scope

Routing protocol Multicast


Problem: find the best (e.g., min cost) tree which
interconnects all the members

Multicast Tree Option
GROUP SHARED TREE: single tree for all senders(entire
multicast group); bidirectional links
SOURCE BASED TREE: each source is the root of its own
tree connecting to all members; thus separate trees for
different senders

Group Shared Tree
Uses a single common root placed at some chosen point in the
network (rendezvous point).
Source must send their traffic to the root, and then the traffic is
forwarded down the shared tree to reach all receivers.
Message are replicated only where the tree branch
Member can any time join or leave, so the distribution trees must be
dynamically update.(Prune,graft)
finding a minimum cost tree is known as the Steiner tree
problem(NP-complete)
Alternate: Center-based approach
- under some circumstances,the paths might not be the optimal paths
- Network designers must carefully consider the placement of the
RP when implementing an environment with only shared trees.
Source-based Tree
Source is the root of the multicast tree and whose branches form
a spanning tree through the network to the receivers.
Also known as Short Path Tree(SPT) because tree uses the
shortest path through the network.
SPT creating the optimal path between the source and receivers.
This guarantees the minimum amount of network latency.
Routers must maintain the state of each link (link-state)
A simpler multicasting routing algorithm,need much less link
state information, is the Reverse Path Forwarding(RPF).

Reverse Path forwarding
RPF makes use of the existing unicast routing table
A router forwards a multicast packet only if it is received on the
up stream interface.
Multicast Routing Algorithms and Protocols
Flooding
a router that receives a packet with multicast
destination address, simply sends to all interfaces,
expect the interface where the packet came to the router.
Challenge: Routing Loops
News: uses a article path history
OSPF: uses link state database
Using a list of last seen packets would need a lot of
memory in current high speed routers and the checking
if the packet is in the list would slow down the router.
IP TTL is usually the best way to take care of this problem.

TTL
local host. 0
local network segment.. 1
site 15
region 31
country..48
continent(Europe). 63
world ... 127
Multicast Routing Alg.s and Prot.s (Conts)
Spanning tree
Building a logical network on top of the real network
by creating a loopless graph between all nodes resolves
the looping problem in flooding .
bandwidth waster but robust and simple to implement

Reverse-path forwarding,RPF
The basic idea is to generate an implicit spanning tree
for each source in the network starting from the source
to other nodes.

using shortest paths gives the fastest possible delivery,
not concentrate the traffic on some network links.
Do not really use the group membership information, so waste bandwidth.

Multicast Routing Alg.s and Prot.s (Conts)
RPF and Prunes
When the first packet in a multicast transmission
reaches the end leaves in the routing tree, the leaf router
sends a pruning message upstream if it does not have
any group members attached to it. Likewise, if a any
router in the tree receives a prune message from all of its
downstream interfaces it sends a prune message
upstream. The purpose of the prune message is to
prevent sending unneeded following packets in that
group to the pruned branch.

There is still a one bad point the first packet in a group
is always flooded in the whole network.
Multicast Routing Alg.s and Prot.s (Conts)
Steiner trees
The idea of steiner trees is to build an overlay network
that connects all nodes in a group with minimum total
number of links
It is not usually suitable in real networks
The computing of the tree is hard and it must be done
again each time a node joins or leaves a group.
Core-based trees
Each multicast group has a core,
The traffic of one group concentrates on certain links.
There is not that first flood message in a group
Routing protocol Multicast
Intra domain
- MOSPF
- DVMRP (Flood & Prune)
- PIM
- Sparse mode
- Dense mode
Inter domain
- MBGP + MSDP
Currently used
- BGMP + MASC
Protocol Independent Multicast(PIM)
Why independent?
Independent of the underlying unicast routing protocol
EIGRP, OSPF, BGP, or static routes.
Dense mode
many or most of routers in the area need to be involved in
routing multicast datagram.
Sparse mode
the number of routers with attached group members is small
with respect to total number of routers.
Dense Mode PIM Example
Source
Receiver 2 Receiver 1
D F
I
B
C
A
E
G
H
Link
Data
Control
Dense Mode PIM Example
Initial Flood of Data
and Creation of State
Source
Receiver 2 Receiver 1
D F
I
B
C
A
E
G
H
Dense Mode PIM Example
Prune to Non-RPF Neighbor
Source
Prune
Receiver 2 Receiver 1
D F
I
B
C
A
E
G
H
Dense Mode PIM Example
C and D Assert to Determine
Forwarder for the LAN, C Wins
Source
Asserts
Receiver 2 Receiver 1
D F
I
B
C
A
E
G
H
Dense Mode PIM Example
I Gets Pruned
Es Prune is Ignored
Gs Prune is Overridden
Source
Prune
Receiver 2 Receiver 1
Join Override
Prune
D F
I
B
C
A
E
G
H
Dense Mode PIM Example
Source
Graft
Receiver 2
Receiver 3
Receiver 1
New Receiver, I Sends Graft
D F
I
B
C
A
E
G
H
Dense Mode PIM Example
Source
Receiver 2
Receiver 3
Receiver 1
D F
I
B
C
A
E
G
H


Sparse Mode PIM Example
Receiver 1
B
E
A D
Source
C
Receiver 2
RP
Link
Data
Control
Sparse Mode PIM Example
Receiver 1
B
E
A D
Source
Receiver 1 Joins Group G
C Creates (*, G) State, Sends
(*, G) Join to the RP
C
Receiver 2
RP
Join
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
RP Creates (*, G) State
C
Receiver 2
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
Source Sends Data
A Sender Registers to the
RP
C
Receiver 2
Register
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
RP de-encapsulates Registers
Forwards Data Down the Shared Tree
Sends Joins Towards the Source
C
Receiver 2
Join Join
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
RP Sends Register-Stop
Once
Data Arrives Natively
C
Receiver 2
Register-Stop
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
C Sends (S, G) Joins to Join
the
Shortest Path (SPT) Tree
C
Receiver 2
(S, G) Join
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
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
C
Receiver 2
(S, G) RP Bit Prune
(S, G) Prune
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
New Receiver 2 Joins
E Creates State and Sends (*, G) Join
C
Receiver 2
(*, G) Join
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
C Adds Link Towards E to the OIF
List of Both (*, G) and (S, G)
Data from Source Arrives at E
C
Receiver 2
Sparse Mode PIM Example
Receiver 1
B
E
A
RP
D
Source
New Source Starts Sending
D Sends Registers, RP Sends Joins
RP Forwards Data to Receivers
through Shared Tree
C
Receiver 2
Source 2
Register
Hope be useful
Thanks
Hassan Salmani

You might also like