IPv6 (Overview)
The Internet Protocol, version 6 (IPv6), is a new version of Internet Protocol (IP) that is designed to be an evolutionary step from the current version, IPv4. IPv6 is a natural increment to IPv4. Deploying IPv6 with defined transition mechanisms does not disrupt current operations. IPv6 adds increased address space. IPv6 also improves Internet capability by using a simplified header format, support for authentication and privacy, autoconfiguration of address assignments, and new quality-of-service capabilities.
This chapter contains the following information:
IPv6 Features
Most of the changes from IPv4 to IPv6 are described in the following categories:
Expanded routing and addressing capabilities - IPv6 increases the IP address size from 32 bits to 128 bits to support more levels of addressing hierarchy. IPv6 provides a much greater number of addressable nodes and employs simpler autoconfiguration of addresses.
The addition of a scope field improves the scalability of multicast routing to multicast addresses.
IPv6 defines a new type of address that is called an anycast address. An anycast address identifies sets of nodes. A packet that is sent to an anycast address is delivered to one of the nodes. The use of anycast addresses in the IPv6 source route allows nodes to control the path over which their traffic flows.
Header format simplification - Some IPv4 header fields have been dropped or have been made optional. This change reduces the common-case processing cost of packet handling. This change also keeps the bandwidth cost of the IPv6 header as low as possible, despite the increased size of the addresses. Even though the IPv6 addresses are four times longer than the IPv4 addresses, the IPv6 header is only twice the size of the IPv4 header.
Improved support for options - Changes in the way IP header options are encoded allow for more efficient forwarding. Also, the length of options has less stringent limits. The changes also provide greater flexibility for introducing new options in the future.
Quality-of-service capabilities - A new capability is added to enable the labeling of packets that belong to particular traffic flows for which the sender requests special handling. For example, the sender can request nondefault quality of service or real-time service.
Authentication and privacy capabilities - IPv6 includes the definition of extensions that provide support for authentication, data integrity, and confidentiality.
IPv6 Header and Extensions
The IPv6 protocol defines a set of headers, including the basic IPv6 header and the IPv6 extension headers.
Header Format
The following figure shows the elements that appear in the IPv6 header and the order in which the elements appear.
Figure 14-1 IPv6 Header Format
The following list describes the function of each header field.
Version - 4-bit Version number of Internet Protocol = 6.
Traffic Class - 8-bit traffic class field (see "Traffic Class").
Flow Label - 20-bit field (see "IPv6 Quality-of-Service Capabilities").
Payload Length - 16-bit unsigned integer, which is the rest of the packet that follows the IPv6 header, in octets.
Next Header - 8-bit selector. Identifies the type of header immediately following the IPv6 header. Uses the same values as the IPv4 protocol field (see "Extension Headers").
Hop Limit - 8-bit unsigned integer. Decremented by one by each node that forwards the packet. The packet is discarded if Hop Limit is decremented to zero.
Source Address - 128 bits. The address of the initial sender of the packet (see "IPv6 Addressing").
Destination Address - 128 bits. The address of the intended recipient of the packet. The intended recipient is not necessarily the recipient if an optional Routing Header is present.
Extension Headers
IPv6 includes an improved option mechanism over IPv4. IPv6 options are placed in separate extension headers that are located between the IPv6 header and the transport-layer header in a packet. Most IPv6 extension headers are not examined or processed by any router along a packet's delivery path until the packet arrives at its final destination. This feature is a major improvement in router performance for packets that contain options. In IPv4, the presence of any options requires the router to examine all options.
The other improvement is that, unlike IPv4 options, IPv6 extension headers can be of arbitrary length. Also, the number of options that a packet carries are not limited to 40 bytes. This feature, plus the manner in which IPv6 options are processed, permits IPv6 options to be used for functions that are not practical in IPv4. A good example of IPv6 options is the IPv6 authentication and security encapsulation options.
To improve performance when handling subsequent option headers, and the transport protocol that follows, IPv6 options are always an integer multiple of eight octets long. The integer multiple of eight octets retains the alignment of subsequent headers.
The following IPv6 extension headers are currently defined.
Routing - Extended routing (like IPv4 loose source route)
Fragmentation - Fragmentation and reassembly
Authentication - Integrity and authentication, security
Encapsulation - Confidentiality
Hop-by-Hop Option - Special options that require hop-by-hop processing
Destination Options - Optional information to be examined by the destination node