Routing for IPv6
A version of this page is also available for
4/8/2010
The primary function of IPv6, routing is the process of forwarding packets between connected network segments, also known as links or subnets. IPv6 routers are attached to two or more IPv6 network segments and enable hosts on those segments to forward IPv6 packets between them. IPv6 packets are exchanged and processed on each host by using IPv6 at the Internet layer.
In effect, IPv6 is the mailroom in which IPv6 data sorting and delivery occur. Incoming or outgoing IPv6 packets contain both the source address of the sending host and the destination address of the receiving host. Unlike link-layer addresses, IPv6 addresses in the IPv6 header typically remain the same as the packet travels across an IPv6 network.
Above the IPv6 layer, transport services on the source host pass data in the form of TCP segments or UDP messages down to the IPv6 layer. The IPv6 layer creates IPv6 packets with source and destination address information that is used to route the data through the network. The IPv6 layer then passes packets down to the link layer, where the packets are converted into frames for transmission over network-specific media on a physical network. This process occurs in reverse order on the destination host.
IPv6 layer services on each sending host examine the destination address of each packet, compare this address to a locally maintained routing table, and then determine what additional forwarding is required.
IPv6 Routers
IPv6 routers provide the primary means for joining together two or more physically separated IPv6 network segments. The routers pass IPv6 packets from one network segment to another. The following illustration shows how routers connect network segments.
Network segments are identified by using an IPv6 network prefix and prefix length. The following table shows the characteristics of IPv6 routers.
Characteristic | Description |
---|---|
Are physically multihomed hosts |
A physically multihomed host is a network host that uses two or more network connection interfaces to connect to each physically separated network segment. |
Provide packet forwarding for other IPv6 hosts |
IPv6 routers are distinct from other hosts that use multihoming. An IPv6 router must be able to forward IPv6-based communication between networks for other IPv6 network hosts. |
You can implement IPv6 routers by using a variety of hardware and software products, including a computer running Windows CE .NET 4.1 and later with the IPv6 protocol. Routers that are dedicated hardware devices running specialized software are common. Regardless of the type of IPv6 routers that you use, all IPv6 routing relies on a routing table to communicate between network segments.
IPv6 Routing Table
IPv6 hosts use routing tables to maintain information about other IPv6 networks and IPv6 hosts. The routing tables provide important information about how to communicate with remote networks and hosts. Every device that runs IPv6 determines how to forward packets based on the contents of the IPv6 routing table. The following list shows the information contained in the IPv6 routing table:
- An address prefix
- The interface over which packets that match the address prefix are sent
- A forwarding or next-hop address
- A preference value used to select between multiple routes with the same prefix
- The lifetime of the route
- The specification of whether the route is published (advertised in a Routing Advertisement)
- The specification of how the route is aged
- The route type
The IPv6 routing table is built automatically, based on the current IPv6 implementation of your device. When forwarding IPv6 packets, your device searches the routing table for an entry that is the most specific match to the destination IPv6 address. A route for the link-local prefix (FE80::/64) is not displayed.
Typically, a default router is used because it is not practical to maintain a routing table for each communication device on an IPv6 network that lists communication information for every other device. The default route (a route with a prefix of ::/0) is typically used to forward an IPv6 packet to a default router on the local link. Because the router that corresponds to the default router contains information about the network prefixes of the other IPv6 subnets within the larger IPv6 internetwork, it forwards the packet to other routers until the packet is eventually delivered to the destination.
Routing Process
The following steps occur during the routing process:
- Before a communication device sends an IPv6 packet, it inserts its source IPv6 address and the destination IPv6 address (for the recipient) into the IPv6 header.
- The device then examines the destination IPv6 address, compares it to a locally maintained IPv6 routing table, and takes appropriate action. The device does one of three things:
- It passes the packet to a protocol layer above IPv6 on the local host.
- It forwards the packet through one of its attached network interfaces.
- It discards the packet.
- IPv6 searches the routing table for the route that is the closest match to the destination IPv6 address. The most specific to the least specific route is determined in the following order:
- A route that matches the destination IPv6 address (a host route with a 128-bit prefix length).
- A route that matches the destination with the longest prefix length.
- The default route (the network prefix ::/0).
- If a matching route is not found, the destination is determined to be an on-link destination.
See Also
Tasks
Viewing the IPv6 Routing Table