You are on page 1of 6

Notes for Lecture-22,23

MCA 206: Advanced Computer Networks

Multicast Routing

1. What is multi cast?

Muticast in a datagram netwok is the transmission of the data packet to a subset of hosts. The
basic benefit of multicast is that any source can send down its data to required destination which
is not a single host but can be a group of hosts sharing a common address. So the sender sees the
destination as a single host. Hence the duty of sender is completed, once it sends a single data
packet destined to the abstract group. Even the intermediate routers have no idea regarding the
exact set of hosts.
If multicast was not supposed to be used, then source has to send the data packets one for each
host. Moreover multicast encapsulates the actual hosts. The destination host should subscribe to
receive the messages from a source to that group. The host can unsubscribe whenever it intends
to do so.
There is always a trade off between bandwidth and delays, if we consider large LAN's
Consider the following network..

2. Multicast in LAN

When we deploy CSMA/CD in a LAN, which can support multicast to a certain extent. The data
can be broadcasted within LAN. If the data is intended to a destination, then the packet is
accepted otherwise it discards it.
The 48-bit ernet address has a partition dedicated for multicasting. There is a one-one mapping
from the IP address (which is 32-bit) to the ernet multicast.

2.1 Extended LAN and Unicast routing

Extended LAN' contains a group of LAN's connected via Bridges. The LANs are connected at
data link level.

To learn the paths in network, we will use flooding. But this may give rise to looping. The reason
for looping is that, the same flooded packet because of the recurrent paths may again come back
to sender and in this way loops infinitely if no prevention mechanism id done (time out to an
extent can remove infinite looping).
Looping can be removed by using spanning tree algorithm.
All branches have path vectors and link state. so it is possible to learn the shortest path form
bridge to bridge. We can designate a bridge as "root bridge" in the network. The root may be
chosen arbitrarily (ex. choose bridge with least MAC address).
Periodically refresh the root so that when the root is dropped, we can choose a new bridge as
root.
Amount of state:
If Sa represents number of active sources, Ga represent number of active groups, then the
amount of state stored at bridge is proportional to Ga. Its independent of Sa. We can use a single
tree for LAN and forward the data to the group irrespective of the source of data.

3.Multi cast in Distance Vector Routed Network

We can say that, unlike bridged LANS this schema is not suited for multicasting because no
single tree is suitable for all the sources. The alternate is to have a tree per source. This can put
lot of burden on the routers and hence can be modified to tree per group.

In order to provide a better multicast strategy, the following steps are taken:

Reverse Path Flooding: In this all the receivers are being flooded. here there is no notion of
group.

Reverse Path Broadcasting


Truncated Reverse Path Broadcasting: In this step we try to truncate the tree so that the data is
not sent to any tree on which there is group. This method is fairly simple because it needs to be
implemented at the leaves.
Reverse Path Multicasting: This is built on the top of TRPF which will try to prune up the tree.

3.1 Reverse Path Flooding (RPF)

The method of sending packets:

A router forwards a broadcast packet originating at source S if and only if it arrives via the
shortest path from the router back to S. The router forwards the packet out all incident links
except the one on which the packet arrived. Whenever a source wants to send data packets, it
floods all the nodes at the outgoing link except on the originating link. In this the data packets
are sent onto a router if there is a reverse path of shortest distance from the next router to the
source.
The problem is Duplication of packets.

To implement the basic reverse path forwarding algorithm, a router must be able to identify the
shortest path from the router back to any host which is available from routing tables.

3.2 Reverse Path Broadcasting (RPB)

To eliminate the duplicate broadcast packets generated by the RPF algorithm, it is necessary for
each router to identify child links in the shortest reverse path tree rooted at any given source S.
Then, when a broadcast packet originating at S arrives via the shortest path back to S, the router
can forward only to child links.

The basic scheme is to identify parent router for any router so as to reach each of its source.

Truncated Reverse Path Broadcasting:

In this step we try to truncate the tree so that we not send data packets to the tree having no
members. So, we are going to prune away the leaf nodes (groups) for which the packet may not
reach. This is a two step process:

1.Identify the leaves

2.Detect the group membership

If we have every router periodically send a packet on each of its links, saying “ This link is my
next hop to these destinations” then the parent routers of those links can tell whether or not the
links are leaves for each possible destination. Then we can identify the leaves.

Once we identify leaves, our next duty is to detect whether or not members of a given group
exist on those leaves. To implement this , the hosts periodically report their memberships.

When a multicast packet with source address S and destination group G arrives from the next
hop link for S, forward a copy of the packet on all child links for S, except leaf links that have no
members of G.

No router uses the leaves to reach the source. So we can have groups propagating up the tree. So
if we have no group members then we can truncate at the leaves.

3.3 Reverse Path Multicast (RPM)

This is built on the top of TRPB which will try to prune up the tree. We will build tree for every
active source. We shall start with truncating reverse path routing. The basic emphasis is made on
"non-membership" reports which will propagate up the tree. Whenever there are no members
down the hierarchy of a router node (router), it sends non-membership report to its
predecessor(s).This implies that we are maintaining per source tree and per group information.

