0% found this document useful (0 votes)
13 views

UNIT-IV CN

The document discusses various routing protocols and algorithms used in networking, focusing on unicast routing, distance vector routing (RIP), link state routing (OSPF), and path-vector routing. It explains the processes of routing, the construction of forwarding tables, and the mechanisms for updating routing information, including periodic and triggered updates. Additionally, it highlights the differences between distance-vector and link-state algorithms, as well as the challenges such as loop instability in routing protocols.

Uploaded by

subashini.it22
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

UNIT-IV CN

The document discusses various routing protocols and algorithms used in networking, focusing on unicast routing, distance vector routing (RIP), link state routing (OSPF), and path-vector routing. It explains the processes of routing, the construction of forwarding tables, and the mechanisms for updating routing information, including periodic and triggered updates. Additionally, it highlights the differences between distance-vector and link-state algorithms, as well as the challenges such as loop instability in routing protocols.

Uploaded by

subashini.it22
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

M.A.M.

COLLEGE OF ENGINEERING AND


TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

UNIT-IV ROUTING
Routing and protocols:
Unicast routing
Distance Vector Routing - RIP –
Link State Routing – OSPF –
Path-vector routing - BGP –
Multicast Routing: DVMRP – PIM.
3.7 UNICAST ROUTING
Routing is the process of selecting best paths in a network. In unicast routing, a packet is routed,
hop by hop, from its source to its destination by the help of forwarding tables. Routing a packet
from its source to its destination means routing the packet from a source router (the default router
of the source host) to a destination router (the router connected to the destination network).
The source host needs no forwarding table because it delivers its packet to the default router in its
local network. The destination host needs no forwarding table either because it receives the packet
from its default router in its local network. Only the intermediate routers in the networks need
forwarding tables.
NETWORK AS A GRAPH

The Figure below shows a graph representing a network.


Fig 3.34 Graph representation
● The nodes of the graph, labeled A through G, may be hosts, switches, routers, or networks.
● The edges of the graph correspond to the network links.
● Each edge has an associated cost.
The basic problem of routing is to find the lowest-cost path between any two nodes, where the cost
of a path equals the sum of the costs of all the edges that make up the path. This static approach has
several problems:
● It does not deal with node or link failures.
● It does not consider the addition of new nodes or links.
● It implies that edge costs cannot change.
For these reasons, routing is achieved by running routing protocols among the nodes. These
protocols provide a distributed, dynamic way to solve the problem of finding the lowest-cost path in
the presence of link and node failures and changing edge costs.
UNICAST ROUTING ALGORITHMS
There are three main classes of routing protocols:
1) Distance Vector Routing Algorithm – Routing Information Protocol

1
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

2) Link State Routing Algorithm – Open Shortest Path First Protocol


3) Path-Vector Routing Algorithm - Border Gateway Protocol

3.7.1 DISTANCE VECTOR ROUTING (DSR) ROUTING INFORMATION PROTOCOL


(RIP) BELLMAN - FORD ALGORITHM
Distance vector routing is distributed, i.e., algorithm is run on all nodes. Each node knows the
distance (cost) to each of its directly connected neighbors. Nodes construct a vector (Destination,
Cost, NextHop) and distributes to its neighbors. Nodes compute routing table of minimum distance
to every other node via NextHop using information obtained from its neighbors.
Initial State

Fig 3.35 Initial graph


In given network, cost of each link is 1 hop. Each node sets a distance of 1 (hop) to its immediate
neighbor and cost to itself as 0. Distance for non-neighbors is marked as unreachable
with value (infinity). For node
A, nodes B, C, E and F are reachable, whereas nodes D and G are
unreachable.
Table 3.2 Initial table of Node A,C,F

The initial table for all the nodes are given below
Table 3.3 Initial distance of each node

2
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Each node sends its initial table (distance vector) to neighbors and receives their estimate. Node A
sends its table to nodes B, C, E & F and receives tables from nodes B, C, E & F. Each node updates
its routing table by comparing with each of its neighbor's table
For each destination, Total Cost is computed as:
▪ Total Cost = Cost (Node to Neighbor) + Cost (Neighbor to Destination)
If Total Cost < Cost then
▪ Cost = Total Cost and NextHop = Neighbor
Node A learns from C's table to reach node D and from F's table to reach node G.
Total Cost to reach node D via C = Cost (A to C) + Cost(C to D)
Cost = 1 + 1 = 2.
Since 2 < , entry for destination D in A's table is changed to (D, 2, C)
Total Cost to reach node G via F = Cost(A to F) + Cost(F to G) = 1 + 1 = 2
Since 2 < , entry for destination G in A's table is changed to (G, 2, F)
Each node builds complete routing table after few exchanges amongst its neighbors.

