π§ Lab 10.3: RIP - Routing Information Protocol (v1, v2 & RIPng)
Complete RIP Configuration: RIPv1, RIPv2, and RIPng for IPv6
Lab Description | Password Protected
Topics: RIP Version 1, RIP Version 2, RIPng (RIP next generation for IPv6), Classful vs Classless Routing, Authentication
Duration: 120-150 minutes | Difficulty Level: Intermediate | Lab Version: 1.0
CCNP Alignment: CCNP 350-401 (ENCOR) Topic 3.2 - Layer 3 Routing Protocols | CCNP 300-410 (ENARSI) Topic 2.1-2.3
π― Lab Objective
βΉοΈ Learning Objectives:
By the end of this lab, you will be able to:
β’ Understand RIP fundamentals and distance-vector routing protocols
β’ Configure RIP Version 1 (classful routing protocol)
β’ Configure RIP Version 2 with classless routing and VLSM support
β’ Implement RIP authentication (MD5) for security
β’ Configure RIPng (RIP next generation) for IPv6 networks
β’ Compare and contrast RIPv1, RIPv2, and RIPng
β’ Troubleshoot RIP routing issues and verify convergence
β’ Understand RIP timers, metrics, and limitations
β’ Implement route summarization and passive interfaces
πΊοΈ Network Topology
Lab Topology Description:
This lab features a three-router topology (R1, R2, R3) connected in series. The design allows you to observe RIP behavior across multiple hops, understand routing updates, and test various RIP features including version differences, authentication, and IPv6 support.
π Physical Cable Connections:
β’ R1 GigabitEthernet0/0 β R2 GigabitEthernet0/0 (Link 1)
β’ R2 GigabitEthernet0/1 β R3 GigabitEthernet0/1 (Link 2)
Topology Characteristics:
β’ Serial topology (R1 -- R2 -- R3)
β’ Each router has loopback interfaces for testing
β’ Demonstrates multi-hop RIP behavior
β’ Supports both IPv4 (RIPv1/v2) and IPv6 (RIPng) configuration
π IPv4 Address Allocation Table
Network Addressing Scheme:
| Device |
Interface |
IPv4 Address |
Subnet Mask |
Description |
| R1 |
GigabitEthernet0/0 |
10.1.12.1 |
255.255.255.0 |
Link to R2 |
| R1 |
Loopback0 |
10.1.1.1 |
255.255.255.0 |
R1 LAN Network |
| R1 |
Loopback1 |
10.1.11.1 |
255.255.255.0 |
R1 Additional Network |
| R2 |
GigabitEthernet0/0 |
10.1.12.2 |
255.255.255.0 |
Link to R1 |
| R2 |
GigabitEthernet0/1 |
10.2.23.2 |
255.255.255.0 |
Link to R3 |
| R2 |
Loopback0 |
10.2.2.2 |
255.255.255.0 |
R2 LAN Network |
| R3 |
GigabitEthernet0/1 |
10.2.23.3 |
255.255.255.0 |
Link to R2 |
| R3 |
Loopback0 |
10.3.3.3 |
255.255.255.0 |
R3 LAN Network |
| R3 |
Loopback1 |
10.3.33.3 |
255.255.255.0 |
R3 Additional Network |
π IPv6 Address Allocation Table (for RIPng)
| Device |
Interface |
IPv6 Address |
Prefix |
Description |
| R1 |
GigabitEthernet0/0 |
2001:DB8:12::1 |
/64 |
Link to R2 |
| R1 |
Loopback0 |
2001:DB8:1::1 |
/64 |
R1 LAN Network |
| R2 |
GigabitEthernet0/0 |
2001:DB8:12::2 |
/64 |
Link to R1 |
| R2 |
GigabitEthernet0/1 |
2001:DB8:23::2 |
/64 |
Link to R3 |
| R2 |
Loopback0 |
2001:DB8:2::2 |
/64 |
R2 LAN Network |
| R3 |
GigabitEthernet0/1 |
2001:DB8:23::3 |
/64 |
Link to R2 |
| R3 |
Loopback0 |
2001:DB8:3::3 |
/64 |
R3 LAN Network |
π Lab Prerequisites
β οΈ Before Starting This Lab:
β Understanding of IP addressing and subnetting
β Knowledge of distance-vector routing protocol concepts
β Familiarity with Cisco IOS CLI and configuration modes
β Understanding of routing table operations
β Basic knowledge of IPv6 addressing (for RIPng section)
β Access to Cisco routers (physical or GNS3/EVE-NG/Packet Tracer)
β Console or SSH access to all devices
β All devices should be in clean configuration state
π Lab Scenario
Business Context:
Your organization is running a small branch network with three routers. The network team has decided to implement RIP as the interior gateway protocol (IGP). You are tasked with:
- Implementing RIPv1 to understand classful routing behavior
- Migrating to RIPv2 for classless routing and VLSM support
- Securing RIP updates with MD5 authentication
- Deploying RIPng for IPv6 network connectivity
- Optimizing RIP with passive interfaces and summarization
- Documenting the differences between RIP versions
π Understanding RIP - Theory Overview
What is RIP (Routing Information Protocol)?
RIP is one of the oldest distance-vector routing protocols, defined in RFC 1058 (RIPv1) and RFC 2453 (RIPv2). It uses hop count as its metric and is limited to 15 hops maximum.
| Feature |
RIPv1 |
RIPv2 |
RIPng |
| RFC |
RFC 1058 |
RFC 2453 |
RFC 2080 |
| Classful/Classless |
Classful |
Classless |
Classless |
| VLSM Support |
No |
Yes |
Yes |
| Subnet Mask |
Not sent |
Sent with updates |
IPv6 prefix |
| Authentication |
No |
Yes (Plain/MD5) |
IPsec |
| Update Method |
Broadcast |
Multicast (224.0.0.9) |
Multicast (FF02::9) |
| Protocol |
IPv4 |
IPv4 |
IPv6 |
| Max Hop Count |
15 |
15 |
15 |
| Administrative Distance |
120 |
120 |
120 |
| Update Timer |
30 seconds |
30 seconds |
30 seconds |
RIP Timers
- Update Timer (30 seconds): How often routing updates are sent
- Invalid Timer (180 seconds): How long to wait before declaring a route invalid
- Holddown Timer (180 seconds): How long to wait before accepting new information about a route
- Flush Timer (240 seconds): How long before a route is removed from the routing table
β οΈ RIP Limitations:
β’ Maximum 15 hops (16 is unreachable)
β’ Slow convergence compared to modern protocols
β’ Uses full routing table updates (not incremental)
β’ High bandwidth consumption on large networks
β’ No support for equal-cost load balancing beyond 4 paths
β’ Not suitable for large enterprise networks
βοΈ Configuration Tasks
π Task 1: Basic IPv4 Interface Configuration
Objective: Configure IPv4 addresses on all router interfaces and verify connectivity.
Step 1.1: Configure R1 Interfaces
! === R1 IPv4 Interface Configuration ===
Router> enable
Router# configure terminal
Router(config)# hostname R1
R1(config)#
! Configure interface to R2
R1(config)# interface GigabitEthernet0/0
R1(config-if)# description ** Link to R2 **
R1(config-if)# ip address 10.1.12.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
! Configure Loopback interfaces
R1(config)# interface Loopback0
R1(config-if)# description ** R1 LAN Network **
R1(config-if)# ip address 10.1.1.1 255.255.255.0
R1(config-if)# exit
R1(config)# interface Loopback1
R1(config-if)# description ** R1 Additional Network **
R1(config-if)# ip address 10.1.11.1 255.255.255.0
R1(config-if)# exit
R1(config)# end
R1# write memory
Step 1.2: Configure R2 Interfaces
! === R2 IPv4 Interface Configuration ===
Router> enable
Router# configure terminal
Router(config)# hostname R2
R2(config)#
! Configure interface to R1
R2(config)# interface GigabitEthernet0/0
R2(config-if)# description ** Link to R1 **
R2(config-if)# ip address 10.1.12.2 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# exit
! Configure interface to R3
R2(config)# interface GigabitEthernet0/1
R2(config-if)# description ** Link to R3 **
R2(config-if)# ip address 10.2.23.2 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# exit
! Configure Loopback interface
R2(config)# interface Loopback0
R2(config-if)# description ** R2 LAN Network **
R2(config-if)# ip address 10.2.2.2 255.255.255.0
R2(config-if)# exit
R2(config)# end
R2# write memory
Step 1.3: Configure R3 Interfaces
! === R3 IPv4 Interface Configuration ===
Router> enable
Router# configure terminal
Router(config)# hostname R3
R3(config)#
! Configure interface to R2
R3(config)# interface GigabitEthernet0/1
R3(config-if)# description ** Link to R2 **
R3(config-if)# ip address 10.2.23.3 255.255.255.0
R3(config-if)# no shutdown
R3(config-if)# exit
! Configure Loopback interfaces
R3(config)# interface Loopback0
R3(config-if)# description ** R3 LAN Network **
R3(config-if)# ip address 10.3.3.3 255.255.255.0
R3(config-if)# exit
R3(config)# interface Loopback1
R3(config-if)# description ** R3 Additional Network **
R3(config-if)# ip address 10.3.33.3 255.255.255.0
R3(config-if)# exit
R3(config)# end
R3# write memory
Step 1.4: Verify IPv4 Connectivity
! On R1:
R1# show ip interface brief
R1# ping 10.1.12.2
! On R2:
R2# show ip interface brief
R2# ping 10.1.12.1
R2# ping 10.2.23.3
! On R3:
R3# show ip interface brief
R3# ping 10.2.23.2
β
Expected Result:
β’ All interfaces should be in "up/up" state
β’ Ping tests between directly connected routers should succeed
β’ R1 can ping R2, R2 can ping R1 and R3, R3 can ping R2
π Task 2: Configure RIP Version 1 (Classful Routing)
Objective: Implement RIPv1 and understand classful routing behavior.
βΉοΈ RIPv1 Characteristics:
β’ Classful routing protocol (does not send subnet masks)
β’ Uses broadcast (255.255.255.255) for updates
β’ No authentication support
β’ Automatic summarization at classful boundaries
β’ No VLSM support
Step 2.1: Configure RIPv1 on R1
! === R1 RIPv1 Configuration ===
R1# configure terminal
! Enable RIP routing process
R1(config)# router rip
! Advertise networks (use classful networks only)
R1(config-router)# network 10.0.0.0
R1(config-router)# exit
R1(config)# end
R1# write memory
Step 2.2: Configure RIPv1 on R2
! === R2 RIPv1 Configuration ===
R2# configure terminal
! Enable RIP routing process
R2(config)# router rip
! Advertise networks
R2(config-router)# network 10.0.0.0
R2(config-router)# exit
R2(config)# end
R2# write memory
Step 2.3: Configure RIPv1 on R3
! === R3 RIPv1 Configuration ===
R3# configure terminal
! Enable RIP routing process
R3(config)# router rip
! Advertise networks
R3(config-router)# network 10.0.0.0
R3(config-router)# exit
R3(config)# end
R3# write memory
β οΈ RIPv1 Important Note:
In RIPv1, you can only specify classful networks (Class A, B, or C). The "network 10.0.0.0" command advertises ALL interfaces in the 10.0.0.0/8 network. RIPv1 automatically summarizes at classful boundaries.
Step 2.4: Verify RIPv1 Configuration
! On all routers:
R1# show ip protocols
R1# show ip route
R1# show ip route rip
R1# show ip rip database
! Debug RIP updates (use carefully)
R1# debug ip rip
! Let it run for 30 seconds to see updates
R1# undebug all
β
Expected Result:
β’ RIP routing process should be active on all routers
β’ Routing tables should contain RIP-learned routes (marked with "R")
β’ All networks should be reachable
β’ show ip protocols should display "Routing Protocol is 'rip'" and "Sending updates every 30 seconds"
β’ Automatic summarization should be enabled
Step 2.5: Test RIPv1 Connectivity
! On R1 - Test end-to-end connectivity:
R1# ping 10.2.2.2
R1# ping 10.3.3.3
R1# ping 10.3.33.3
! On R3 - Test end-to-end connectivity:
R3# ping 10.1.1.1
R3# ping 10.1.11.1
R3# ping 10.2.2.2
! View routing table
R1# show ip route
π Task 3: Migrate to RIP Version 2 (Classless Routing)
Objective: Upgrade to RIPv2 for classless routing, VLSM support, and authentication capabilities.
βΉοΈ RIPv2 Improvements:
β’ Classless routing protocol (sends subnet masks)
β’ Uses multicast (224.0.0.9) instead of broadcast
β’ Supports authentication (plain text and MD5)
β’ Supports VLSM and CIDR
β’ Manual summarization capability
β’ Can disable auto-summarization
Step 3.1: Upgrade R1 to RIPv2
! === R1 RIPv2 Configuration ===
R1# configure terminal
! Enter RIP configuration mode
R1(config)# router rip
! Specify RIP version 2
R1(config-router)# version 2
! Disable automatic summarization (recommended)
R1(config-router)# no auto-summary
R1(config-router)# exit
R1(config)# end
R1# write memory
Step 3.2: Upgrade R2 to RIPv2
! === R2 RIPv2 Configuration ===
R2# configure terminal
R2(config)# router rip
R2(config-router)# version 2
R2(config-router)# no auto-summary
R2(config-router)# exit
R2(config)# end
R2# write memory
Step 3.3: Upgrade R3 to RIPv2
! === R3 RIPv2 Configuration ===
R3# configure terminal
R3(config)# router rip
R3(config-router)# version 2
R3(config-router)# no auto-summary
R3(config-router)# exit
R3(config)# end
R3# write memory
Step 3.4: Verify RIPv2 Configuration
! On all routers:
R1# show ip protocols
! Should show "Routing Protocol is 'rip'" and "Version 2"
R1# show ip route rip
! Routes should now include subnet masks
R1# show ip rip database
! Debug RIPv2 updates
R1# debug ip rip
! Observe multicast updates to 224.0.0.9
R1# undebug all
β
Expected Result:
β’ show ip protocols should display "Routing Protocol is 'rip'" with "Sending updates every 30 seconds, version 2"
β’ Automatic summarization should be disabled
β’ Updates should be sent to multicast address 224.0.0.9
β’ Subnet masks should be included in routing updates
β’ All networks remain reachable
π Task 4: Configure RIPv2 Authentication (MD5)
Objective: Secure RIP updates with MD5 authentication to prevent unauthorized routing updates.
βΉοΈ RIP Authentication:
RIPv2 supports two types of authentication:
β’ Plain text: Password sent in clear text (not secure)
β’ MD5: Password hashed with MD5 algorithm (recommended)
Authentication is configured per interface using key chains.
Step 4.1: Configure Authentication on R1
! === R1 RIPv2 MD5 Authentication ===
R1# configure terminal
! Create key chain
R1(config)# key chain RIP_KEY
R1(config-keychain)# key 1
R1(config-keychain-key)# key-string CCNP2026
R1(config-keychain-key)# exit
R1(config-keychain)# exit
! Apply authentication to interface
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip rip authentication mode md5
R1(config-if)# ip rip authentication key-chain RIP_KEY
R1(config-if)# exit
R1(config)# end
R1# write memory
Step 4.2: Configure Authentication on R2
! === R2 RIPv2 MD5 Authentication ===
R2# configure terminal
! Create key chain
R2(config)# key chain RIP_KEY
R2(config-keychain)# key 1
R2(config-keychain-key)# key-string CCNP2026
R2(config-keychain-key)# exit
R2(config-keychain)# exit
! Apply authentication to interfaces
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip rip authentication mode md5
R2(config-if)# ip rip authentication key-chain RIP_KEY
R2(config-if)# exit
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ip rip authentication mode md5
R2(config-if)# ip rip authentication key-chain RIP_KEY
R2(config-if)# exit
R2(config)# end
R2# write memory
Step 4.3: Configure Authentication on R3
! === R3 RIPv2 MD5 Authentication ===
R3# configure terminal
! Create key chain
R3(config)# key chain RIP_KEY
R3(config-keychain)# key 1
R3(config-keychain-key)# key-string CCNP2026
R3(config-keychain-key)# exit
R3(config-keychain)# exit
! Apply authentication to interface
R3(config)# interface GigabitEthernet0/1
R3(config-if)# ip rip authentication mode md5
R3(config-if)# ip rip authentication key-chain RIP_KEY
R3(config-if)# exit
R3(config)# end
R3# write memory
β οΈ Authentication Important Notes:
β’ Key chain names are case-sensitive
β’ Key-string (password) must match EXACTLY on both sides
β’ Key numbers must match
β’ If authentication fails, RIP adjacency will not form
β’ Authentication is configured per interface, not globally
Step 4.4: Verify Authentication
! On all routers:
! Verify key chain configuration
R1# show key chain
! Verify interface authentication
R1# show ip interface GigabitEthernet0/0 | include authentication
! Check RIP neighbors
R1# show ip protocols
! Verify routes are still present
R1# show ip route rip
! Test connectivity
R1# ping 10.3.3.3
β
Expected Result:
β’ Key chains should be configured on all routers
β’ show ip interface should display MD5 authentication enabled
β’ RIP routes should still be present in routing table
β’ All networks should remain reachable
β’ Authentication should be working (no adjacency issues)
Step 4.5: Test Authentication Failure
! On R1 - Temporarily change the password to test:
R1# configure terminal
R1(config)# key chain RIP_KEY
R1(config-keychain)# key 1
R1(config-keychain-key)# key-string WRONG_PASSWORD
R1(config-keychain-key)# end
! Wait 30 seconds for updates
! Check routing table
R1# show ip route rip
! Routes from R2 should disappear after invalid timer expires
! Restore correct password
R1# configure terminal
R1(config)# key chain RIP_KEY
R1(config-keychain)# key 1
R1(config-keychain-key)# key-string CCNP2026
R1(config-keychain-key)# end
! Routes should reappear
R1# show ip route rip
π Task 5: Configure Passive Interfaces
Objective: Optimize RIP by preventing unnecessary routing updates on interfaces where no RIP neighbors exist.
βΉοΈ Passive Interface:
A passive interface in RIP:
β’ Does NOT send RIP updates out the interface
β’ Still advertises the network to other RIP neighbors
β’ Still listens for incoming RIP updates (can receive)
β’ Reduces unnecessary traffic on LAN segments
β’ Improves security by not advertising routing protocol information
Step 5.1: Configure Passive Interfaces on R1
! === R1 Passive Interface Configuration ===
R1# configure terminal
R1(config)# router rip
! Make loopback interfaces passive (no RIP neighbors on LANs)
R1(config-router)# passive-interface Loopback0
R1(config-router)# passive-interface Loopback1
R1(config-router)# exit
R1(config)# end
R1# write memory
Step 5.2: Configure Passive Interfaces on R2
! === R2 Passive Interface Configuration ===
R2# configure terminal
R2(config)# router rip
R2(config-router)# passive-interface Loopback0
R2(config-router)# exit
R2(config)# end
R2# write memory
Step 5.3: Configure Passive Interfaces on R3
! === R3 Passive Interface Configuration ===
R3# configure terminal
R3(config)# router rip
R3(config-router)# passive-interface Loopback0
R3(config-router)# passive-interface Loopback1
R3(config-router)# exit
R3(config)# end
R3# write memory
Step 5.4: Verify Passive Interface Configuration
! On all routers:
R1# show ip protocols
! Should list passive interfaces
R1# show ip protocols | section Passive
! Verify routes are still present
R1# show ip route rip
β
Expected Result:
β’ show ip protocols should list passive interfaces
β’ Loopback networks should still appear in routing tables
β’ No RIP updates sent out loopback interfaces
β’ All inter-router connectivity remains functional
π‘ Passive Interface Alternative:
You can also use "passive-interface default" to make all interfaces passive by default, then explicitly enable RIP on specific interfaces:
router rip
passive-interface default
no passive-interface GigabitEthernet0/0
This is more secure and prevents accidental RIP advertisements.
π Task 6: Configure RIPng for IPv6
Objective: Implement RIPng (RIP next generation) for IPv6 routing.
βΉοΈ RIPng Key Differences:
β’ Configured per-interface (not globally)
β’ Uses IPv6 multicast address FF02::9
β’ No network statements required
β’ Uses UDP port 521
β’ Authentication via IPsec (not key chains)
Step 6.1: Enable IPv6 and Configure Addresses on R1
! === R1 IPv6 Configuration ===
R1# configure terminal
! Enable IPv6 routing
R1(config)# ipv6 unicast-routing
! Configure IPv6 addresses
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ipv6 address 2001:DB8:12::1/64
R1(config-if)# exit
R1(config)# interface Loopback0
R1(config-if)# ipv6 address 2001:DB8:1::1/64
R1(config-if)# exit
R1(config)# end
R1# write memory
Step 6.2: Enable IPv6 and Configure Addresses on R2
! === R2 IPv6 Configuration ===
R2# configure terminal
! Enable IPv6 routing
R2(config)# ipv6 unicast-routing
! Configure IPv6 addresses
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ipv6 address 2001:DB8:12::2/64
R2(config-if)# exit
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ipv6 address 2001:DB8:23::2/64
R2(config-if)# exit
R2(config)# interface Loopback0
R2(config-if)# ipv6 address 2001:DB8:2::2/64
R2(config-if)# exit
R2(config)# end
R2# write memory
Step 6.3: Enable IPv6 and Configure Addresses on R3
! === R3 IPv6 Configuration ===
R3# configure terminal
! Enable IPv6 routing
R3(config)# ipv6 unicast-routing
! Configure IPv6 addresses
R3(config)# interface GigabitEthernet0/1
R3(config-if)# ipv6 address 2001:DB8:23::3/64
R3(config-if)# exit
R3(config)# interface Loopback0
R3(config-if)# ipv6 address 2001:DB8:3::3/64
R3(config-if)# exit
R3(config)# end
R3# write memory
Step 6.4: Configure RIPng on R1
! === R1 RIPng Configuration ===
R1# configure terminal
! Create RIPng process (name it CCNP_RIPng)
R1(config)# ipv6 router rip CCNP_RIPng
R1(config-rtr)# exit
! Enable RIPng on interfaces
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ipv6 rip CCNP_RIPng enable
R1(config-if)# exit
R1(config)# interface Loopback0
R1(config-if)# ipv6 rip CCNP_RIPng enable
R1(config-if)# exit
R1(config)# end
R1# write memory
Step 6.5: Configure RIPng on R2
! === R2 RIPng Configuration ===
R2# configure terminal
! Create RIPng process
R2(config)# ipv6 router rip CCNP_RIPng
R2(config-rtr)# exit
! Enable RIPng on interfaces
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ipv6 rip CCNP_RIPng enable
R2(config-if)# exit
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ipv6 rip CCNP_RIPng enable
R2(config-if)# exit
R2(config)# interface Loopback0
R2(config-if)# ipv6 rip CCNP_RIPng enable
R2(config-if)# exit
R2(config)# end
R2# write memory
Step 6.6: Configure RIPng on R3
! === R3 RIPng Configuration ===
R3# configure terminal
! Create RIPng process
R3(config)# ipv6 router rip CCNP_RIPng
R3(config-rtr)# exit
! Enable RIPng on interfaces
R3(config)# interface GigabitEthernet0/1
R3(config-if)# ipv6 rip CCNP_RIPng enable
R3(config-if)# exit
R3(config)# interface Loopback0
R3(config-if)# ipv6 rip CCNP_RIPng enable
R3(config-if)# exit
R3(config)# end
R3# write memory
Step 6.7: Verify RIPng Configuration
! On all routers:
! Check IPv6 routing table
R1# show ipv6 route
R1# show ipv6 route rip
! Check RIPng process
R1# show ipv6 protocols
! Check RIPng database
R1# show ipv6 rip
R1# show ipv6 rip database
! Verify IPv6 connectivity
R1# ping ipv6 2001:DB8:3::3
R1# traceroute ipv6 2001:DB8:3::3
β
Expected Result:
β’ IPv6 routing should be enabled on all routers
β’ RIPng process should be running
β’ IPv6 routes learned via RIPng should appear in routing table (marked with "R")
β’ IPv6 connectivity should work end-to-end
β’ show ipv6 protocols should display RIPng information
β
Verification Checklist
- β Step 1: All IPv4 interfaces are configured and in "up/up" state
- β Step 2: Direct IPv4 connectivity between adjacent routers works
- β Step 3: RIP routing process is enabled on all routers
- β Step 4: RIPv2 is configured and running (show ip protocols)
- β Step 5: Auto-summarization is disabled (no auto-summary)
- β Step 6: All networks are advertised in RIP
- β Step 7: RIP routes appear in routing table on all routers
- β Step 8: MD5 authentication is configured on all interfaces
- β Step 9: Key chains are correctly configured with matching passwords
- β Step 10: Passive interfaces are configured on loopback interfaces
- β Step 11: End-to-end IPv4 connectivity works (ping tests)
- β Step 12: IPv6 unicast routing is enabled on all routers
- β Step 13: All IPv6 interfaces are configured with addresses
- β Step 14: RIPng process is created on all routers
- β Step 15: RIPng is enabled on appropriate interfaces
- β Step 16: IPv6 RIP routes appear in routing table
- β Step 17: End-to-end IPv6 connectivity works
- β Step 18: Configuration is saved on all routers (write memory)
π Complete Configuration Reference
R1 - Complete Final Configuration
!
! R1 Complete Configuration - RIPv2 and RIPng
!
hostname R1
!
! Enable IPv6 routing
ipv6 unicast-routing
!
! === Interface Configuration ===
!
interface Loopback0
description ** R1 LAN Network **
ip address 10.1.1.1 255.255.255.0
ipv6 address 2001:DB8:1::1/64
ipv6 rip CCNP_RIPng enable
!
interface Loopback1
description ** R1 Additional Network **
ip address 10.1.11.1 255.255.255.0
!
interface GigabitEthernet0/0
description ** Link to R2 **
ip address 10.1.12.1 255.255.255.0
ip rip authentication mode md5
ip rip authentication key-chain RIP_KEY
ipv6 address 2001:DB8:12::1/64
ipv6 rip CCNP_RIPng enable
no shutdown
!
! === RIPv2 Configuration ===
!
router rip
version 2
network 10.0.0.0
no auto-summary
passive-interface Loopback0
passive-interface Loopback1
!
! === RIPng Configuration ===
!
ipv6 router rip CCNP_RIPng
!
! === Key Chain for Authentication ===
!
key chain RIP_KEY
key 1
key-string CCNP2026
!
end
R2 - Complete Final Configuration
!
! R2 Complete Configuration - RIPv2 and RIPng
!
hostname R2
!
! Enable IPv6 routing
ipv6 unicast-routing
!
! === Interface Configuration ===
!
interface Loopback0
description ** R2 LAN Network **
ip address 10.2.2.2 255.255.255.0
ipv6 address 2001:DB8:2::2/64
ipv6 rip CCNP_RIPng enable
!
interface GigabitEthernet0/0
description ** Link to R1 **
ip address 10.1.12.2 255.255.255.0
ip rip authentication mode md5
ip rip authentication key-chain RIP_KEY
ipv6 address 2001:DB8:12::2/64
ipv6 rip CCNP_RIPng enable
no shutdown
!
interface GigabitEthernet0/1
description ** Link to R3 **
ip address 10.2.23.2 255.255.255.0
ip rip authentication mode md5
ip rip authentication key-chain RIP_KEY
ipv6 address 2001:DB8:23::2/64
ipv6 rip CCNP_RIPng enable
no shutdown
!
! === RIPv2 Configuration ===
!
router rip
version 2
network 10.0.0.0
no auto-summary
passive-interface Loopback0
!
! === RIPng Configuration ===
!
ipv6 router rip CCNP_RIPng
!
! === Key Chain for Authentication ===
!
key chain RIP_KEY
key 1
key-string CCNP2026
!
end
R3 - Complete Final Configuration
!
! R3 Complete Configuration - RIPv2 and RIPng
!
hostname R3
!
! Enable IPv6 routing
ipv6 unicast-routing
!
! === Interface Configuration ===
!
interface Loopback0
description ** R3 LAN Network **
ip address 10.3.3.3 255.255.255.0
ipv6 address 2001:DB8:3::3/64
ipv6 rip CCNP_RIPng enable
!
interface Loopback1
description ** R3 Additional Network **
ip address 10.3.33.3 255.255.255.0
!
interface GigabitEthernet0/1
description ** Link to R2 **
ip address 10.2.23.3 255.255.255.0
ip rip authentication mode md5
ip rip authentication key-chain RIP_KEY
ipv6 address 2001:DB8:23::3/64
ipv6 rip CCNP_RIPng enable
no shutdown
!
! === RIPv2 Configuration ===
!
router rip
version 2
network 10.0.0.0
no auto-summary
passive-interface Loopback0
passive-interface Loopback1
!
! === RIPng Configuration ===
!
ipv6 router rip CCNP_RIPng
!
! === Key Chain for Authentication ===
!
key chain RIP_KEY
key 1
key-string CCNP2026
!
end
π Verification Commands Reference
RIP General Verification:
show ip protocols
show ip route
show ip route rip
show ip rip database
show running-config | section router rip
RIP Neighbor and Interface Verification:
show ip interface brief
show ip interface GigabitEthernet0/0
show key chain
RIPng (IPv6) Verification:
show ipv6 protocols
show ipv6 route
show ipv6 route rip
show ipv6 rip
show ipv6 rip database
show ipv6 interface brief
RIP Debugging:
debug ip rip
debug ip rip events
debug ipv6 rip
undebug all
Connectivity Testing:
ping 10.3.3.3
ping 10.3.3.3 source 10.1.1.1
traceroute 10.3.3.3
ping ipv6 2001:DB8:3::3
traceroute ipv6 2001:DB8:3::3
π§ Comprehensive Troubleshooting Guide
β Problem 1: RIP Adjacency Not Forming
Symptoms:
- No RIP routes in routing table
- show ip route rip shows no routes
- No RIP updates being received
Troubleshooting Steps:
! Step 1: Verify RIP is enabled
R1# show ip protocols
! Should show "Routing Protocol is 'rip'"
! Step 2: Verify network statements
R1# show running-config | section router rip
! Step 3: Verify interface status
R1# show ip interface brief
! Step 4: Check if updates are being sent/received
R1# debug ip rip
! Wait for 30 seconds
R1# undebug all
! Step 5: Verify RIP version matches
R1# show ip protocols | include version
Common Causes:
- RIP not enabled on router
- Network statement missing or incorrect
- Interface is down
- Version mismatch (RIPv1 vs RIPv2)
- Passive interface configured on wrong interface
Solution:
! Enable RIP
R1(config)# router rip
R1(config-router)# version 2
R1(config-router)# network 10.0.0.0
R1(config-router)# no auto-summary
β Problem 2: Authentication Failure
Symptoms:
- RIP routes disappear after configuring authentication
- Routes from specific neighbors missing
- show ip protocols shows authentication enabled but no routes
Troubleshooting Steps:
! Step 1: Verify key chain configuration
R1# show key chain
! Step 2: Verify interface authentication
R1# show running-config interface GigabitEthernet0/0
! Step 3: Check for authentication errors
R1# debug ip rip
! Look for "invalid authentication" messages
R1# undebug all
! Step 4: Verify key-string matches on both sides
! Check on R1 and R2
Common Causes:
- Key-string mismatch (case-sensitive)
- Key number mismatch
- Key chain name mismatch
- Authentication only configured on one side
- Wrong authentication mode (text vs MD5)
Solution:
! Verify both sides have identical configuration
R1# show key chain
R2# show key chain
! Reconfigure if needed
R1(config)# key chain RIP_KEY
R1(config-keychain)# key 1
R1(config-keychain-key)# key-string CCNP2026
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip rip authentication mode md5
R1(config-if)# ip rip authentication key-chain RIP_KEY
β Problem 3: Routes Not Appearing in Routing Table
Symptoms:
- RIP is running but specific routes are missing
- show ip rip database shows routes but not in routing table
- Connectivity to some networks fails
Troubleshooting Steps:
! Step 1: Check RIP database
R1# show ip rip database
! Routes should appear here even if not in routing table
! Step 2: Check routing table
R1# show ip route
! Step 3: Check for better routes from other protocols
R1# show ip route [network]
! Step 4: Verify auto-summary is disabled
R1# show ip protocols | include auto
! Step 5: Check maximum paths
R1# show ip protocols | include Maximum
Common Causes:
- Better route from another protocol (lower AD)
- Auto-summarization causing issues
- Passive interface on wrong interface
- Network not advertised
- Split horizon preventing route advertisement
Solution:
! Disable auto-summary
R1(config)# router rip
R1(config-router)# no auto-summary
! Verify network statements
R1(config-router)# network 10.0.0.0
! Check for passive interfaces
R1# show ip protocols | section Passive
β Problem 4: RIPng Not Working (IPv6)
Symptoms:
- No IPv6 RIP routes in routing table
- show ipv6 route rip shows nothing
- IPv6 connectivity fails between routers
Troubleshooting Steps:
! Step 1: Verify IPv6 routing is enabled
R1# show ipv6 interface brief
! Step 2: Verify RIPng process exists
R1# show ipv6 protocols
! Step 3: Verify RIPng is enabled on interfaces
R1# show ipv6 interface GigabitEthernet0/0 | include RIP
! Step 4: Check RIPng database
R1# show ipv6 rip database
! Step 5: Debug RIPng
R1# debug ipv6 rip
R1# undebug all
Common Causes:
- IPv6 unicast-routing not enabled
- RIPng process not created
- RIPng not enabled on interfaces
- Process name mismatch
- Link-local addresses not generated
Solution:
! Enable IPv6 routing
R1(config)# ipv6 unicast-routing
! Create RIPng process
R1(config)# ipv6 router rip CCNP_RIPng
! Enable RIPng on interfaces
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ipv6 rip CCNP_RIPng enable
β Problem 5: Slow Convergence
Symptoms:
- Routes take long time to appear after link comes up
- Routes take long time to be removed after link failure
- Network downtime during convergence
Understanding:
RIP has inherently slow convergence due to its periodic update mechanism (30-second updates) and timers.
! Check RIP timers
R1# show ip protocols | include timer
! Default timers:
! Update: 30 seconds
! Invalid: 180 seconds
! Holddown: 180 seconds
! Flush: 240 seconds
Solution (Optional - Adjust Timers):
! Adjust RIP timers (use with caution)
R1(config)# router rip
R1(config-router)# timers basic 10 60 60 80
! Format: update invalid holddown flush
! Must be configured on ALL routers
β οΈ Timer Tuning Warning:
β’ Aggressive timers increase CPU and bandwidth usage
β’ All routers must use the same timers
β’ Not recommended for production without thorough testing
β’ Consider using a modern protocol (EIGRP, OSPF) for faster convergence
π Key Learning Points
1. RIP Version Comparison
When to Use Each Version:
- RIPv1: Legacy networks only, classful routing required
- RIPv2: Small to medium networks, VLSM needed, authentication required
- RIPng: IPv6 networks, simple configuration
2. RIP Best Practices
- Always use RIPv2 over RIPv1 (unless legacy requirement)
- Disable auto-summarization with "no auto-summary"
- Configure passive interfaces on LAN segments
- Use MD5 authentication for security
- Limit RIP to small networks (max 15 hops)
- Consider modern protocols for larger deployments
3. RIP Limitations
- Maximum 15 hops (16 = unreachable)
- Slow convergence (update timer = 30 seconds)
- Hop count is the only metric (doesn't consider bandwidth)
- Sends full routing table every 30 seconds
- High bandwidth consumption
- No support for traffic engineering
4. Administrative Distance
| Protocol |
AD Value |
Preference |
| Connected |
0 |
Highest |
| Static |
1 |
Very High |
| EIGRP |
90 |
High |
| OSPF |
110 |
Medium |
| RIP |
120 |
Low |
RIP has the highest AD among common IGPs, making it the least preferred when multiple protocols are running.
π Lab Summary
What You Accomplished:
β
Completed Configuration Tasks:
- Configured IPv4 addresses on all router interfaces
- Implemented RIPv1 (classful routing)
- Migrated to RIPv2 (classless routing with VLSM)
- Configured MD5 authentication for RIPv2
- Implemented passive interfaces for optimization
- Configured IPv6 addresses and routing
- Deployed RIPng for IPv6 networks
- Verified and tested all RIP configurations
- Documented complete working configurations
π Lab Completion Certificate
β
Congratulations!
You have successfully completed Lab 10.3: RIP - Routing Information Protocol (v1, v2 & RIPng).
Lab Completion Date: _________________
Instructor Signature: _________________
Student Name: _________________
Skills Verified:
β RIPv1 configuration and classful routing
β RIPv2 configuration and classless routing
β RIP MD5 authentication implementation
β Passive interface configuration
β RIPng for IPv6 configuration
β RIP verification and troubleshooting
CCNP Progress: Distance-Vector Protocols β | Layer 3 Routing β