IPv6 - Routing Information Protocol (RIP)

Routing Information Protocol (RIP)

Routing Information Protocol for IPv6, is an extension of the classic RIP protocol designed to support the IPv6 addressing scheme. RIPng (RIP next generation) is the standardized version of IPv6 RIP, and it operates as a distance-vector routing protocol. Like its IPv4 counterpart, IPv6 RIP uses hop count as the metric to determine the best route to a destination. While RIPng retains the simplicity of configuration and ease of implementation that made RIP popular, it also overcomes some limitations of the original RIP protocol, such as support for the larger IPv6 address space and improved network scalability. IPv6 RIP is often used in smaller networks where simplicity and ease of management are prioritized, but in larger and more complex environments, other routing protocols like OSPFv3 or BGP may be preferred due to their advanced features and scalability.

Lab:

Disclaimer

This Configuration Guide is designed to assist members to enhance their skills in particular technology area. While every effort has been made to ensure that all material is as complete and accurate as possible, the enclosed material is presented on an “as is” basis. Neither the authors nor Forum assume any liability or responsibility to any person or entity with respect to loss or damages incurred from the information contained in this guide. This configuration guide was developed by Forum. Any similarities between material presented in this configuration guide and any other material is completely coincidental.

R1 Router:

! 
ipv6 unicast-routing 
ipv6 cef 
! 
! 
! 
interface Loopback0& 
ipv6 address 2002:0:1:1::1/128 
ipv6 rip RIPng enable
! 
! 
interface Loopback1& 
ipv6 address 2002:0:1:2::1/128 
ipv6 rip RIPng enable 
! 
! 
interface Loopback2& 
ipv6 address 2002:0:1:3::1/128 
ipv6 rip RIPng enable 
! 
! 
interface Serial1/0& 
ipv6 address 2001:0:0:12::1/128 
ipv6 rip RIPng enable 
! 
! 
ipv6 router rip RIPng 
!

R4 Router:

! 
ipv6 unicast-routing 
ipv6 cef
! 
interface Loopback0 
ipv6 address 2002:0:4:1::4/128 
ipv6 rip RIPng enable 
! 
! 
interface Loopback1 
ipv6 address 2002:0:4:2::4/128 
ipv6 rip RIPng enable 
! 
! 
interface Loopback2 
ipv6 address 2002:0:4:3::4/128 
ipv6 rip RIPng enable 
! 
! 
interface Serial1/0 
ipv6 address 2001:0:0:34::4/128 
ipv6 rip RIPng enable 
! 
! 
ipv6 router rip RIPng 
!

R2 Router:

! 
ipv6 unicast-routing 
ipv6 cef 
! 
! 
interface Loopback0 
ipv6 address 2002:0:2:1::2/128 
!
! 
interface Loopback1 
ipv6 address 2002:0:2:2::2/128 
! 
! 
interface Loopback2 
ipv6 address 2002:0:2:3::2/128 
! 
! 
interface Serial1/0 
ipv6 address 2001:0:0:12::/64 eui-64 
ipv6 rip RIPng enable 
clock rate 64000 
! 
! 
interface FastEthernet2/0 
ipv6 address 2001:0:0:23::/64 eui-64 
ipv6 rip RIPng enable 
! 
! 
ipv6 router rip RIPng 
!

R3 Router:

! 
ipv6 unicast-routing 
ipv6 cef
! 
! 
interface Loopback0 
ipv6 address 2002:0:3:1::3/128 
ipv6 rip RIPng enable 
! 
!
interface Loopback1 
ipv6 address 2002:0:3:2::3/128 
ipv6 rip RIPng enable 
! 
! 
interface Loopback2 
ipv6 address 2002:0:3:3::3/128 
ipv6 rip RIPng enable 
! 
! 
interface Serial1/0 
ipv6 address 2001:0:0:34::3/128 
ipv6 rip RIPng enable 
clock rate 64000 
! 
! 
interface FastEthernet2/0 
ipv6 address 2001:0:0:23::/64 eui-64
ipv6 rip RIPng enable 
! 
! 
ipv6 router rip RIPng 
!

Note: We can configure a /128 address (host specific mask) on any interface but it will not communicate with any directly connected router until route for the network to which that IPv6 address belongs is not provided to the router.

Verification:

R1#sh ipv6 rip

RIP process “RIPng”, port 521, multicast-group FF02::9, pid 285 
Administrative distance is 120, Maximum paths is 16 
Updates every 30 seconds, expire after 180 
Holddown lasts 0 seconds, garbage collect after 120 
Split horizon is on; poison reverse is off 
Default routes are not generated 
Periodic updates 13, trigger updates 2 
Interfaces: 
Serial1/0 
Loopback2 
Loopback1 
Loopback0
Redistribution: 
None 
R2#sh ipv6 rip

