Cisco routers do not route IPv6 by default, so this capability should be activated with the “ipv6 unicast-routing” command. Cisco routers are dual-stack by default, capable of running IPv4 and IPv6 simultaneously on the same interfaces.
IPv6 allows the use of static routing and supports specific dynamic routing protocols (i.e., variations of the IPv4 routing protocols modified or redesigned to support IPv6), as follows:
- RIPng (RIP new generation)
- OSPFv3
- EIGRPv6
- IS-IS
- BGP
Note: IS-IS and BGP experienced the least number of modifications in order to run and support IPv6 because they were built with extensibility in mind.
RIPng, OSPFv3, and EIGRPv6 are new routing protocols that work independently of the IPv4 versions, and they run on a completely separate process on the device. BGP and IS-IS are exceptions to this rule, as they route IPv6 traffic using the same process as IPv4, but they use the concept of address families that hold the entire IPv6 configuration.
Many of the issues with IPv4 (e.g., name resolution or NBMA environments) still exist with IPv6 routing. An important aspect is that IPv6 routing protocols communicate with remote link-local addresses when establishing their adjacencies and exchanging routing information. Therefore, when you examine the routing table of an IPv6 router, you will notice that the next hops are the link-local addresses of the neighbors.
As mentioned, static routing is one of the options you can use with IPv6, and it has the same implications as with IPv4. The route can point to the following:
- The next hop (the next hop must be resolved)
- A multipoint interface (the final destination must be resolved)
- A point-to-point interface (no resolution is required)
RIP new generation (RIPng), also called RIP for IPv6, was specified in RFC 2080, and is similar in operation to RIPv1 and RIPv2. While RIPv2 uses the multicast address 224.0.0.9 to exchange routing information with its neighbors, RIPng uses the similar FF02::9 address and UDP port 521. Another difference between the two versions is that IPv6 is configured at the interface level, while RIPv1 and RIPv2 are configured at the global routing configuration level.
OSPFv3 is defined in RFC 2740 and is similar in operation to OSPFv2 (for IPv4). OSPFv3 even supports the same network types as OSPFv2, such as the following:
- Broadcast
- Non-broadcast
- Point-to-point
- Point-to-multipoint
- Point-to-multipoint non-broadcast
EIGRPv6 is similar in operation to EIGRP for IPv4 and uses IP protocol 88 to multicast updates to FF02::A.
Note: An important aspect to consider when implementing EIGRPv6 is that, unlike EIGRP for IPv4, the process is shut down until you manually enable it by issuing the “no shutdown” command under the routing process.
BGP for IPv6 is configured in the address family configuration mode, but it is based on the same configuration principles used by BGP for IPv4, as follows:
- An underlying transport IGP is required.
- There is an implicit iBGP loop-prevention mechanism that prevents iBGP-learned routes from being advertised to other iBGP neighbors (this can be solved by using route reflectors or confederations).
- There is an implicit eBGP loop-prevention mechanisms that does not accept routes entering an AS that has the same AS in the path.
- It uses the same best-path selection process.