What does an IPv6 packet look like?


The new Ipv6 header is actually much simpler then that of the classic IPv4 header. The IPv4 header consists of 24 bytes, 8 of which are used for IPv4 addresses and the remaining 16 bytes by 12 additional fields. The IPv6 header has only 40 bytes, 32 of which are used for IPv6 addresses and the remaining 8 bytes by 6 additional fields. Unlike IPv4, IPv6 headers do not contain any optional elements. For all of the additional functions that you may wish to support, IPv6 uses extension headers.

These headers are only present if the function is explicitly requested. This allows packets to pass quickly through routers, and only packets with particular requests have to be examined more thoroughly.










Flow Label

Payload Length

Next Header

Hop Limit


Source Address


Destination Address


IPv6 Header












Service Type

Total Length



Fragment Offset

Time to Live


Header Checksum

Source IP Address

Destination IP Address



IPv4 Header


IPv6 Header Fields

Version - This field is the only field that kept the same meaning from IPv4 to IPv6. The 4-bit version field contains the number 6. It is the same size as the IPv4 version field, which contains the number 4. However, this field is not used to distinguish between IPv4 and IPv6 packets. The protocol type field present in the layer 2 envelope is used for that.

Priority - The 4-bit priority field allows an application to specify the type of traffic that is being sourced. This allows the network to take of advantage of the various queuing and congestion control mechanisms that may exist within it.

Flow Label - The 24 bit Flow Label field is used to label a set of packets that belong to the same flow. Similar to the Service Type (Diffserv) field in IPv4, this allows network devices to prioritize, police or shape traffic flows appropriately.

Payload Length - This 16-bit field is similar to the IPv4 Total Length Field, except that with IPv6 the Payload Length field is the length of the data carried after the header, whereas with IPv4 the Total Length Field included the header.

Next Header - This 8-bit field reflects the new organization of IP packets with IPv6. In IPv4, the IP header is always immediately followed by the transport protocol data. (E.g. UDP or TCP) and defined by the IPv4 Protocol Type field. With IPv6 we can have the same structure and set the next protocol type to be UDP (16) or TCP (6), or we can interleave Extension Headers between the IP and TCP/UDP payload. The next header type will then be set to the type of the first Extension Header.

Hop Limit - This 8-bit field defines by number a count of the maximum hops that a packet can remain in the network before it is destroyed. With the IPv4 TLV field this was expressed in seconds and was typically a theoretical value and not very easy to estimate.

Source Address - This 128-bit field contains the Source IPv6 address of the packet.

Destination Address - This 128-bit field contains the Destination IPv6 address of the packet.

Extension Headers - The current IPv6 specification defines 6 extension headers