A Simple Description of the IPv6 Header and Datagram
By Stephen Bucaro
An IPv6 header has 8 fields, rather than the 12 fields of an IPv4 header. Since the IPv6 header has
a fixed length of 40 bytes (320 bits), the header length field is left out. And since the
checksum is handled at both the link layer and transport layer the checksum field is left out.
The IPv6 header contains the following fields:
Version: 4 bits that identify the version of IP protocol. In this case it will always be 0110.
Traffic Class: 8 bits that define the quality of service (QoS) on the network.
Flow Label: 20 bits that tag a flow of data from souce to destination. This tag can be
used by routers to identify congested routes and make adjustments to improve the QoS.
Payload Length: 16 bits that give the length of the packet that follows the header. Since it's
16 bits, the maximum payload length can be 65,536 bytes.
Next Header: 8 bits. In an IPv6 datagram, one or more extension headers may appear before the payload.
When an IPv6 datagram does uses an extension header(s), this field contains an identifier for the first
For example, a hexadecimal value of 3C means the extension header contains information intended for
the ultimate destination of the datagram. A hexadecimal value of 44 means the extension header contains
information needed for fragmenting. A hexadecimal value of 00 means the extension header contains
information for every router between the source and destination.
An extension header can be variable length. The first 8 bits of an extension header are a Next Header
field that works the same as the Next Header field in the IPv6 header. In other words, extension
headers are daisy chained, each using its own Next Header to describe the next extension header, and so on.
Hop Limit: 8 bits that is a value that gets decremented each time a router forwards the datagram.
When a router decrements this value to zero, it rejects the datagram and sends a Time exceeded
error back to the source.
Data Payload: The IPv6 header and optional extension headers are followed by the data payload.
The Next Header field of the last IPv6 header indicates what type of payload is contained in this packet.
The 16 bit Payload Length field of IPv6 is capable of specifying a maximum size of 65535 bytes
for the payload. An optional feature of IPv6 is the jumbo payload option in a Hop-By-Hop extension
header, which allows packets with payloads of up to one byte less than 4 GB (232 - 1 = 4294967295 bytes),
by making use of a 32-bit length field.
More Networking Protocols and Standards:
• Free eBook: IPv6 Addressing
• Understanding IP Routing
• Remote Control Protocols
• TCP/IP Features
• IPv6 Dynamic Address Allocation
• Networking and Internet Standards Organizations
• Network Routing Protocols - IGRP, EIGRP, OSPF, ISIS, BGP
• Ports and Sockets
• What Are Private IP Addresses?
• What's the Difference Between a Packet and a Frame?