RIP process “RIPng”, port 521, multicast-group FF02::9, pid 285 (Rip process with name RIPng is enabled on router 
and it uses UDP port no. 521 and it has joined multicast group FF02::9 for exchanging updates with other RIP 
Routers, RIP is using local process ID no 285 on router)
Administrative distance is 120, Maximum paths is 16 (Default Administrative Distance (AD Value) used by RIPng is
also 120, Maximum number of paths on which load balancing can be done by RIPng is 16)
Updates every 30 seconds, expire after 180 (RIPng will send updates to its peers at every 30 seconds, and will expire 
routes received from a neighbor id does not receive updates from that peer for a period of 180 seconds) 
Holddown lasts 0 seconds, garbage collect after 120 
Split horizon is on; poison reverse is off (Split Horizon method of loop prevention is used in RIPng and Poison 
Reverse is off by default)
Default routes are not generated 
Periodic updates 20, trigger updates 1 
Interfaces: 
FastEthernet2/0 
Serial1/0 (RIPng has not been enabled on any Loopback of R2, so they are not advertised in RIP updates)
Redistribution: 
None 
R3#sh ipv6 rip

RIP process “RIPng”, port 521, multicast-group FF02::9, pid 285 
Administrative distance is 120 Maximum paths is 16 
Updates every 30 seconds, expire after 180 
Holddown lasts 0 seconds, garbage collect after 120 
Split horizon is on; poison reverse is off 
Default routes are not generated 
Periodic updates 22, trigger updates 2 
Interfaces: 
FastEthernet2/0 
Serial1/0 
Loopback2 
Loopback1 
Loopback0 
Redistribution: 
None
R4#sh ipv6 rip

RIP process “RIPng”, port 521, multicast-group FF02::9, pid 285 
Administrative distance is 120. Maximum paths is 16 
Updates every 30 seconds, expire after 180 
Holddown lasts 0 seconds, garbage collect after 120 
Split horizon is on; poison reverse is off 
Default routes are not generated 
Periodic updates 25, trigger updates 1 
Interfaces: 
Serial1/0 
Loopback2 
Loopback1 
Loopback0 
Redistribution: 
None 
R1#sh ipv6 route

<output omitted> 
R 2001:0:0:12::/64 [120/2] 
via FE80::C802:13FF:FEE7:0, Serial1/0 
LC 2001:0:0:12::1/128 [0/0] 
via Serial1/0, receive (A different mask has been used on the connected interfaces so for the same network entry is
made twice by RIP)
R 2001:0:0:23::/64 [120/2] 
via FE80::C802:13FF:FEE7:0, Serial1/0 (Same mask has been used on connected interfaces, so only a single entry 
for the network made by RIP)
R 2001:0:0:34::3/128 [120/3] 
via FE80::C802:13FF:FEE7:0, Serial1/0 
R 2001:0:0:34::4/128 [120/4] 
via FE80::C802:13FF:FEE7:0, Serial1/0 (Same mask but /128 i.e. host specific is used so different entries for same 
network is made by RIP)
LC 2002:0:1:1::1/128 [0/0] 
via Loopback0, receive 
LC 2002:0:1:2::1/128 [0/0] 
via Loopback1, receive (C-means the connected network to the interface network)
LC 2002:0:1:3::1/128 [0/0] 
via Loopback2, receive (L-represents local to router. Entries are made for /128 connected addresses. For this specific 
connected IPv6 address packet should be received and processed by router)
R 2002:0:3:1::3/128 [120/3] 
via FE80::C802:13FF:FEE7:0, Serial1/0 
R 2002:0:3:2::3/128 [120/3] 
via FE80::C802:13FF:FEE7:0, Serial1/0 
R 2002:0:3:3::3/128 [120/3] 
via FE80::C802:13FF:FEE7:0, Serial1/0 
R 2002:0:4:1::4/128 [120/4]
via FE80::C802:13FF:FEE7:0, Serial1/0 
R 2002:0:4:2::4/128 [120/4] 
via FE80::C802:13FF:FEE7:0, Serial1/0 
R 2002:0:4:3::4/128 [120/4] 
via FE80::C802:13FF:FEE7:0, Serial1/0 (R-These routes has been learned by RIP as RIPng process)
L FF00::/8 [0/0] 
via Null0, receive (Router has created a null 0 for anycast IPv6 network FF00::/8 which means any IP packet with 
destination address as anycast IP will be discarded by router)
R2#sh ipv6 route