Table.3.4 Final table of Node A

System stabilizes when all nodes have complete routing information, i.e., convergence. Routing
tables are exchanged periodically or in case of triggered update. The final distances stored at each
node is given below:
Table 3.5 Final distance of each node

3
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Updation of Routing Tables


There are two different circumstances under which a given node decides to send a routing update to
its neighbors.

Periodic Update
● In this case, each node automatically sends an update message every so often, even if nothing
has changed.
● The frequency of these periodic updates varies from protocol to protocol, but it is typically on
the order of several seconds to several minutes.

Triggered Update
● In this case, whenever a node notices a link failure or receives an update from one of its
neighbors that causes it to change one of the routes in its routing table.
● Whenever a node’s routing table changes, it sends an update to its neighbors, which may lead
to a change in their tables, causing them to send an update to their neighbors.

ROUTING INFORMATION PROTOCOL (RIP)


RIP is an intra-domain routing protocol based on distance-vector algorithm.
Example

Fig 3.36 Sample graph

4
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Routers advertise the cost of reaching networks. Cost of reaching each link is 1 hop. For example,
router C advertises to A that it can reach network 2, 3 at cost 0 (directly connected), networks 5, 6 at
cost 1 and network 4 at cost 2.
Each router updates cost and next hop for each network number. Infinity is defined as 16, i.e., any
route cannot have more than 15 hops. Therefore RIP can be implemented on small-sized networks
only. Advertisements are sent every 30 seconds or in case of triggered update.

Fig 3.37 Header format


● Command - It indicates the packet type.
Value 1 represents a request packet. Value 2 represents a response packet.
● Version - It indicates the RIP version number. For RIPv1, the value is 0x01.
● Address Family Identifier - When the value is 2, it represents the IP protocol.
● IP Address - It indicates the destination IP address of the route. It can be the addresses of only
the natural network segment.
● Metric - It indicates the hop count of a route to its destination.

Count-To-Infinity (or) Loop Instability Problem


Suppose link from node A to E goes down. Node A advertises a distance of to E to its
neighbors. Node B receives periodic update from C before A’s update reaches B. Node B updated
by C, concludes that E can be reached in 3 hops via C. Node B advertises to A as 3 hops to reach E.
Node A in turn updates C with a distance of 4 hops to E and so on. Thus nodes update each other
until cost to E reaches infinity, i.e., no convergence. Routing table does not stabilize. This problem
is called loop instability or count to infinity

Solution to Count-To-Infinity (or) Loop Instability Problem :


Infinity is redefined to a small number, say 16. Distance between any two nodes can be 15 hops
maximum. Thus distance vector routing cannot be used in large networks. When a node updates its
neighbors, it does not send those routes it learned from each neighbor back to that neighbor. This is
known as split horizon. Split horizon with poison reverse allows nodes to advertise routes it
learnt from a node back to that node, but with a warning message.

LINK STATE ROUTING(LSR) – OSPF – DIJKSTRA’S ALGORITHM


Each node knows state of link to its neighbors and cost. Nodes create an update packet called link-
state packet (LSP) that contains:
● ID of the node
● List of neighbors for that node and associated cost
5
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

● 64-bit Sequence number


● Time to live
Link-State routing protocols rely on two mechanisms:
● Reliable flooding of link-state information to all other nodes
● Route calculation from the accumulated link-state knowledge

Reliable Flooding
Each node sends its LSP out on each of its directly connected links. When a node receives LSP of
another node, checks if it has an LSP already for that node. If not, it stores and forwards the LSP on
all other links except the incoming one. Else if the received LSP has a bigger sequence number,
then it is stored and forwarded. Older LSP for that node is discarded. Otherwise discard the
received LSP, since it is not latest for that node. Thus recent LSP of a node eventually reaches all
nodes, i.e., reliable flooding.

(a) (b) (c) (d)


