Routing
Routing
22.1
Figure 22.12 Autonomous systems
22.2
• When it receives a packet, to which network
should it pass the packet?
• The decision is based on optimization: Which
of the available pathways is the optimum
pathway?
22.3
• One approach is to assign a cost for passing
through a network. We call this cost a metric.
• However, the metric assigned to each network
depends on the type of protocol.
• Some simple protocols, such as the Routing
Information Protocol (RIP), treat all
• .
22.4
• networks as equals. The cost of passing
through a network is the same; it is one hop
count.
• So if a packet passes through 10 networks to
reach the destination, the total cost is 10 hop
counts
• Another method can be type of service
22.5
Figure 22.13 Popular routing protocols
22.6
• In distance vector routing, the least-cost route
between any two nodes is the route
• with minimum distance. In this protocol, as the
name implies, each node maintains a
• vector (table) of minimum distances to every
node. The table at each node also guides the
packets to the desired node by showing the
next stop in the route (next-hop routing).
22.7
Figure 22.14 Distance vector routing tables
22.8
Figure 22.15 Initialization of tables in distance vector routing
22.9
Note
In distance vector routing, each node shares its routing table with its
immediate neighbors periodically and when there is a change.
22.10
Figure 22.16 Updating in distance vector routing
22.11
When does a node send its partial routing table (only two
columns) to all its immediate neighbors?
Triggered Update: A node sends its two-column routing table to its neighbors
anytime there is a change in its routing table. This is called a triggered update.
22.13
Defining Infinity
• The first obvious solution is to redefine infinity to a
smaller number, such as 100.
• For our previous scenario, the system will be stable
in less than 20
updates. As a matter of fact, most implementations
of the distance vector protocol define the distance
between each node to be I and define 16 as infinity.
• However, this means that the distance vector routing
cannot be used in large systems.
• The size of the network, in each direction, can not
exceed 15 hops.
22.14
Split Horizon
• If node B thinks that the optimum route to
reach X is via A, it does not need to advertise
this piece of information to A; the information
has corne from A (A already knows).
• Taking information from node A, modifying it,
and sending it back to node A creates the
confusion.
Split Horizon and Poison Reverse
• Normally, the distance vector protocol uses a timer, and if there
is no news about a route, the node deletes the route from its
table.
• When node B in the previous scenario eliminates the route to X
from its advertisement to A, node A cannot guess that this is
due to the split horizon strategy (the source of information was
A) or because B has not received any news about X recently.
• The split horizon strategy can be combined with the poison
reverse strategy.
• Node B can still advertise the value for X, but if the source of
information is A, it can replace the distance with infinity as a
warning: "Do not use this value; what I know about this route
22.16comes from you."
Figure 22.18 Three-node instability
22.17
Routing Information Protocol (RIP)
It is an Intradomain routing protocol used inside an autonomous system. It is a very
simple protocol based on distance vector routing.
1. In an autonomous system, we are dealing with routers and networks (links). The
routers have routing tables; networks do not.
2. The destination in a routing table is a network, which means the first column
defines a network address.
3. The metric used by RIP is very simple; the distance is defined as the number of
links (networks) to reach the destination. For this reason, the metric in RIP is called
a hop count.
4. Infinity is defined as 16, which means that any route in an autonomous system
using RIP cannot have more than 15 hops.
5. The next-node column defines the address of the router to which the packet is to
be sent to reach its destination.
Figure 22.19 Example of a domain using RIP
22.19
Figure 22.20 Concept of link state routing
22.20
Link state routing
22.21
Figure 22.21 Link state knowledge
22.22
Build routing table
• In link state routing, four sets of actions are required to ensure that each node has the
• routing table showing the least-cost node to every other node.
• 1. Creation of the states of the links by each node, called the link state packet (LSP).
• 2. Dissemination of LSPs to every other router, called flooding, in an efficient and
• reliable way.
• 3. Formation of a shortest path tree for each node.
• 4. Calculation of a routing table based on the shortest path tree.
22.23
• LSPs are generated on two occasions:
• When there is a change in the topology of the domain
• On a periodic basis
• Flooding of LSPs-
• The creating node sends a copy of the LSP out of each interface.
• A node that receives an LSP compares it with the copy it may already have.
• If the newly arrived LSP is older than the one it has, it discards the LSP. If it
is newer, the node does the following:
• a. It discards the old LSP and keeps the new one.
• b. It sends a copy of it out of each interface except the one from which the
packet
• arrived.
22.24
Figure 22.22 Dijkstra algorithm
22.25
Figure 22.23 Example of formation of shortest path tree
22.26
Table 22.2 Routing table for node A
22.27