Routing in IPv6
Static Routing
RIP
EIGRP
OSPF
RIP for IPv6
RIP for IPv6 Overview
IPv6 RIP functions the same and offers the same benefits as RIP in IPv4. RIP enhancements for IPv6, detailed in RFC 2080, include support for IPv6
addresses and prefixes, and the use of the all-RIP-routers multicast group address FF02::9 as the destination address for RIP update messages.
New commands specific to RIP in IPv6 were also added to the Cisco IOS command-line interface (CLI).
Each IPv6 RIP process maintains a local routing table - Routing Information Database (RIB).
The IPv6 RIP RIB contains a set of best-cost IPv6 RIP routes learned from all its neighboring networking devices.
If IPv6 RIP learns the same route from two different neighbors, but with different costs, it will store only the lowest cost route in the local RIB.
The RIB also stores any expired routes that the RIP process is advertising to its neighbors running RIP. IPv6 RIP will try to insert every non-expired route from its local RIB into the master IPv6 RIB. If the same route has been learned from a different routing protocol with a better administrative distance than IPv6 RIP, the RIP route will not be added to the IPv6 RIB but the RIP route will still exist in the IPv6 RIP RIB.
Implementing RIP for IPv6
Three Steps:
Create the routing process
Enable the routing process on interfaces
Customize the routing protocol for your particular
network.
Step 1. Enabling IPv6 RIP
Before configuring the router to run IPv6 RIP, globally enable IPv6 using the ipv6 unicast-
routing global configuration command, and enable IPv6 on any interfaces on which IPv6 RIP is to be enabled.
STEPS
1.
enable
2.
configure terminal
3.
interface type number
4.
ipv6 rip name enable
Step 2. Customizing IPv6 RIP
Command or Action Purpose
ipv6 router rip word
Router(config)# ipv6 router rip cisco
Configures an IPv6 RIP routing process and enters router configuration mode for the IPv6 RIP routing process.
Use the word argument to identify a specific IPv6 RIP routing process.
maximum-paths number-paths
Router(config-router)#
maximum-paths 1
(Optional) Defines the maximum number of equal- cost routes that IPv6 RIP can support.
The number-paths argument is an integer from 1 to 64. The default for RIP is four paths.
ipv6 rip name default-information {only | originate} [metric metric- value]
Router(config-if)# ipv6 rip cisco default-information originate
(Optional) Originates the IPv6 default route (::/0) into the specified RIP routing process updates sent out of the specified interface.
Verifying IPv6 RIP Configuration and Operation
A user may want to check IPv6 RIP configuration and operation.
Some of the following scenarios may occur for which a user can then enable the following show and debug commands:
"Why isn't a certain route appearing in my IPv6 routing table?"
"Am I receiving routes via RIP?"
"Is a certain route being filtered?"
"Someone at a route site told me that I am not advertising a
certain route. True?"
Verifying IPv6 RIP Configuration and Operation
Command or Action Purpose
show ipv6 rip [name] [database | next-hops]
Router> show ipv6 rip cisco database
(Optional) Displays information about current IPv6 RIP processes.
In this example, IPv6 RIP process database information is displayed for the specified IPv6 RIP process.
show ipv6 route [ipv6-address | ipv6- prefix/prefix-length | protocol | interface- type interface-number]
Router> show ipv6 route rip
(Optional) Displays the current contents of the IPv6 routing table.
In this example, only IPv6 RIP routes are displayed.
debug ipv6 rip [interface-type interface-number]
Router# debug ipv6 rip
(Optional) Displays debugging messages for IPv6 RIP routing transactions.
show ipv6 rip Command:
Example
Router> show ipv6 rip
RIP process "cisco", port 521, multicast-group FF02::9, pid 62
Administrative distance is 120. Maximum paths is 1 Updates every 5 seconds, expire after 15
Holddown lasts 10 seconds, garbage collect after 30 Split horizon is on; poison reverse is off
Default routes are generated
Periodic updates 223, trigger updates 1
Interfaces:
Ethernet0/0
Redistribution:
Redistributing protocol bgp 65001 route-map bgp-to-rip
show ipv6 rip Command:
Example
Output information about a specified IPv6 RIP process database is displayed using the show ipv6 rip command with the name argument and the
database keyword.
In the following output for the IPv6 RIP process named cisco, timer
information is displayed, and route 2001:0db8::16/64 has a route tag set:
Router> show ipv6 rip cisco database
RIP process "cisco", local RIB 2001:0db8::/64, metric 2
Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs 2001:0db8::/16, metric 2 tag 4, installed
Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs 2001:0db8:1::/16, metric 2 tag 4, installed
Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs 2001:0db8:2::/16, metric 2 tag 4, installed
Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs ::/0, metric 2, installed
Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs
show ipv6 route Command:
Example
Router> show ipv6 route rip
IPv6 Routing Table - 17 entries
Codes:
C - Connected, L - Local, S - Static, R - RIP, B - BGPU - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
R 2001:0db8:1::/32 [120/2]
via FE80::A8BB:CCFF:FE00:A00, Ethernet0/0
R 2001:0db8:2::/32 [120/2]
via FE80::A8BB:CCFF:FE00:A00, Ethernet0/0
R 2001:0db8:3::/32 [120/2]
via FE80::A8BB:CCFF:FE00:A00, Ethernet0/0
Configuration Examples for IPv6 RIP
ipv6 router rip cisco maximum-paths 1
redistribute bgp 65001 route-map bgp-to-rip
distribute-list prefix-list eth0/0-in-flt in Ethernet0/0
!
interface Ethernet0/0
ipv6 address 2001:0db8::/64 eui-64 ipv6 rip cisco enable
ipv6 rip cisco default-information originate
!
ipv6 prefix-list bgp-to-rip-flt seq 10 deny 2001:0db8:3::/16 le 128 ipv6 prefix-list bgp-to-rip-flt seq 20 permit 2001:0db8:1::/8 le 128
!
ipv6 prefix-list eth0/0-in-flt seq 10 deny ::/0
ipv6 prefix-list eth0/0-in-flt seq 15 permit ::/0 le 128
!
route-map bgp-to-rip permit 10
match ipv6 address prefix-list bgp-to-rip-flt set tag 4
Enabling RIPng in Router3 with the Advertisement of
the Default Route
EIGRP for IPv6
EIGRP for IPv6 Overview
EIGRP for IPv6 is directly configured on the interfaces over which it runs. This feature allows EIGRP for IPv6 to be configured without the use of a global IPv6 address. There is no network statement in EIGRP for IPv6.
In per-interface configuration at system startup, if EIGRP has been configured on an interface, then the EIGRP protocol may start running before any EIGRP router mode commands have been executed.
An EIGRP for IPv6 protocol instance requires a router ID before it can start running.
EIGRP for IPv6 has a shutdown feature. The routing process should be in "no shutdown" mode in order to start running.
When a user uses passive-interface configuration, EIGRP for IPv6 does not need to be configured on the interface that is made passive.
EIGRP for IPv6 provides route filtering using the distribute-list prefix-
list command. Use of the route-map command is not supported forroute filtering with a distribute list.
Implementing EIGRP for IPv6
Enabling EIGRP for IPv6 on an Interface
Configuring the Percentage of Link Bandwidth Used
Configuring Summary Aggregate Addresses
Configuring EIGRP Route Authentication
Adjusting the Interval Between Hello Packets in EIGRP for IPv6
Adjusting the Hold Time in EIGRP for IPv6
Customizing an EIGRP for IPv6 Routing Process
Monitoring and Maintaining EIGRP
Enabling EIGRP for IPv6 on an Interface
Command or Action Purpose
ipv6 unicast-routing
Router(config)# ipv6 unicast-routing
Enables the forwarding of IPv6 unicast datagrams.
ipv6 enable
Router(config-if)# ipv6 enable
Enables IPv6 processing on an interface that has not been configured with an explicit IPv6 address.
ipv6 eigrp as-number
Router(config-if)# ipv6 eigrp 1
Enables EIGRP for IPv6 on a specified interface.
ipv6 router eigrp as-number
Router(config)# ipv6 router eigrp 1 Enters router configuration mode and creates an EIGRP for IPv6 routing process.
router-id {ip-address | ipv6-address}
Router(config-router)# router-id 10.1.1.1
Enables the use of a fixed router ID.
Configuring the Percentage of Link Bandwidth Used
By default, EIGRP packets consume a maximum of 50 percent of the link
bandwidth, as configured with the bandwidth interface configuration command.
STEPS
1.
interface type number
2.
bandwidth {kbps | inherit [kbps]}
3.
ipv6 bandwidth-percent eigrp as-number
percent
Configuring Summary Aggregate Addresses
Steps:
1.
interface type number
2.
ipv6 summary-address eigrp as-number ipv6- address [admin-distance]
Router(config)# interface FastEthernet 0/ 0
Router(config-if)# ipv6 summary-address eigrp 1
2001:0DB8:0:1::/64
Configuring EIGRP Route Authentication - Overview
EIGRP route authentication provides Message Digest 5 (MD5) authentication of routing updates from the EIGRP routing protocol.
The MD5 keyed digest in each EIGRP packet
prevents the introduction of unauthorized or false routing messages from unapproved sources.
Each key has its own key identifier, which is stored locally.
The combination of the key identifier and the
interface associated with the message uniquely
identifies the authentication algorithm and MD5
authentication key in use.
Configuring EIGRP Route Authentication
interface type number
ipv6 authentication mode eigrp as-number md5
ipv6 authentication key-chain eigrp as-number key-chain
exit
key chain name-of-chain
key key-id
key-string text
accept-lifetime start-time {infinite | end-time | duration seconds}
send-lifetime start-time {infinite | end-time | duration seconds}
Example:
Router(config)# interface FastEthernet 0/0
Router(config-if)# ipv6 authentication mode eigrp 1 md5
Router(config-if)# ipv6 authentication key-chain eigrp 1 chain1
Router(config-if)# exit
Router(config)# key chain chain1
Router(config-keychain)# key 1
Router(config-keychain-key)# key-string chain 1
Router(config-keychain-key)# accept-lifetime 14:30:00 Jan 10 2006 duration 7200
Monitoring and Maintaining EIGRP
Use of clear and debug commands helps users monitor and maintain their EIGRP for IPv6 environments.
Deleting Entries from EIGRP for IPv6 Routing Tables
clear ipv6 eigrp [as-number] [neighbor [ipv6-address | interface-type interface-number]]
Router# clear ipv6 eigrp neighbor 3FEE:12E1:2AC1:EA32
Adjusting the Interval Between Hello Packets in EIGRP for IPv6
Routing devices periodically send hello packets to each other to
dynamically learn of other routers on their directly attached networks.
This information is used to discover neighbors and to learn when neighbors become unreachable or inoperative.
By default, hello packets are sent every 5 seconds.
The exception is on low-speed, nonbroadcast multiaccess (NBMA) media, where the default hello interval is 60 seconds.
Low speed is considered to be a rate of T1 or slower, as specified with the bandwidth interface command.
The hold time is advertised in hello packets and indicates to neighbors the length of time they should consider the sender valid.
The default hold time is three times the hello interval, or 15 seconds.
For slow-speed NBMA networks, the default hold time is 180 seconds.
Adjusting the Interval Between Hello Packets in EIGRP for IPv6
interface type number
ipv6 hello-interval eigrp as-number seconds
Router(config)# interface FastEthernet 0/0
Router(config)# ipv6 hello-interval eigrp 1 10
Adjusting the Hold Time in EIGRP for IPv6
On very congested and large networks, the default hold time might not be sufficient time for all routers to receive hello packets from their neighbors.
In this case, you may want to increase the hold time.
ipv6 hold-time eigrp as-number seconds
Router(config-if)# ipv6 hold-time eigrp 1 40
Customizing an EIGRP for IPv6 Routing Process
After you have enabled EIGRP for IPv6 on a specific interface, you can configure an EIGRP for IPv6
routing process.
The following optional tasks provide information on how to configure an EIGRP for IPv6 routing process to suit your needs:
Logging EIGRP Neighbor Adjacency Changes
Configuring Intervals Between Neighbor Warnings
Logging EIGRP Neighbor Adjacency Changes
You can enable the logging of neighbor adjacency changes to monitor the stability of the routing
system and to help you detect problems.
By default, adjacency changes are not logged.
Use the following task to enable such logging:
interface type number
ipv6 router eigrp as-number
log-neighbor-changes
Router(config)# interface FastEthernet 0/0
Router(config-if)# ipv6 router eigrp 1
Router(config-router)# log-neighbor-changes
Configuring Intervals Between Neighbor Warnings
When neighbor warning messages occur, they are logged by default.
Use the following task to configure the interval between neighbor warning messages.
interface type number
ipv6 router eigrp as-number
log-neighbor-warnings [seconds]
Router(config)# interface FastEthernet 0/0
Router(config-if)# ipv6 router eigrp 1
Router(config-router)# log-neighbor-warnings 300
Debugging Commands to
Troubleshoot an EIGRP for IPv6 Environment
debug eigrp fsm
debug eigrp neighbor [siatimer] [static]
debug eigrp packet
debug eigrp transmit [ack] [build] [detail] [link] [packetize]
[peerdown] [sia] [startup] [strange]