Unit 4
Unit 4
Routing and protocols: Unicast routing - Distance Vector Routing - RIP - Link State Routing
– OSPF – Path-vector routing - BGP - Multicast Routing: DVMRP – PIM.
4.2UNICAST 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 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
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
ROUTING INFORMATION PROTOCOL (RIP)
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
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
4.4 LINK STATE ROUTING (LSR) & OPEN SHORTEST PATH
PROTOCOL (OSPF)
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.
Flooding of LSP in a small network is as follows:
1. When node X receives Y’s LSP (fig a), it floods onto its neighbors A and
C (fig b)
2. Nodes A and C forward it to B, but does not sends it back to X (fig c).
3. Node B receives two copies of LSP with same sequence number.
4. 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).
Spanning Trees
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
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.
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>
4.6 MULTICASTING
MULTICAST ROUTING
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.
Suppose route R1 receives a message to group G. oR1 has no state for group G.
Encapsulates the multicast packet in a Register message.
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.