Fig 3.38 Flooding
Flooding of LSP in a small network is as follows:
When node X receives Y’s LSP (fig a), it floods onto its neighbors A and C (fig b)
● Nodes A and C forward it to B, but does not sends it back to X (fig c).
● Node B receives two copies of LSP with same sequence number.
● Accepts one LSP and forwards it to D (fig d). Flooding is complete.
LSP is generated either periodically or when there is a change in the topology.
Route Calculation
● Each node knows the entire topology, once it has LSP from every other node.
● Forward search algorithm is used to compute routing table from the received LSPs.
● Each node maintains two lists, namely Tentative and Confirmed with entries of the form
(Destination, Cost, NextHop).
DIJKSTRA’S SHORTEST PATH ALGORITHM (FORWARD SEARCH ALGORITHM)
Each host maintains two lists, known as Tentative and Confirmed
Initialize the Confirmed list with an entry for the Node (Cost = 0). Node just added to Confirmed
list is called Next. Its LSP is examined.
For each neighbor of Next, calculate cost to reach each neighbor as Cost (Node to Next) + Cost
(Next to Neighbor).
• If Neighbor is neither in Confirmed nor in Tentative list, then add (Neighbor, Cost,
NextHop) to Tentative list.
• If Neighbor is in Tentative list, and Cost is less than existing cost, then replace the entry
with (Neighbor, Cost, NextHop).

6
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

If Tentative list is empty then Stop, otherwise move least cost entry from Tentative list to
Confirmed list. Go to Step 2.
Example :
Table 3.5 Confirmed and tentative table

3.7.2 OPEN SHORTEST PATH FIRST PROTOCOL (OSPF)


OSPF is a non-proprietary widely used link-state routing protocol.
OSPF Features are:
● Authentication―Malicious host can collapse a network by advertising to reach every host
with cost 0. Such disasters are averted by authenticating routing updates.
● Additional hierarchy―Domain is partitioned into areas, i.e., OSPF is more scalable.
● Load balancing―Multiple routes to the same place are assigned same cost. Thus traffic is
distributed evenly.
Link State Packet Format

Fig 3.38 Link state packet format


Version ― represents the current version, i.e., 2.
Type ― represents the type (1–5) of OSPF message.
Type 1 - “hello” message, Type 2 - request, Type 3 – send , Type 4 - acknowledge the receipt
of link state messages ,cType 5 - reserved
SourceAddr ― identifies the sender
AreaId ― 32-bit identifier of the area in which the node is located
Checksum ― 16-bit internet checksum
Authentication type ― 1 (simple password), 2 (cryptographic authentication).
Authentication ― contains password or cryptographic checksum
7
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Difference Between Distance-Vector And Link-State Algorithms


Distance vector Routing Link state Routing
Each node talks only to its directly Each node talks to all other nodes, but it
connected neighbors, but it tells them tells them only what it knows for sure (i.e.,
everything it has learned only the state of its directly connected
(i.e., distance to all nodes). links).

3.7.3 PATH VECTOR ROUTING (PVR )


Path-vector routing is an asynchronous and distributed routing algorithm. The Path-vector routing is
not based on least-cost routing. The best route is determined by the source using the policy it
imposes on the route. In other words, the source can control the path. Path-vector routing is not
actually used in an internet, and is mostly designed to route a packet between ISPs.

