Configuring RIPng
Overview
Function Introduction
Routing Information Protocol Next Generation (RIPng) is an IPv6 route exchange protocol that uses a distance vector (a number representing distance) to measure the cost of a given route. The cost is a distance vector because the cost is often equivalent to the number of router hops between the source and the destination networks. RIPng can receive multiple paths to a destination. The system evaluates the paths, selects the best path, and saves the path in the IPv6 route table as the route to the destination.
Typically, the best path is the path with the fewest hops. A hop is another router through which packets must travel to reach the destination. If RIPng receives a RIPng update from another router that contains a path with fewer hops than the path stored in the route table, the system replaces the older route with the newer one. The system then includes the new path in the updates it sends to other RIPng routers. RIPng routers also can modify a route’s cost, generally by adding to it, to bias the selection of a route for a given destination. In this case, the actual number of router hops may be the same, but the route has an administratively higher cost and is thus less likely to be used than other, lower-cost routes. A RIPng route can have a maximum cost of 15. Any destination with a higher cost is considered unreachable. Although limiting to larger networks, the low maximum hop count prevents endless loops in the network.
This chapter contains basic RIPng configuration examples. To see details on the commands used in these examples, or to see the outputs of the Validation commands, refer to the RIPng Command Reference. To avoid repetition, some Common commands, like configure terminal, have not been listed under the Commands Used section.
There are some differences between RIPng and RIP:
UDP port number: RIPng uses UDP port number 521 to send or receive package.
Multicast address: RIPng uses FF02::9 to multicast package to other routers of link local.
Nexthop address: RIPng uses 128 bit ipv6 address.
Source address: RIPng uses IPv6 link-local address FE80::/10 to be the source address when updating package to neighbor.
Principle Description
The RIPng module is based on the following RFC: RFC 2080 – RIPng for IPv6
Configuration
Enabling RIPng
RIPng
This example shows how to enable RIPng protocols on two switches:
The following configuration should be operated on all switches if the switch ID is not specified.
step 1 Enter the configure mode
Switch# configure terminal
step 2 Enable ipv6 globally
Switch(config)# ipv6 enable
step 3 Enter the interface configure mode and set the attributes of the interface
Interface configuration for Switch1:
Switch(config)# interface eth-0-12
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:12::1/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch(config)# interface eth-0-48
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:48::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Interface configuration for Switch2:
Switch(config)# interface eth-0-12
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:12::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch(config)# interface eth-0-48
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:ab8:49::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
step 4 Exit the configure mode
Switch(config)# end
step 5 Validation
Display the result on Switch1:
Switch# show ipv6 rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, Ra - RIP
aggregated,
Rcx - RIP connect suppressed, Rsx - RIP static suppressed,
K - Kernel, C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop If Met Tag Time
R 2001:ab8:49::/64 fe80::1271:d1ff:fec8:3300 eth-0-12 5 0 00:02:34
Rc 2001:db8:12::/64 :: eth-0-12 1 0
Rc 2001:db8:48::/64 :: eth-0-48 1 0
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:12::1/64
fe80::7e14:63ff:fe76:8900/10
eth-0-48 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:48::2/64
fe80::7e14:63ff:fe76:8900/10
Switch# show ipv6 protocols rip
Routing Protocol is \"ripng\"
Sending updates every 30 seconds with +/-5 seconds, next due in 7
seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Default redistribute metric is 1
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 120)
Switch# show ipv6 route rip
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
| [*] - [AD/Metric]
Timers: Uptime
R 2001:ab8:49::/64 \[120/5\]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:26:05
Display the result on Switch2:
Switch# show ipv6 rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, Ra - RIP
aggregated,
Rcx - RIP connect suppressed, Rsx - RIP static suppressed,
K - Kernel, C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop If Met Tag Time
Rc 2001:ab8:49::/64 :: eth-0-48 1 0
Rc 2001:db8:12::/64 :: eth-0-12 1 0
R 2001:db8:48::/64 fe80::7e14:63ff:fe76:8900 eth-0-12 2 0 00:02:33
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:12::2/64
fe80::1271:d1ff:fec8:3300/10
eth-0-48 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:ab8:49::2/64
fe80::1271:d1ff:fec8:3300/10
Switch# show ipv6 protocols rip
Routing Protocol is \"ripng\"
Sending updates every 30 seconds with +/-5 seconds, next due in 13
seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Outgoing routes will have 3 added to metric if on list ripng_acl
Default redistribute metric is 1
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 120)
Switch# show ipv6 route rip
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
| [*] - [AD/Metric]
Timers: Uptime
R 2001:db8:48::/64 \[120/2\]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:23:31
Configuring Metric Parameters
A RIPng offset list allows you to add to the metric of specific inbound or outbound routes learned or advertised by RIPng. RIPng offset lists provide a simple method for adding to the cost of specific routes and therefore biasing the router’s route selection away from those routes. An offset list consists of the following parameters:
An ACL that specifies the routes to which to add the metric.
In: applies to routes the router learns from RIPng neighbors.
Out: applies to routes the router is advertising to its RIPng neighbors.
The offset value that will be added to the routing metric of the routes that match the ACL.
The interface that the offset list applies (optional).
If a route matches both a global offset list (without specified interface) and an interface-based offset list, the interface-based offset list takes precedence. The interface-based offset list’s metric is added to the route in this case.
RIPng Metric
This example Switch 1 will advertise route 2001:db8:48::2/64 out of interface eth-0-12 with metric 3.
step 1 Check the current configuration
Current configuration of Switch1:
Switch# show running-config
| !
ipv6 enable
| !
Switch# show run
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Current configuration of Switch2:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Check the RIPng states on Switch2:
Switch# show ipv6 route rip
R 2001:db8:48::/64 \[120/2\]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:44:47
The following configurations are operated on Switch1:
step 2 Enter the configure mode
Switch# configure terminal
step 3 Create access list
Switch(config)ipv6 access-list ripngoffset
Switch(config-ipv6-acl) permit any 2001:db8:48::/64 any
Switch(config-ipv6-acl) exit
step 4 Apply the access list
Switch(config)# router ipv6 rip
Switch(config-router) offset-list ripngoffset out 3 eth-0-12
Switch(config-router) exit
step 5 Exit the configure mode
Switch(config)# end
step 6 Validation
Display the result on Switch2:
Switch# show ipv6 route rip
R 2001:db8:48::/64 \[120/5\]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:00:07
Configuring the Administrative Distance
By default, RIPng assigns the default RIPng administrative distance (120) to RIPng routes. When comparing routes based on administrative distance, the router selects the route with the lower distance. You can change the administrative distance for RIPng routes.
RIPng Distance
This example shows how to change the RIPng administrative distance.
step 1 Check the current configuration
Current configuration of Switch1:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Current configuration of Switch2:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Check the RIPng states on Switch2:
Switch# show ipv6 route rip
R 2001:db8:48::/64 \[120/2\]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:44:47
The following configurations are operated on Switch2:
step 2 Enter the configure mode
Switch# configure terminal
step 3 Change the administrative distance
Switch(config)# router ipv6 rip
Switch(config-router) distance 100
Switch(config-router) exit
step 4 Exit the configure mode
Switch(config)# end
step 4 Validation
Display the result on Switch2:
Switch# show ipv6 route rip
R 2001:db8:48::/64 \[100/5\]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:00:09
Configuring Redistribution
You can configure the router to redistribute static routes, direct connected routes or routes learned through Open Shortest Path First (OSPF) into RIPng. When you redistribute a route from one of these other protocols into RIPng, the router can use RIPng to advertise the route to its RIPng neighbors.
Change the default redistribution metric (optional). The router assigns a RIPng metric of 1 to each redistributed route by default. You can change the default metric to a value up to 16.
Enable specified routes to redistribute with default or specified metric.
RIPng redistribute
This example shows how to redistribute other protocols into RIPng.
step 1 Check the current configuration
Current configuration of Switch1:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Current configuration of Switch2:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
| !
interface eth-0-13
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:13::1/64
ipv6 router ospf area 0
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
router ipv6 ospf
router-id 1.1.1.1
Current configuration of Switch3:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-1
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:1::1/64
ipv6 router ospf area 0
| !
interface eth-0-13
no switchport
ipv6 address 2001:db8:13::2/64
ipv6 router ospf area 0
| !
router ipv6 ospf
router-id 2.2.2.2
| !
Check the RIPng states on Switch1:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 \[120/5\]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 01:43:37
Check the RIPng states on Switch2:
Switch# show ipv6 route
O 2001:db8:1::/64 \[110/2\]
via fe80::5c37:1dff:febe:2d00, eth-0-13, 00:31:17
R 2001:db8:48::/64 \[100/5\]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:49:57
The following configurations are operated on Switch2:
step 2 Enter the configure mode
Switch# configure terminal
step 3 Enable redistribute, and et the default metric and redistribute metric
Switch(config)# router ipv6 rip
Switch(config-router) default-metric 2
Switch(config-router) redistribute ospfv3 metric 5
Switch(config-router) exit
step 4 Exit the configure mode
Switch(config)# end
step 5 Validation
Display the result on Switch1:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 \[120/5\]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 01:48:23
R 2001:db8:1::/64 \[120/6\]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:00:19
Configuring Split-horizon Parameters
Normally, routers that are connected to multicast-type IPv6 networks and that use distance-vector routing protocols employ the split horizon mechanism to reduce the possibility of routing loops. Split horizon blocks information about routes from being advertised by a router out of any interface from which that information originated. This behavior usually optimizes communications among multiple routers, particularly when links are broken. However, with non-multicast networks (such as Frame Relay), situations can arise for which this behavior is less than ideal. For these situations, you might want to disable split horizon for RIPng.
You can avoid including routes in updates sent to the same gateway from which they were learned. Using the split horizon command omits routes learned from one neighbor, in updates sent to that neighbor. Using the poisoned parameter with this command includes such routes in updates, but sets their metrics to infinity. Thus, advertising these routes means that they are not reachable.
RIPng Split-horizon
step 1 Check the current configuration
Current configuration of Switch1:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Current configuration of Switch2:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Enable debug on switch2
Switch# debug ipv6 rip packet send detail
Switch# terminal monitor
The following configurations are operated on Switch2:
step 2 Enter the configure mode
Switch# configure terminal
step 3 Set the split-horizon on interface configure mode
Disable split-horizon:
Switch(config)interface eth-0-12
Switch(config-if)# no ipv6 rip split-horizon
Switch(config-if)# exit
System debug information:
Oct 24 10:00:06 Switch RIPNG6-7: SEND\[eth-0-12\]: Send to
[ff02::9]:521
Oct 24 10:00:06 Switch RIPNG6-7: SEND\[eth-0-12\]: RESPONSE version 1
packet size 64
Oct 24 10:00:06 Switch RIPNG6-7: 2001:ab8:49::/64 metric 4 tag 0
Oct 24 10:00:06 Switch RIPNG6-7: 2001:db8:12::/64 metric 1 tag 0
Oct 24 10:00:06 Switch RIPNG6-7: 2001:db8:48::/64 metric 5 tag 0
Enable split-horizon:
Switch(config)interface eth-0-12
Switch(config-if)# ipv6 rip split-horizon
Switch(config-if)# exit
System debug information:
Oct 24 10:05:16 Switch RIPNG6-7: SEND\[eth-0-12\]: Send to
[ff02::9]:521
Oct 24 10:05:16 Switch RIPNG6-7: SEND\[eth-0-12\]: RESPONSE version 1
packet size 44
Oct 24 10:05:16 Switch RIPNG6-7: 2001:ab8:49::/64 metric 4 tag 0
Oct 24 10:05:16 Switch RIPNG6-7: 2001:db8:12::/64 metric 1 tag 0
step 3 Exit the configure mode
Switch(config)# end
step 4 Validation
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Disabled
IPv6 interface address:
2001:ab8:48::2/64
2001:db8:12::2/64
fe80::7eff:80ff:fef4:ff00/10
Configuring Timers
RIPng use several timers that determine such variables as the frequency of routing updates, the length of time before a route becomes invalid, and other parameters. You can adjust these timers to tune RIPng performance to better suit your internet-work needs. You can make the following timer adjustments:
The rate (time in seconds between updates) at which routing updates are sent.
The interval of time (in seconds) after which a route is declared invalid.
The amount of time (in seconds) that must pass before a route is removed from the routing table.
To configure the timers, use the following command:
step 1 Enter the configure mode
Switch# configure terminal
step 2 Set the timers
Set the routing table update timer to 10 seconds. Set the routing information timeout timer to 180 seconds. Set the routing garbage collection timer to 120 seconds.
Switch(config)# router ipv6 rip
Switch(config-router) timers basic 10 180 120
Switch(config-router) exit
step 3 Exit the configure mode
Switch(config)# end
step 4 Validation
Use the commands as follows to validate the configuration:
Switch# show ipv6 protocols rip
Routing Protocol is \"ripng\"
Sending updates every 10 seconds with +/-5 seconds, next due in 5
seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Outgoing routes will have 3 added to metric if on list ripng_acl
Default redistribute metric is 2
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 100)
Configuring RIPng Route Distribute Filters
A RIP distribute list allows you to permit or deny learning or advertising of specific routes. A distribute list consists of the following parameters:
An ACL or a prefix list that filter the routes.
In: filter applies to learned routes.
Out: filter applies to advertised routes
The interface that the filer applies (optional).
RIPng Route Distribute Filters
step 1 Check the current configuration
Current configuration of Switch1:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Current configuration of Switch2:
Switch# show running-config
| !
ipv6 enable
| !
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
| !
interface eth-0-13
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:13::1/64
ipv6 router rip
| !
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
| !
router ipv6 rip
| !
Check the RIPng states on Switch1:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 \[120/5\]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:18:29
R 2001:db8:13::/64 \[120/2\]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:03:37
The following configurations are operated on Switch2:
step 2 Enter the configure mode
Switch# configure terminal
step 3 Create IPv6 Prefix list
Switch(config)# ipv6 prefix-list ripngfilter seq 5 deny
2001:db8:48::/64
Switch(config)# ipv6 prefix-list ripngfilter seq 10 permit any
step 4 Apply the IPv6 Prefix list
Switch(config)# router ipv6 rip
Switch(config-router) distribute-list prefix ripngfilter out eth-0-12
Switch(config-router) exit
step 5 Exit the configure mode
Switch(config)# end
step 6 Validation
Display the result on Switch1:
Switch# show ipv6 route rip
R 2001:db8:13::/64 \[120/2\]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:03:37
Application cases {application-cases-91}
N/A