Forwarding an IPv6 datagram beyond a directly attached subnet requires a router. Routers look at the datagram's destination IPv6 address and search for a matching prefix in their local routing tables. The first section of this chapter explains the routing table. It is very important for the router to have all relevant destinations in its routing table. But how do they get there? Entering them manually on all routers would not be very economical. A much more efficient automatic approach can be achieved by deploying routing protocols. Routing protocols define exchange procedures to synchronize the routing table between routers dynamically. Routing information needs to be distributed either within an autonomous system (AS) or between autonomous systems. An AS is defined as a set of networks governed by a single authority. Routing protocols that distribute information within an AS are called Interior Gateway Protocols (IGP). OSPF for IPv6, RIPng, IPv6 support on integrated IS-IS, and EIGRP for IPv6 belong to this category. Protocols that distribute information between ASes are called Exterior Gateway Protocols (EGP). BGP-4 and its extensions for IPv6 represent such a protocol.
This chapter explains the routing protocols RIPng, OSPF for IPv6, and BGP-4 support for IPv6 in detail. They represent the most important routing protocols in use today. The last section, "Additional Routing Protocols for IPv6," gives a brief description of IS-IS for IPv6 and EIGRP for IPv6, and also upcoming multicast routing for IPv6.
Most of the routing protocols discussed here can be used only for the exchange of IPv6 routing information. If IPv4 and IPv6 are deployed on the same network, separate routing protocols must be implemented: one for IPv4 and one for IPv6for example, OSPFv2 for IPv4 routing and OSPFv3 for IPv6 routing. The only exceptions are the routing protocols BGP-4 and IS-IS. They can exchange routing information for both IP protocols within the same instance.