Spanning Trees
In path-vector routing, the path from a source to all destinations is determined by the best spanning
tree. The best spanning tree is not the least-cost tree. It is the tree determined by the source when it
imposes its own policy. If there is more than one route to a destination, the source can choose the
route that meets its policy best.
A source may apply several policies at the same time. One of the common policies uses the
minimum number of nodes to be visited. Another common policy is to avoid some nodes as the
middle node in a route.
The spanning trees are made, gradually and asynchronously, by each node. When a node is booted,
it creates a path vector based on the information it can obtain about its immediate neighbor.
A node sends greeting messages to its immediate neighbors to collect these pieces of information.
Each node, after the creation of the initial path vector, sends it to all its immediate neighbors. Each
node, when it receives a path vector from a neighbor, updates its path vector using the formula
Path(x,y) = best { path (x,y), [ (x+ path(v,y)]} for all v’s internet
The policy is defined by selecting the best of multiple paths.
● Path-vector routing also imposes one more condition on this equation.
● If Path (v, y) includes x, that path is discarded to avoid a loop in the path.
● In other words, x does not want to visit itself when it selects a path to y.
Example:
The Figure below shows a small internet with only five nodes.
Each source has created its own spanning tree that meets its policy. The policy imposed by all
sources is to use the minimum number of nodes to reach a destination. The spanning tree selected
by A and
E is such that the communication does not pass through D as a middle node. Similarly, the spanning
tree selected by B is such that the communication does not pass through C as a middle node.

8
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Fig 3.39 Spanning tree


Path Vectors made at booting time
The Figure below shows all of these path vectors for the example.
Not all of these tables are created simultaneously. They are created when each node is booted. The
figure also shows how these path vectors are sent to immediate neighbors after they have been

created.
Fig 3.40 Path vectors
Updating Path Vectors
The Figure below shows the path vector of node C after two events.
In the first event, node C receives a copy of B’s vector, which improves its vector: now it knows
how to reach node A. In the second event, node C receives a copy of D’s vector, which does not
change its vector. The vector for node C after the first event is stabilized and serves as its
forwarding table.

Fig 3.41 Path vector of Node C after two events


3.7.4 BORDER GATEWAY PROTOCOL (BGP)
9
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

The Border Gateway Protocol version (BGP) is the only interdomain routing protocol used in the
Internet today. BGP4 is based on the path-vector algorithm. It provides information about the
reachability of networks in the Internet. BGP views internet as a set of autonomous systems
interconnected arbitrarily.

Fig 3.42 Autonomous system


Each AS have a border router (gateway), by which packets enter and leave that AS. In above
figure, R3 and R4 are border routers. One of the router in each autonomous system is designated as
BGP speaker. BGP Speaker exchange reachability information with other BGP speakers, known as
external BGP session. BGP advertises complete path as enumerated list of AS (path vector) to
reach a particular network. Paths must be without any loop, i.e., AS list is unique.
For example, backbone network advertises that networks 128.96 and 192.4.153 can be reached
along the path <AS1, AS2, AS4>.

Fig 3.43 Backbone network


If there are multiple routes to a destination, BGP speaker chooses one based on policy. Speakers
need not advertise any route to a destination, even if one exists. Advertised paths can be cancelled,
if a link/node on the path goes down. This negative advertisement is known as withdrawn route.
Routes are not repeatedly sent. If there is no change, keep alive messages are sent.
iBGP - interior BGP

Fig 3.44 BGP table


10
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

A Variant of BGP used by routers to update routing information learnt from other speakers to
routers inside the autonomous system. Each router in the AS is able to determine the appropriate
next hop for all prefixes.

UNICAST ROUTING PROTOCOLS


A protocol is more than an algorithm.
A protocol needs to define its domain of operation, the messages exchanged, communication
between routers, and interaction with protocols in other domains. A routing protocol specifies how
routers communicate with each other, distributing information that enables them to select routes
between any two nodes on a computer network. Routers perform the "traffic directing" functions on
the Internet; data packets are forwarded through the networks of the internet from router to router
until they reach their destination computer.
Routing algorithms determine the specific choice of route. Each router has a prior knowledge only
of networks attached to it directly. A routing protocol shares this information first among immediate
neighbors, and then throughout the network. This way, routers gain knowledge of the topology of
the network. The ability of routing protocols to dynamically adjust to changing conditions such as
disabled data lines and computers and route data around obstructions is what gives the Internet its
survivability and reliability. The specific characteristics of routing protocols include the manner in
which they avoid routing loops, the manner in which they select preferred routes, using information
about hop costs, the time they require to reach routing convergence, their scalability, and other
factors.
INTERNET STRUCTURE
Internet has a million networks. Routing table entries per router should be minimized. Link state
routing protocol is used to partition domain into areas. An routing area is a set of routers configured
to exchange link-state information. Area introduces an additional level of hierarchy. Thus domains
can grow without burdening routing protocols.

Fig 3.45 Backbone area


There is one special area—the backbone area, also known as area 0. Routers R1, R2 and R3 are part
of backbone area. Routers in backbone area are also part of non-backbone areas. Such routers are
known as Area Border Routers (ABR).

11
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Link-state advertisement is exchanged amongst routers in a non-backbone area. They do not see
LSAs of other areas. For example, area 1 routers are not aware of area 3 routers. ABR advertises
routing information in their area to other ABRs.

For example,R2 advertises area 2 routing information to R1 and R3, which in turn pass onto their
areas. All routers learn how to reach all networks in the domain. When a packet is to be sent to a
network in another area, it goes through backbone area via ABR and reaches the destination area.
Routing Areas improve scalability but packets may not travel on the shortest path.

INTER DOMAIN ROUTING


Internet is organized as autonomous systems (AS) each of which is under the control of a single
administrative entity. A corporation’s complex internal network might be a single AS, as may the
network of a single Internet Service Provider (ISP). Interdomain routing shares reachability
information between autonomous systems.

Fig 3.46 Autonomous system

The basic idea behind autonomous systems is to provide an additional way to hierarchically
aggregate routing information in a large internet, thus improving scalability. Internet has backbone
networks and sites. Providers connect at a peering point.

12
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Fig 3.47 Backbone service provider


Traffic on the internet is of two types:
● Local Traffic - Traffic within an autonomous system is called local.
● Transit Traffic - Traffic that passes through an autonomous system is called transit.

Autonomous Systems (AS) are classified as:


● Stub AS - is connected to only one another autonomous system and carries local traffic only
(e.g. Small corporation).
● Multihomed AS - has connections to multiple autonomous systems but refuses to carry transit
traffic (e.g. Large corporation).
● Transit AS - has connections to multiple autonomous systems and is designed to carry transit
traffic (e.g. Backbone service provider).
Policies Used By Autonomous Systems :
● Provider-Customer―Provider advertises the routes it knows, to the customer and advertises the
routes learnt from customer to everyone.
● Customer-Provider―Customers want the routes to be diverted to them. So they advertise their
own prefixes and routes learned from customers to provider and advertise routes learned from
provider to customers.
● Peer―Two providers access to each other’s customers without having to pay.

Fig 3.48 Policies of Autonomous system


CHALLENGES IN INTER-DOMAIN ROUTING PROTOCOL
● Each autonomous system has an intra-domain routing protocol, its own policy and metric.
● Internet backbone must be able to route packets to the destination that complies with policies of
autonomous system along a loop less path.
● Service providers have trust deficit and may not trust advertisements by other AS, or may refuse
to carry traffic from other AS.

13
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

TYPES OF ROUTING PROTOCOLS

Fig 3.49 Routing protocols types


Two types of Routing Protocols are used in the Internet:
1) Intradomain routing
● Routing within a single autonomous system
● Routing Information Protocol (RIP) - based on the distance-vector algorithm - (REFER
distance-vector routing algorithm)
● Open Shortest Path First (OSPF) - based on the link-state algorithm - (REFER link-state
routing algorithm)
2) Interdomain routing
● Routing between autonomous systems.
● Border Gateway Protocol (BGP) - based on the path-vector algorithm -(REFER Path Vector
routing algorithm)

