Understanding the IPv6 Header
- By Joseph Davies
At the end of this chapter, you should be able to do the following:
Describe the structure of an IPv6 packet.
List and describe the fields in the IPv4 header.
List and describe the fields in the IPv6 header.
Compare and contrast the fields in the IPv4 header with the fields in the IPv6 header.
List and describe each IPv6 extension header.
Describe the IPv6 maximum transmission unit (MTU).
Describe the new pseudo-header used for upper-layer checksums.
Structure of an IPv6 Packet
An Internet Protocol version 6 (IPv6) packet consists of an IPv6 header, extension headers, and an upper-layer protocol data unit. Figure 4-1 shows the structure of an IPv6 packet.
Figure 4-1 The structure of an IPv6 packet.
The components of an IPv6 packet are the following:
IPv6 Header The IPv6 header is always present and is a fixed size of 40 bytes. The fields in the IPv6 header are described in the "IPv6 Header" section in this chapter.
Extension Headers Zero or more extension headers can be present and are of varying lengths. If extension headers are present, a Next Header field in the IPv6 header indicates the first extension header. Within each extension header is another Next Header field, indicating the next extension header. The last extension header indicates the header for the upper-layer protocol—such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP), or Internet Control Message Protocol for version 6 (ICMPv6)—contained within the upper-layer protocol data unit.
The IPv6 header and extension headers replace the existing IPv4 header and its options. The new extension header format allows IPv6 to be enhanced to support future needs and capabilities. Unlike options in the IPv4 header, IPv6 extension headers have no maximum size and can expand to accommodate all the extension data needed for IPv6 communication. IPv6 extension headers are described in the "IPv6 Extension Headers" section in this chapter.
Upper-Layer Protocol Data Unit The upper-layer protocol data unit (PDU) typically consists of an upper-layer protocol header and its payload (for example, an ICMPv6 message, a TCP segment, or a UDP message).
The IPv6 packet payload is the combination of the IPv6 extension headers and the upper-layer PDU. Normally, it can be up to 65,535 bytes long. IPv6 packets with payloads larger than 65,535 bytes in length, known as jumbograms, can also be sent.