Title: Routing Information Protocol (RIP)
1Routing Information Protocol (RIP)
- NETE0514
- Presented by
- Dr.Apichan Kanjanavapastit
2Intra-and Interdomain Routing
- An internet is divided into autonomous systems.
An autonomous system (AS) is a group of networks
and routers under the authority of a single
administration - Routing inside an autonomous system is referred
to as intradomain routing - Routing between autonomous system is referred to
as interdomain routing
3Popular Routing Protocols
- In this chapter, we discuss two intradomain
routing protocols distance vector and link state - For the interdomain routing protocol, we
introduce path vector - Routing Information Protocol (RIP) is the
implementation of the distance vector protocol - Open Shortest Path First (OSPF) is the
implementation of the link state protocol - Border Gateway Protocol (BGP) is the
implementation of the path vector protocol
4Distance Vector Routing
- In distance vector routing, the least cost route
between any two nodes is the route with minimum
distance - In this protocol 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)
5Initialization
- At the beginning, each node can know only the
distance between itself and its immediate
neighbors, those directly connected to it
6Sharing
- The whole idea of distance vector routing is the
sharing of information between neighbors - Although node A does not know about node E, node
C does. So if node C shares its routing table
with A, node A can also know how to reach node E
Note
In distance vector routing, each node shares its
routing table with its immediate neighbors
periodically and when there is a change.
7Updating
- When a node receives a 2-column table from a
neighbor, it needs to update its routing table.
Updating takes 3 steps - The receiving node needs to add the cost between
itself and the sending node to each value in the
second column - The receiving node needs to add the name of the
sending node to each row as the 3rd column if the
receiving node uses information from any row. The
sending node is the next node in the route
8Updating (cont.)
- The receiving node needs to compare each row of
its old table with the corresponding row of the
modified version of the received table. - If the next-node entry is different, the
receiving node chooses the row with the smaller
cost. If there is a tie, the old one is kept - If the next-node entry is the same, the receiving
node chooses the new row. For example, if node C
has previously advertised a route to node X with
distance 3. Suppose that now there is no path
between C and X node C now advertises this route
with a distance of infinity. Node A must not
ignore this value even though its old entry is
smaller.
9Updating (cont.)
10When to Share
- The table is sent both periodically and when
there is a change in the table - Periodic Update. A node sends its routing table,
normally every 30 seconds, in a periodic update.
The period depends on the protocol that is using
distance vector routing - Triggered Update. A node sends its 2-column
routing table to its neighbors any time there is
a change in its routing table. This is called a
triggered update. The change can result from the
following. - A node receive a table from a neighbor resulting
in changes in its own table after updating - A node detects some failure in the neighboring
links which results in a distance change to
infinity
11Initial routing tables in a small autonomous
system
12Final routing tables for the previous figure
13Two-Node Loop Instability
- A problem with distance vector routing is
instability, which means that a network using
this protocol can become unstable
14Solutions to two-node instability
- Defining Infinity. Most implementation of the
distance vector protocol define the distance
between each node to be 1 and define 16 as
infinity. Therefore, the distance vector cannot
be used in large systems - Split Horizon. In this strategy, instead of
flooding the table through each interface, each
node sends only part of its table through each
interface. 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.
15Solutions to two-node instability (cont.)
16Solutions to two-node instability (cont.)
- Split Horizon and Poison Reverse. This strategy
is a combination between split horizon and poison
reverse where node B can still advertise the
value of X, but if the source of information is
A, it can replace the distance with infinity as a
warning Dont use this value what I know about
this route comes from you.
17Solutions to two-node instability (cont.)
18Three-Node Instability
19Routing Information Protocol (RIP)
- The Routing Information Protocol (RIP) is an
intradomain routing protocol used inside an
autonomous system - It is a very simple protocol based on distance
vector routing - RIP implements distance vector directly with some
considerations - In an autonomous, we are dealing with routers and
networks (links). The routers have routing
tables, networks dont - The destination in a routing table is a network,
which means the first column defines a network
address
20Routing Information Protocol (RIP) (cont.)
- The metric used by RIP is the number of links
that have to be used to reach the destination
which is called hop count - Infinity is defined as 16
- The next node column defines the address of the
router to which the packet is to be sent to reach
its destination
21RIP Message Format
22RIP Message Format (cont.)
- Command. This 8-bit field specifies the type of
message request (1) or response (2) - Version. This 8-bit defines the version. In the
textbook, we use version 1 - Family. This 16-bit field defines the family of
the protocol used. For TCP/IP the value is 2. - Network address. RIP has allocated 14 bytes for
this field to be applicable to any protocol. - Distance. This 32-bit field defines the hop count
from the advertising router to the destination
network
23Request and Response
- Request. A request message is sent by a router
that has just come up or by a router that has
some time-out entries. A request can ask about
specific entries or all entries - Response. A solicited response is sent only in
answer to a request. It contains information
about the destination specified in the
corresponding request. An unsolicited response is
sent periodically, every 30 s or when there is a
change in the routing table
24Request Messages
25Example 1
What is the periodic response sent by router R1?
Assume R1 knows about the whole autonomous system.
26Solution
R1 can advertise three networks 144.2.7.0,
144.2.9.0, and 144.2.12.0. The periodic response
(update packet) is shown below.
27Example 2
Figure 14.11 shows the update message sent from
router R1 to router R2 in Figure 14.8. The
message is sent out of interface 130.10.0.2.
See Next Slide
28The message is prepared with the combination of
split horizon and poison reverse strategy in
mind. Router R1 has obtained information about
networks 195.2.4.0, 195.2.5.0, and 195.2.6.0 from
router R2. When R1 sends an update message to R2,
it replaces the actual value of the hop counts
for these three networks with 16 (infinity) to
prevent any confusion for R2. The figure also
shows the table extracted from the message.
Router R2 uses the source address of the IP
datagram carrying the RIP message from R1
(130.10.02) as the next hop address.
29Timer in RIP
- RIP uses 3 timers. The periodic timer controls
the sending of messages, the expiration timer
governs the validity of a route, and the garbage
collection timer advertises the failure of a route
30Periodic Timer
- The periodic timer controls the advertising of
regular update messages - The working model uses a random number between 25
and 30 s - This is to prevent any possible synchronization
and therefore overload on an internet if routers
update simultaneously
31Expiration Timer
- The expiration timer governs the validity of a
route - When a router receives update information for a
route, the expiration timer is set to 180 s for
that particular route - Every time a new update for the route is
received, the timer is reset - If the timer is expired, the hop count of the
route is set to 16, which means the destination
is unreachable
32Garbage Collection Timer
- When the information about a route becomes
invalid, the router does not immediately purge
that route from its table - Instead, it continues to advertise the route with
a metric value of 16 - At the same time, the garbage collection timer is
set to 120 s for that route - When the count reaches zero, the route is purged
from the table
33Example 3
A routing table has 20 entries. It does not
receive information about five routes for 200 s.
How many timers are running at this time?
SolutionThe 21 timers are listed below
Periodic timer 1 Expiration timer 20 - 5
15 Garbage collection timer 5
34RIP Version 2
- RIP version 2 was designed to overcome some of
the shortcomings of version 1 - The designers of version 2 have not augmented the
length of the message for each entry - They have only replaced those fields in version 1
that were filled with 0s for the TCP/IP protocol
with some new fields
35Message Format
16
8
24
31
AS NUMBER
VERSION (2)
COMMAND (1-5)
AUTHENTICATION TYPE
FFFF
AUTHENTICATION HEADER
MUST BE ZERO
FAMILY OF NET 1
ADDRESS OF NET 1
MASK
NEXT HOP
DISTANCE TO NET 1
- Route tag. This field carries information such as
the autonomous system number. It can be used to
enable RIP to receive information from an
interdomain routing protocol - Subnet mask. This is a 4-byte field that carries
the subnet mask. This means that RIP2 supports
classless addressing and CIDR - Next-hop address. If the sending router want to
specify another router IP address to be the next
hop router.