3.8 MULTICASTING-BASICS
In multicasting, there is one source and a group of destinations. Multicast supports efficient delivery
to multiple destinations. The relationship is one to many or many-to-many.
● One-to-Many (Source Specific Multicast)
●Radio station broadcast
●Transmitting news, stock-price
●Software updates to multiple hosts
● Many-to-Many (Any Source Multicast)
●Multimedia teleconferencing
●Online multi-player games
●Distributed simulations
In this type of communication, the source address is a unicast address, but the destination address is
a group address. The group address defines the members of the group.

Fig 3.50 Destination address as unicast and multicast

14
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

In multicasting, a multicast router may have to send out copies of the same datagram through more
than one interface. Hosts that are members of a group receive copies of any packets sent to that
group’s multicast address
● A host can be in multiple groups
● A host can join and leave groups
● A host signals its desire to join or leave a multicast group by communicating with its local
router using a special protocol.
● In IPv4, the protocol is Internet Group Management Protocol (IGMP)
● In IPv6, the protocol is Multicast Listener Discovery (MLD)

IGMP OR MLD PROTOCOL


Hosts communicate their desire to join / leave a multicast group to a router using Internet Group
Message Protocol (IGMP) in IPv4 or Multicast Listener Discovery (MLD) in IPv6.
Provides multicast routers with information about the membership status of hosts connected to the
network.
Enables a multicast router to create and update list of loyal members for each group.

MULTICAST ADDRESSING
Multicast address is associated with a group, whose members are dynamic.Each group has its own
IP multicast address. IP addresses reserved for multicasting are Class D in IPv4 (Class D 224.0.0.1
to 239.255.255.255), 1111 1111 prefix in IPv6. Hosts that are members of a group receive copy of
the packet sent when destination contains group address.

