The RIP protocol is one of the oldest routing protocols and is rarely used.
However, it is interesting to talk about it in order to fully understand the principle of dynamic routing.
What can be said about the RIP dynamic routing protocol:
RIP – Routing Information Protocol:
- Available in three versions:
v RIPv1 (Classful)
– RIPv2 (Classless)
v RIPng (IPv6)
- Standardized protocol
- IGP Protocol
- Use the "Distance Vector" (Metric) (Maximum 15 jumps)
- Sending its ENTIER routing table to its "neighboors" using:
- Send your routing table to your neighboors periodically (every 30 seconds).
Introducing and setting up
RIPv1 / RIPv2
The router rip command activates the protocol.
By default, the latter is in version 1. To activate the RIPv2, just tell it with the command version 2.
The network command allows:
– to look for new neighboors on this network
– to declare this network to our neighboors
All of our networks use C-Class networks.
We must therefore specify all our networks in /24
All our networks are on a Class A address.
R2 is connected to 3 networks:
– 10.0.2.0 /24
– 10.0.20.0 /24
These 3 networks are therefore Classless networks of the 10.0.0.0/8 network
R2 (config) - router rip R2 (config-router) - network 10.0.0.0
The network command allows R2 to announce to the other RIP router the Class A 10.0.0.0/8 network.
R2 will tell all its neighbors that it owns the 10.0.0.0/8 network
R1 and R3 have the same configuration, they will also tell all their neighbors that they own the 10.0.0.0/8 network
Our RIP routing will therefore be unusable since everyone announces the same network.
R2 (config) - router rip R2 (config-router) - version 2 R2 (config-router) - network 10.0.0.0
The network command allows R2 to announce to other RIP routers all networks included in the Class A 10.0.0.0/8 network.
R2 has 3 Classless networks in the 10.0.0.0/8 network.
R2 will tell all its neighbors that it only owns the 10.0.2.0/24, 10.0.10.0/24 and 10.0.20.0/24 networks
R1 (config) - router rip R1 (config-router) - version 2 R1 (config-router) - network 10.0.0.0
R1 (config) - ipv6 unicast-routing! Enable IPv6 routing R1 (config) - ipv6 router rip Finger! Activate the RIPng proccessus R1 (config-rtr)#exit R1 (config) - FastEthernet0/0 interface! Activate riPng on our interfaces R1 (config-if) ipv6 address 2012::1/64 R1 (config-if) - ipv6 rip Finger enable R1 (config-if) R1 (config) - FastEthernet0/1 interface! Activate riPng on our interfaces R1 (config-if) ipv6 address 2013::1/64 R1 (config-if) - ipv6 rip Finger enable R1 (config-if)
C – Connected
R – Learned by RIP
[120/1] = [Distance Administrative / Metric]
Our routers will therefore expect to receive news every 30 seconds from their neighbors. If they don't get anything, several timers will activate:
– frequency of sending updates
– 30 seconds by default
– considers the invalid route at the end of X seconds and places it in Hold Down mode
– 180 seconds by default
– ignorer updates for this network (unless this update has a lower Metric)
– 180 seconds by default
– removes the route from the routing table
– 240 seconds by default
R1 (config-router) - basic timers [update] [Invalid] [Hold Down] [Flush] ! What gives us: R1 (config)#router rip R1 (config-router) - timers basic 30 180 180 240
In the event of a breakdown
Reaction in the event of a breakdown
Basically, we have our RIP bubble polished!
How do we make up for that?
Problem: Why does R2 tell R3 about a network that it is directly connected to it? It's useless and it's crazy!
Solution: See the article on the Split horizon.
Problem: R3 could have told others that he had lost a network that was directly connected to him!
Solution: See article on the Poisoning Route.
! See the entire routing table RIPv2 - R1 - show ip route RIPng - R1 - show ipv6 road ! See only the RIP routes of the routing table RIPv2 - R1 - show ip road rip RIPng - R1 show ipv6 road rip ! See a specific road RIPv2 - R1 - show ip route [subnet] [mask] RIPng - R1 - show ipv6 road [prefix] [length] ! View interfaces that participate in RIP RIPv2 - R1 - show ip protocols RIPng - R1 show ipv6 rip ! View RIP timers RIPv2 - R1 - show ip protocols RIPng - R1 show ipv6 rip next-hops ! View list of RIP sources of information RIPv2 - R1 - show ip protocols RIPng - R1 show ipv6 road rip ! Debug RIPv2 - R1 - debug ip rip RIPng - R1 - debug ipv6 rip
RIPv1 vs RIPv2 vs. RIPng
– Send its routing table in unicast.
– No authentication.
– No automatic update.
– Send its multicast routing table.
– Authentication in Plain-text or MD5 (Not secure).
– Automatic update in case of a topology change.
– Authentication in Plain-text or MD5.
The RIP routing protocol is only to be used if you have no other choice.
If you don't have any other options, use the RIP protocol in version 2!!
Hoping this article has been helpful to you!
Don't hesitate to let me know!!