Header format simplification
IPv6 simplifies the IP header by removing entirely or by moving to an extension header some of the fields found in the IPv4 header. It defines a more flexible format for optional information (the extension headers).
Specifically, note the absence of:
- header length (length is constant)
- identification
- flags
- fragment offset (moved into fragmentation extension headers)
- header checksum (upper-layer protocol or security extension header handles data integrity).
Item | Description | Description | Description | Description |
---|---|---|---|---|
Version |
IHL |
Type of Service |
Total Length |
|
Identification |
Identification |
Identification |
Flags |
Fragment Offset |
Time to Live |
Time to Live |
Protocol |
Header Checksum |
Header Checksum |
Source Address |
Source Address |
Source Address |
Source Address |
Source Address |
Destination Address |
Destination Address |
Destination Address |
Destination Address |
Destination Address |
Options |
Options |
Options |
Options |
Padding |
Item | Description | Description | Description | Description |
---|---|---|---|---|
Version |
Prio |
Flow Label |
||
Payload Length |
Payload Length |
Payload Length |
Next Header |
Hop Limit |
Source Address |
Source Address |
Source Address |
Source Address |
Source Address |
Destination Address |
Destination Address |
Destination Address |
Destination Address |
Destination Address |
IPng includes an improved options 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 extension headers are not examined or processed by any router along a packet delivery path until it arrives at its final destination. This mechanism facilitates a major improvement in router performance for packets containing options. In IPv4 the presence of any options requires the router to examine all options.
Another improvement is that, unlike IPv4 options, IPv6 extension headers can be of arbitrary length and the total amount of options carried in a packet is not limited to 40 bytes. This feature, plus the manner in which it is processed, permits IPv6 options to be used for functions that were not practical in IPv4, such as the IPv6 Authentication and Security Encapsulation options.
To improve the performance when handling subsequent option headers and the transport protocol that follows, IPv6 options are always an integer multiple of eight octets long to retain this alignment for subsequent headers.
By using extension headers instead of a protocol specifier and options fields, newly defined extensions can be integrated more easily.
Current specifications define extension headers in the following ways:
- Hop-by-hop options that apply to each hop (router) along the path
- Routing header for loose/strict source routing (used infrequently)
- A fragment defines the packet as a fragment and contains information about the fragment (IPv6 routers do not fragment)
- Authentication (See TCP/IP security in Security
- Encryption (See TCP/IP security in Security
- Destination options for the destination node (ignored by routers).