RIP

There are 3 versions of Routing information Protocol or RIP:

RIPv1: does not support VLSM or CIDR (only classful!) or IPv4 and broadcasts messages to 255.255.255.255. It is a relic and there is no good reason to use it.

RIPv2: supports VLSM and CIDR but not IPv6. If you use IPv4 and have to use RIP, this is the one.

RIPv3 or RIPng (RIP next generation): adds IPv6 support.

RIP uses two kinds of messages:

Request: to ask neighbours for routes

Response: to send local routes to neighbours

By default those messages will be sent every 30 seconds to multicast address 224.0.0.9 (version 2) or 224.0.0.10 (RIPng).

Configuring RIPv2 is easy as pie:

R1(config)# router rip
R1(config-router)# version 2
R1(config-router)# no auto-summary
R1(config-router)# network 10.5.3.0
R1(config-router)# network 192.168.2.0
R1(config-router)# passive-interface gi 2/0
R1(config-router)# default-information originate

First we enable RIP and choose version 2. Then we disable “auto-summary” so that routes are classless! We want the netmasks for local routes to be shared appropriately with neighbours. Next we specify the network ranges of the interfaces whose routes we want to share. We can use networks (e.g. 10.0.0.0) or specific IPs (e.g. 10.5.3.1). As long as the right interfaces are added to RIP, we are good. Let me stress two things:

1. This “network” command just specifies the interfaces whose routes we want to share. It DOES NOT share those IPs/network routes per se.

2. This “network” command is “classless” even if we are using version 2 with “no auto-summary“. So executing “network 10.0.0.0” will have the exact same effect as “network 10.5.3.0” as 10.0.0.0 is a class A network and it will be understood as such. However and as long as we are using version 2 with “no auto-summary”, the routes will be classless and their netmasks respected.

Any interface that where RIP is enabled will send Request/Response messages to its neighbours. In many cases that might be unwise or unnecessary. With the “passive-interface” command we will stop route sharing in the given interface.

Finally, with the “default-information originate” we are telling RIP that we want to share the local default gateway with the rest of routers so that they can also reach outside networks.

To check what routing protocol we are using and its settings we use:

R1# show ip protocols
*** IP Routing is NSF aware ***
.
Routing Protocol is “rip”
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Sending updates every 30 seconds, next due in 28 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Redistributing: rip
Default version control: send version 2, receive version 2
..Interface __________ Send ___ Recv ___ Triggered RIP ___ Key-chain
..GigabitEthernet0/0 ____ 4 ______ 4
..GigabitEthernet1/0 ____ 4 ______ 4
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
..10.0.0.0
..192.168.0.0
Passive Interface(s):
..GigabitEthernet2/0
Routing information Sources:
..Gateway ….. Distance ….. Last Update
..10.5.3.2 …….._…. 120 ….. 00:00:22
..192.168.2.2 __. 120 __ 00:00:21
Distance: (default is 120)

Most of the information shown by the command should be understood by now: interfaces where RIP is enabled, message interval, passive interfaces, administrative distance, route auto-summarization disabled, etc.

The maximum number of paths RIP will use for any given route is 4 by default but we can change it:

R1(config-router)# maximum-paths 6

The “Routing Information Sources” are the neighbours the local router is connected to and sharing routes with.

The default Administrative Distance can also be changed:

R1(config-router)# distance 150

Previous : Dynamic routing protocols           Next : EIGRP