MULTICASTING VERSUS MULTIPLE UNICASTING


Multicasting starts with a single packet from the source that is duplicated by the routers. The
destination address in each packet is the same for all duplicates. Only a single copy of the packet
travels between any two routers.

Fig 3.51 Multicasting vs multiple unicasting


15
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

In multiple unicasting, several packets start from the source.


● If there are three destinations, for example, the source sends three packets, each with a
different unicast destination address. There may be multiple copies traveling between two routers

NEED FOR MULTICAST


Without support for multicast
● A source needs to send a separate packet with the identical data to each member of the
group
● Source needs to keep track of the IP address of each member in the group

Using IP multicast
● Sending host does not send multiple copies of the packet
● A host sends a single copy of the packet addressed to the group’s multicast address
● The sending host does not need to know the individual unicast IP address of each member

TYPES OF MULTICASTING
● Source-Specific Multicast - In source-specific multicast (one-to-many model), receiver
specifies multicast group and sender from which it is interested to receive packets. Example:
Internet radio broadcasts.
● Any Source Multicast - Supplements any source multicast (many-to-many model).

MULTICAST APPLICATIONS
● Access to Distributed Databases
● Information Dissemination
● Teleconferencing.
● Distance Learning

MULTICAST ROUTING
To support multicast, a router must additionally have multicast forwarding tables that indicate,
based on multicast address, which links to use to forward the multicast packet. Unicast forwarding
tables collectively specify a set of paths. Multicast forwarding tables collectively specify a set of
trees -Multicast distribution trees.
Multicast routing is the process by which multicast distribution trees are determined. To support
multicasting, routers additionally build multicast forwarding tables.
Multicast forwarding table is a tree structure, known as multicast distribution trees. Internet
multicast is implemented on physical networks that support broadcasting by extending forwarding
functions.

MULTICAST DISTRIBUTION TREES


There are two types of Multicast Distribution Trees used in multicast routing. They are Source-

16
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Based Tree: (DVMRP). For each combination of (source , group), there is a shortest path spanning
tree.
▪ Flood and prune
• Send multicast traffic everywhere
• Prune edges that are not actively subscribed to group
▪ Link-state
• Routers flood groups they would like to receive
• Compute shortest-path trees on demand
Shared Tree (PIM)
▪ Single distributed tree shared among all sources
▪ Does not include its own topology discovery mechanism, but instead uses routing information
supplied by other routing protocols
▪ Specify rendezvous point (RP) for group
▪ Senders send packets to RP, receivers join at RP
▪ RP multicasts to receivers; Fix-up tree for optimization
▪ Rendezvous-Point Tree: one router is the center of the group and therefore the root of the tree.

MULTICAST ROUTING PROTOCOLS


● Internet multicast is implemented on physical networks that support
broadcasting by extending forwarding functions.
● Major multicast routing protocols are:
1. Distance-Vector Multicast Routing Protocol (DVMRP)
2. Protocol Independent Multicast (PIM)
1. Distance Vector Multicast Routing Protocol
The DVMRP, is a routing protocol used to share information between routers to facilitate the
transportation of IP multicast packets among networks. It formed the basis of the Internet's historic
multicast backbone. Distance vector routing for unicast is extended to support multicast routing.
Each router maintains a routing table for all destination through exchange of distance vectors.
DVMRP is also known as flood-and-prune protocol.
DVMRP protocol uses the basic packet types as follows:
1. DVMRP Probes – for DVMRP Neighbor discovery
2. DVMRP Reports – for Multicast Route Exchange
3. DVMRP Prunes – for pruning multicast delivery trees
4. DVMRP Graft – for grafting multicast delivery trees
5. DVMRP Graft Ack’s - for acknowledging graft msgs

The forwarding table of DVMRP is as follows:

17
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

● Multicasting is added to distance-vector routing in four stages.


• Flooding
• Reverse Path Forwarding (RPF)
• Reverse Path Broadcasting (RPB)
• Reverse Path Multicast (RPM)
Flooding
Router on receiving a multicast packet from source S to a Destination from NextHop, forwards the
packet on all out-going links. Packet is flooded and looped back to S.
The drawbacks are:
It floods a network, even if it has no members for that group.
Packets are forwarded by each router connected to a LAN, i.e., duplicate flooding

Reverse Path Forwarding (RPF)


