Used with IPv4
- Updates as broadcast
- Updates as multicast 18.104.22.168
- RFC 2453
- Distance vector protocol - Uses split-horizon, poison reverse and count to infinity.
- UDP 520 for transport
- Max hop count of 16
- Supports third party next-hop
In general, split horizon with poisoned reverse is safer than simple split horizon. If two routers have routes pointing at each other, advertising reverse routes with a metric of 16 will break the loop immediately. If the reverse routes are simply not advertised, the erroneous routes will have to be eliminated by waiting for a timeout. However, poisoned reverse does have a disadvantage: it increases the size of the routing messages.
- how often to send updates in seconds (default 30 seconds)
- how many seconds, since seeing a valid update, to consider the route invalid, and placing the route into hold down (default 180 seconds)
- how long (in seconds) to “not believe” any equal or less impressive (worse) route updates for routes that are in hold down (default 180 seconds)
- how many seconds, since the last valid update, until we throw that route in the trash (garbage collection | default 240 seconds)
- Filtering Updates
- Passive Interfaces
- Distribute Lists
- Offset Lists
- Administrative Distance
- Update Types
- Unicast (use the neighbor command)
Below, is a basic configuration to start the RIP process and enable the interface process.
!enable global process router rip ! !enables the interface process network [address] ! !enables v2 version 2 ! !disables classful summarization (v2 only) no auto-summary
You can manually configure an interface to run just v1/v2 or BOTH v1 and v2 at the same time.
interface gig1/1 !the following will configure gig1/1 to send RIPv1 AND RIPv2 packets. ip rip receive version 1 2 ip rip send version 1 2
You can manually summarize your NLRI with the ip summary-address rip [network] [mask] command. Note, in some IOS versions, if split-horizon is enabled, neither autosummary nor interface summary addresses are advertised.
interface gig0/1 ip summary-address rip 10.55.0.0 255.255.0.0
You can change the update, invalid, holddown and flush timers with the command timers basic [update] [invalid] [holddown] [flush] under the RIP process. If you configure your holddown or invalid timer less than your update timer, you can "break" RIP because you're removing the route before you can send an update (there's a good example of exactly that here).
!the following will set: !update to 10s !invalid to 40s !holddown to 50s !flush to 90s router rip timers basic 10 40 50 90
The following is the process to setup authentication.
key chain RIP key 1 key-string pasword123 interface gig1/1 ip rip authentication mode md5 ip rip authentication key-chain RIP
You can setup RIP to only send unicast updates with the passive interface and neighbor commands. In this example, a router will have a neighbor with the IP address 22.214.171.124 off of interface Gi2/3. We will disable broadcast/multicast updates on Gi2/3 but still allow unicast updates to be sent. NOTE: configuring an interface as passive will only disable the router from sending updates on an interface, the router will still be able to receive updates.
router rip passive-interface gi2/3 neighbor 126.96.36.199
Used with IPv6
- RFC 2080
- Very similar in operation to RIPv1/2
- UDP 521 multicast (FF02::9) for transport
With RIPng, you need to enable it on the interface level with the ipv6 rip [process] enable command. This will turn the global process on.
ipv6 unicast-routing interface gig4/4 ipv6 rip name1 enable