< output omitted> 
C 2001:0:0:12::/64 [0/0] 
via Serial1/0, directly connected 
R 2001:0:0:12::1/128 [120/2] 
via FE80::C801:13FF:FEE7:0, Serial1/0 
L 2001::12:C802:13FF:FEE7:0/128 [0/0] 
via Serial1/0, receive 
C 2001:0:0:23::/64 [0/0] 
via FastEthernet2/0, directly connected 
L 2001::23:C802:13FF:FEE7:38/128 [0/0] 
via FastEthernet2/0, receive 
R 2001:0:0:34::3/128 [120/2] 
via FE80::C803:13FF:FEE7:38, FastEthernet2/0 
R 2001:0:0:34::4/128 [120/3] 
via FE80::C803:13FF:FEE7:38, FastEthernet2/0 
R 2002:0:1:1::1/128 [120/2] 
via FE80::C801:13FF:FEE7:0, Serial1/0 
R 2002:0:1:2::1/128 [120/2] 
via FE80::C801:13FF:FEE7:0, Serial1/0 
R 2002:0:1:3::1/128 [120/2] 
via FE80::C801:13FF:FEE7:0, Serial1/0 
LC 2002:0:2:1::2/128 [0/0] 
via Loopback0, receive 
LC 2002:0:2:2::2/128 [0/0] 
via Loopback1, receive 
LC 2002:0:2:3::2/128 [0/0] 
via Loopback2, receive 
R 2002:0:3:1::3/128 [120/2] 
via FE80::C803:13FF:FEE7:38, FastEthernet2/0 
R 2002:0:3:2::3/128 [120/2]
via FE80::C803:13FF:FEE7:38, FastEthernet2/0
R 2002:0:3:3::3/128 [120/2] 
via FE80::C803:13FF:FEE7:38, FastEthernet2/0 R 2002:0:4:1::4/128 [120/3] 
via FE80::C803:13FF:FEE7:38, FastEthernet2/0 R 2002:0:4:2::4/128 [120/3] 
via FE80::C803:13FF:FEE7:38, FastEthernet2/0 R 2002:0:4:3::4/128 [120/3] 
via FE80::C803:13FF:FEE7:38, FastEthernet2/0 L FF00::/8 [0/0] 
via Null0, receive
R3#sh ipv6 route

< output omitted> R 2001:0:0:12::/64 [120/2] 
via FE80::C802:13FF:FEE7:38, FastEthernet2/0 R 2001:0:0:12::1/128 [120/3] 
via FE80::C802:13FF:FEE7:38, FastEthernet2/0 C 2001:0:0:23::/64 [0/0] 
via FastEthernet2/0, directly connected L 2001::23:C803:13FF:FEE7:38/128 [0/0] 
via FastEthernet2/0, receive 
LC 2001:0:0:34::3/128 [0/0] 
via Serial1/0, receive R 2001:0:0:34::4/128 [120/2] 
via FE80::C800:13FF:FEE7:0, Serial1/0 R 2002:0:1:1::1/128 [120/3] 
via FE80::C802:13FF:FEE7:38, FastEthernet2/0 R 2002:0:1:2::1/128 [120/3] 
via FE80::C802:13FF:FEE7:38, FastEthernet2/0 R 2002:0:1:3::1/128 [120/3] 
via FE80::C802:13FF:FEE7:38, FastEthernet2/0 
LC 2002:0:3:1::3/128 [0/0] 
via Loopback0, receive 
LC 2002:0:3:2::3/128 [0/0] 
via Loopback1, receive 
LC 2002:0:3:3::3/128 [0/0] 
via Loopback2, receive R 2002:0:4:1::4/128 [120/2] 
via FE80::C800:13FF:FEE7:0, Serial1/0 R 2002:0:4:2::4/128 [120/2] 
via FE80::C800:13FF:FEE7:0, Serial1/0
R 2002:0:4:3::4/128 [120/2] 
via FE80::C800:13FF:FEE7:0, Serial1/0 L FF00::/8 [0/0] 
via Null0, receive
R4#sh ipv6 route

< output omitted> R 2001:0:0:12::/64 [120/3] 
via FE80::C803:13FF:FEE7:0, Serial1/0 R 2001:0:0:12::1/128 [120/4] 
via FE80::C803:13FF:FEE7:0, Serial1/0 R 2001:0:0:23::/64 [120/2] 
via FE80::C803:13FF:FEE7:0, Serial1/0 R 2001:0:0:34::3/128 [120/2] 
via FE80::C803:13FF:FEE7:0, Serial1/0 
LC 2001:0:0:34::4/128 [0/0] 
via Serial1/0, receive R 2002:0:1:1::1/128 [120/4] 
via FE80::C803:13FF:FEE7:0, Serial1/0 R 2002:0:1:2::1/128 [120/4] 
via FE80::C803:13FF:FEE7:0, Serial1/0 R 2002:0:1:3::1/128 [120/4] 
via FE80::C803:13FF:FEE7:0, Serial1/0 R 2002:0:3:1::3/128 [120/2] 
via FE80::C803:13FF:FEE7:0, Serial1/0 R 2002:0:3:2::3/128 [120/2] 
via FE80::C803:13FF:FEE7:0, Serial1/0 R 2002:0:3:3::3/128 [120/2] 
via FE80::C803:13FF:FEE7:0, Serial1/0 
LC 2002:0:4:1::4/128 [0/0] 
via Loopback0, receive 
LC 2002:0:4:2::4/128 [0/0] 
via Loopback1, receive 
LC 2002:0:4:3::4/128 [0/0] 
via Loopback2, receive L FF00::/8 [0/0] 
via Null0, receive