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

Un4 cn

Uploaded by

suresh t 12 A
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

Un4 cn

Uploaded by

suresh t 12 A
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

VELAMMAL INSTITUTE OF TECHNOLOGY

“Velammal Knowledge Park”, Chennai – 601 204.


DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
UNIT – IV 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.

​ 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
2) Link State Routing Algorithm – Open Shortest Path First Protocol
3) Path-Vector Routing Algorithm - Border Gateway Protocol

​ 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

​ 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.
​ The initial table for all the nodes are given below

​ 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.
​ 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:

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

● 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.

​ 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.

● 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

⮚ 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)
● 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)
1. Each host maintains two lists, known as Tentative and Confirmed
2. Initialize the Confirmed list with an entry for the Node (Cost = 0).
3. Node just added to Confirmed list is called Next. Its LSP is examined.
4. For each neighbor of Next, calculate cost to reach each neighbor as Cost (Node
to Next) + Cost (Next to Neighbor).
a. If Neighbor is neither in Confirmed nor in Tentative list, then add
(Neighbor, Cost, NextHop) to Tentative list.
b. If Neighbor is in Tentative list, and Cost is less than existing cost, then
replace the entry with (Neighbor, Cost, NextHop).
5. If Tentative list is empty then Stop, otherwise move least cost entry from
Tentative list to Confirmed list. Go to Step 2.

Example :
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

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 ,
Type 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

Difference Between Distance-Vector And Link-State Algorithms


● 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

● 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.
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.

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.
BORDER GATEWAY PROTOCOL (BGP)
● 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.

● 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>.

● 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
● 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.

10. 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 routingprotocol 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.

● 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).
● 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.
● 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.

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.

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 loopless path.
● Service providers have trust deficit and may not trust advertisements by
other AS, or may refuse to carry traffic from other AS.

TYPES OF ROUTING PROTOCOLS

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)
11. MULTICASTING
● 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) oRadio station broadcast
oTransmitting news, stock-price
oSoftware updates to multiple hosts
● Many-to-Many (Any Source
Multicast) oMultimedia
teleconferencing oOnline
multi-player games oDistributed
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.

● 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 hostsignals 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.
o
● 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.

● 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-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 consists of two major components:
● A conventional distance-vector routing protocol, like RIP
● A protocol for determining how to forward multicast packets, based on the
routing table
● DVMRP router forwards a packet if
● The packet arrived from the link used to reach the source of the packet
● If downstream links have not pruned the tree
● DVMRP protocol uses the basic packet types as follows:

● The forwarding table of DVMRP is as follows:


● 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:
o It floods a network, even if it has no members for that group.
o 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.
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

Grafting:
🞆 Used after a branch has been pruned back

🞆 Sent by a router that has a host that joins a multicast group

🞆 Goes from router to router until a router active on the multicast group is
reached
🞆 Sent for the following cases

▪ A new host member joins a group

▪ A new dependent router joins a pruned branch

▪ A dependent router restarts on a pruned branch


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 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.

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
RP can force routers to know about group G, by sending Join
message to the sending host, so that tunneling can be avoided.
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.

Example

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.

You might also like