IPv6 routing is almost identical to IPv4 routing under CIDR. The only difference is that the addresses are 128-bit IPv6 addresses instead of 32-bit IPv4 addresses. With very straightforward extensions, all of IPv4's routing algorithms, such as Open Shortest Path First (OSPF), RIP, Inter-domain Routing Protocol (IDRP), and the Intermediate System to Intermediate System (IS-IS) protocol, can be used to route IPv6.
IPv6 also includes simple routing extensions that support the following powerful routing capabilities:
Provider selection that is based on policy, performance, cost, and, so on
Host mobility (route to current location)
Auto-readdressing (route to new address)
You obtain these routing capabilities by creating sequences of IPv6 addresses that use the IPv6 routing option. An IPv6 source uses the routing option to list one or more intermediate nodes or topological group to be visited on the way to a packet's destination. This function is very similar to IPv4's loose source and record route option.
To make address sequences a general function, IPv6 hosts are required to reverse routes in a packet that a host receives. The packet must be successfully authenticated by using the IPv6 authentication header. The packet must contain address sequences to return the packet to its originator. This technique forces IPv6 host implementations to support the handling and reversal of source routes. The handling and reversal of source routes enables providers to work with hosts that implement various IPv6 capabilities, such as provider selection and extended addresses.