Library

15.3.4 IPv6 Packet Structure

In addition to expanding the address space, IPv6 introduces a simplified packet header designed to improve forwarding efficiency. Unlike the IPv4 header, which has a variable length, the IPv6 base header has a fixed length of 40 bytes. Because the location of every field is fixed, routers can process packets more rapidly.

Several fields used in IPv4 have been simplified or removed. In particular, the IPv6 header no longer contains a header checksum, since modern communication systems already provide error detection at other protocol layers. Similarly, packet fragmentation is no longer performed by intermediate routers, reducing forwarding complexity within the network.

Optional functionality is provided through extension headers, which are included only when required. This keeps the base header compact while allowing additional features such as routing options, fragmentation, security, and mobility to be incorporated when necessary.

Figure 15.3. The structure of an IPv6 datagram.

A key feature of the IPv6 header is the Next Header field. Rather than identifying only the transport-layer protocol, this field specifies the type of header that immediately follows the current one. If no extension headers are present, it identifies the transport protocol, such as TCP, UDP, or ICMPv6. If extension headers are included, the Next Header field points to the first extension header.

Each extension header contains its own Next Header field, creating a chain of linked headers. A receiving device follows this chain until it reaches the transport-layer protocol. This flexible design allows new protocol features to be introduced without changing the basic IPv6 header structure, making the protocol easier to extend while maintaining compatibility with existing equipment.

Figure 15.5 illustrates several examples of how the Next Header field links together different combinations of extension headers.

Figure 15.4. Examples of the use of the NEXT HEADER field in IPv6 headers.