Document From Harini.
Document From Harini.
UNIT IV ROUTING
Routing and protocols: Unicast routing - Distance Vector Routing - RIP - Link State
Routing – OSPF – Path-vector routing - BGP - Multicast Routing: DVMRP – PIM.
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.
Weighted Graph
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.
1
CS3591 – Computer Networks Unit 4
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.
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
Bellman-Ford Equation
The heart of distance-vector routing is the famous Bellman-Ford equation.
This equation is used to find the least cost (shortest distance) between a source node, x, and a
destination node, y, through some intermediary nodes (a, b, c, . . .) when the costs between
the source and the intermediary nodes and the least costs between the intermediary nodes and
the destination are given.
The following shows the general case in which Dij is the shortest distance and cij is the cost between
nodes i and j.
Dxy = min{(cxa + Day), (cxb + Dby), (cxc + Dcy), …}
In distance-vector routing, normally we want to update an existing least cost with a least cost
through an intermediary node, such as z, if the latter is shorter. In this case, the equation becomes
simpler, as shown below
Dxy = min{Dxy, (cxz + Dzy)}
Distance Vectors The concept of a distance vector is the rationale for the name distance-vector
routing. A least-cost tree is a combination of least-cost paths from the root of the tree to all
destinations. These paths are graphically glued together to form the tree.
2
CS3591 – Computer Networks Unit 4
The distance vector corresponding to a tree
Example
Initial State
3
CS3591 – Computer Networks Unit 4
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.
4
CS3591 – Computer Networks Unit 4
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:
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.
5
CS3591 – Computer Networks Unit 4
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.
6
CS3591 – Computer Networks Unit 4
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.
7
CS3591 – Computer Networks Unit 4
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).
Example :
8
CS3591 – Computer Networks Unit 4
9
CS3591 – Computer Networks Unit 4
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
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.
10
CS3591 – Computer Networks Unit 4
11
CS3591 – Computer Networks Unit 4
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.
12
CS3591 – Computer Networks Unit 4
13
CS3591 – Computer Networks Unit 4
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.
14
CS3591 – Computer Networks Unit 4
15
CS3591 – Computer Networks Unit 4
16
CS3591 – Computer Networks Unit 4
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)
o Radio station broadcast
o Transmitting news, stock-price
o Software updates to multiple hosts
Many-to-Many (Any Source Multicast)
o Multimedia teleconferencing
o Online multi-player games
o 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.
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)
17
CS3591 – Computer Networks Unit 4
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.
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
18
CS3591 – Computer Networks Unit 4
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.
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.
19
CS3591 – Computer Networks Unit 4
20
CS3591 – Computer Networks Unit 4
21
CS3591 – Computer Networks Unit 4
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
22
CS3591 – Computer Networks Unit 4
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.
23
CS3591 – Computer Networks Unit 4
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
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.
24