RPF eliminates the looping problem in the flooding process. Only one copy is forwarded and the
other copies are discarded. RPF forces the router to forward a multicast packet from one specific
interface: the one which has come through the shortest path from the source to the router. Packet is
flooded but not looped back to S.

Reverse-Path Broadcasting (RPB)


RPB does not multicast the packet, it broadcasts it. 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. We need to prevent each network from receiving more than one copy of the packet.
If a network is connected to more than one router, it may receive a copy of the packet from each
router. One router identified as parent called designated Router (DR). Only parent router forwards
multicast packets from source S to the attached network. When a router that is not the parent of the
attached network receives a multicast packet, it simply drops the packet.

18
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Fig 3.52 PRF vs RPB


Reverse-Path Multicasting (RPM)
• To increase efficiency, the multicast packet must reach only those networks that have
active members for that particular group.
• RPM adds pruning and grafting to RPB to create a multicast shortest path tree that supports
dynamic membership changes.

Pruning:
Sent from routers receiving multicast traffic for which they have no active group members
● “Prunes” the tree created by DVMRP
● Stops needless data from being sent

Fig 3.53 RPM


Grafting:
It is used after a branch has been pruned back and sent by a router that has a host that joins a
multicast group. It goes from router to router until a router active on the multicast group is reached.
Possible cases
▪ A new host member joins a group
▪ A new dependent router joins a pruned branch
▪ A dependent router restarts on a pruned branch

Fig 3.54 RPM after grafting


2. Protocol Independent Multicast (PIM)
PIM divides multicast routing problem into sparse and dense mode. PIM sparse mode (PIM-SM) is
widely used. PIM does not rely on any type of unicast routing protocol, hence protocol independent.
Routers explicitly join and leave multicast group using Join and Prune messages. One of the router

19
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

is designated as rendezvous point (RP) for each group in a domain to receive PIM messages.
Multicast forwarding tree is built as a result of routers sending Join messages to RP.
Two types of trees to be constructed:
▪ Shared tree - used by all senders
▪ Source-specific tree - used only by a specific sending host
The normal mode of operation creates the shared tree first, followed by one or more source-specific
trees

Shared Tree
• When a router sends Join message for group G to RP, it goes through a set of routers.
• Join message is wildcarded (*), i.e., it is applicable to all senders.
• Routers create an entry (*, G) in its forwarding table for the shared tree.
• Interface on which the Join arrived is marked to forward packets for that group.
• Forwards Join towards rendezvous router RP.
• Eventually, the message arrives at RP. Thus a shared tree with RP as root is formed.

Example
Router R4 sends Join message for group G to rendezvous router RP.
Join message is received by router R2. It makes an entry (*, G) in its table and forwards the
message to RP.
When R5 sends Join message for group G, R2 does not forwards the Join. It adds an outgoing
interface to the forwarding table created for that group.

Fig 3.55 PIM join message


As routers send Join message for a group, branches are added to the tree, i.e., shared. Multicast
packets sent from hosts are forwarded to designated router RP. Suppose router R1, receives a
message to group G. oR1 has no state for group G.
o Encapsulates the multicast packet in a Register message.
o Multicast packet is tunneled along the way to RP.
RP decapsulates the packet and sends multicast packet onto the shared tree, towards R2. R2
forwards the multicast packet to routers R4 and R5 that have members for group G.

Source-Specific Tree
Example
RP can force routers to know about group G, by sending Join message to the sending host, so that
tunneling can be avoided.

20
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE
M.A.M. COLLEGE OF ENGINEERING AND
TECHNOLOGY
Siruganur, Tiruchirappalli – 621105.

Intermediary routers create sender-specific entry (S, G) in their tables. Thus a source-specific
route from R1 to RP is formed.
If there is high rate of packets sent from a sender to a group G, then shared- tree is replaced by
source-specific tree with sender as root.

Fig 3.56 Source specific tree

Rendezvous router RP sends a Join message to the host router R1.


Router R3 learns about group G through the message sent by RP.
Router R4 send a source-specific Join due to high rate of packets from sender.
Router R2 learns about group G through the message sent by R4.
Eventually a source-specific tree is formed with R1 as root.

Analysis of PIM
● Protocol independent because, tree is based on Join messages via shortest path.
● Shared trees are more scalable than source-specific trees.
● Source-specific trees enable efficient routing than shared trees.

21
CS3591- Computer Networks
Prepared By:J.MANIVANNAN, Department of CSE

You might also like