COST: The cost of RPM is same as TRPB + cost of storing, forwarding and processing of NMR
messages.
The problems with the protocols DVMRP and Link-State based protocol is scalability and their
dependence on the underlying unicast routing protocol. The specific disadvantages of each being
:
Distance Vector Multicast Routing Protocol (DVMRP)
a) Routers not interested in sending/receiving multicast packets to/from group also incur
tree building overhead.
b) The overhead involved in determining child and leaf subnets depends on the stability of
the network.

Link State Based Routing Protocol

a) Global Group membership is maintained by all routers, whether they form part of a
multicast tree or not.
b) Link State Information flooded throughout the internetwork as a result of either topology
changes or group membership changes.

4. Core Based Trees

Rather than flooding the data everywhere, or flooding the membership information everywhere,
algorithms in the Core-Based Trees (CBT) map the multicast group address to a particular
unicast address of a router(Core Router), and they build explicit distribution trees centered
around this particular router.

CBT involves having a single Core Tree per group.

4.1 Advantages of Core Based Trees

1) Scalability : Instead of one tree per (source,group) pair as in source based trees, there is one
multicast tree per group. So the amount of state that needs to be stored at each router on the tree
is O(number of groups) i.e. link information per tree. Moreover, all routers need not support or
implement this protocol for this protocol to work i.e. routers which have no members wrt a
particular group need not maintain any information as to the existence of that group.

2) Tree Creation is receiver based. Only a router interested in becoming a part of the group (or is
on the path between a potential member and the tree) is involved in becoming a part of the tree
for that particular group. So tree building overhead is restricted to these routers.

3) It is independent of underlying unicast routing algorithm, resulting in a much simplified


multicast tree formation across domain boundaries.

4.2 CBT Protocol Details

There is a core address and a group identifier associated with every group. The core address is
the normal unicast address of the core router. This address is used to get packets to the tree. Once
on the tree, the packet is multicast based on a globally unique group identifier or group-id.
1) Identification of Core Router

The placement of a group's core should reflect that group's characteristics since the core
placement assists in optimizing the routes between any sender and group members on the tree. A
router could become a core when a host on one of its attached subnets wishes to initiate a group.
Or in case of a single sender, the router nearest to it could become a core. The topic of core
placement is open for research.

2) Data Forwarding

Unicast routing is used to route multicast packets to a multicast tree, allowing multicast groups
and multicast packets to remain "invisible" to routers not on the tree. This allows for CBT
unaware routers in between and is a good strategy for incremental deployment. This is achieved
by using the unicast address of the core in the destination field of multicast packets originating
off-tree. Data packets destined for a particular group tree carry the group core address in the
"destination field" and group-id in the "option" field of IP packet's header.

Once on the corresponding tree (i.e. on arrival at an on-tree router), multicast packets span the
tree based on the packet's group-identifier, or group-id.
Core-address in the "destination field" is discarded and group-id in the "option" field is placed in
the "destination field". This leads to faster on-tree switching since it is faster to process fixed
length header than an extended header. CBT routers forward arriving packets based on the
information contained in their CBT Forwarding Information Base.

3) Tree Formation

When a receiver joins a multicast group, its local CBT router looks up the multicast address and
obtains the address of the Core router for the group. It then sends a Join-Request message for the
group towards the Core. The Join-Request is forwarded to the next-hop router on the path to the
core as determined by the unicast forwarding table. The join continues its journey until it either
reaches the addressed core, or reaches a CBT capable router that is already part of the tree. At
this point, the join's journey is terminated by the receiving router and a Join-Ack is sent. At each
CBT router traversed by the Join-Ack, forwarding state is instantiated. In this way, a multicast
tree is built.

When a receiver wants to quit a multicast group, same procedure is followed. (Quit-Req and
Quit-Ack).

Path or Node Failure *

Link failure is recognizable as a result of "Keep-Alive" mechanism operating between adjacent


on-tree routers.

For any non-core router, if a parent or path to parent fails, there are two options

a) it submits a new Join-Request message, hence keeping the failure transparent to the
downstream branch. OR
b) Tell downstream routers about the failure and allow them to independently attempt to re-
attach themselves to the tree.

4.3 Disdvantages of Core Based Trees

1) Core Placement : Core based trees may not provide the most optimal paths between members
of a group.

2) The Core as a Single Point of Failure

This problem can be solved by having multiple cores associated with each tree, at the cost of
increased complexity

Two choices with respect to multiple core nodes-

a) Single Core CBT Trees : We have multiple "backup" cores to increase the probability that
every network node can reach at least one of the cores of a CBT tree. There are multiple cores,
which join each other at group initiation time. The primary core is considered the "central-hub"
of a tree, with additional nodes simply providing an element of robustness to the design. If the
primary core should fail, the recovery scenario is same as that in case of Path or Node Failure. *
This has the dynamic Join Overhead.

b) Multiple Core CBT Trees : In this subsets of tree attached to each of core routers. It may
lead to optimization of routes between those members. There must be an explicit protocol
operating amongst the "backup cores" to handle failure, unlike the earlier case.

You might also like