Internet Protocol Version 6 (IPv6) Header Format

Learn via video courses
Topics Covered

IPv6 boasts a concise header despite its address being quadruple the size of IPv4. Its header structure consists of a Fixed Header containing vital routing data, and potentially, Extension Headers for additional packet details. This design ensures efficiency and complexity improvements over IPv4. IPv6's innovative approach enhances internet protocol capabilities, maintaining essential routing information while accommodating optional packet nuances.

List of IPv6 Header Format Components

There are two main parts to the IPv6 data packet that is header and payload. The header of IPv6 is of a fixed length of 40 bytes which has the following fields:

Refer to the below image for the components of the IPv6 header

List of IPv6 Header Format Components

  • Version
  • Traffic Class
  • Flow label:
  • Payload Length (16-bits)
  • Next Header (8-bits):
  • Hop Limit (8-bits)
  • Source Address (128 bits)
  • Destination Address (128 bits)

IPv6 Fixed Header

The size of the IPv6 fixed header is 40 bytes long and the IPv6 header format consists of the following information:

Refer to the below image for the IPv6 fixed header

Header File of IPv6

Version (4-bits)

It shows the version of the internet protocol we used, i.e. 0110

Traffic Class (8-bits)

This is an 8-bit field in which 8 bits are divided into two parts. The most significant 6-bit is for the type of service so that the router will get to know about what services need to be provided to the given packet. And for Explicit Congestion Notification (ECN), the least significant 2-bit is used.

Flow Label (20-bits)

This 20-bit is required for maintaining the sequential flow of packets related to a particular communication. This field is also helpful in avoiding the reordering of packets. The source labels the sequence to help the router so that it can identify that a particular packet is related to a specific flow of data. It is generally used for real or streaming media.

Payload Length (16-bits)

This field is used to help the router know how much information is stored in the payload of a particular packet.

Next Header (8-bits)

This field is used to represent the type of extension header or if the extension header is not present then it shows the Upper Layer PDU. The value for Upper Layer PDU is the same as that of values in IPv4.

Hop Limit (8-bits)

Hop limit is a field in a header that stops the header from going into an infinite loop in the network. It works the same as that of TTL in IPv4. When it passes a hop or router its value is decremented by 1. The packet is discarded when it reaches 0.

Source Address (128-bits)

This field provides the address from where the packet originates.

Destination Address (128-bits)

The destination address is the address of the packet's intended recipient.

IPv6 Extension Headers

The fixed headers in IPv6 store only the information which is necessary, instead of the information that is rarely used or not needed. All this rarely used or not required information is stored in the form of the extension header and placed between the fixed header and the upper header. A distinct value is used for the identification of the extension header.

In the IPv6 header format, the Fixed Header's next header points to the header that is the first extension header, when the extension header is used. After this, if one or more header is present in the extension header then, the next header field of the first extension header points to the second extension header and follows this process for the rest of the extension headers. The next header field of the last extension header points to the Upper Layer header.

If there is a 59 value in the next header field then, it shows that there is no header after this header. And also not even the Upper Layer header is here after this header.

Following are some extension headers that must be supported according to RFC 2460:

Refer to the below image for the extensions header supported by RFC 2460.

IPV6 format of header

The sequence of the Extension headers is given below:

Refer to the below image for the sequence of the extension header.

IPv6 Extension Headers

The headers that are arranged one after another in a linked list format are known as extension headers. The extension header is shown in the given figure.

Refer to the below image for the linked list format of the extension header.

IPv6 Extension Headers 2

Rules of Headers

The order of the header is defined by some predefined rules which are given below:

  • If there is a hop-by-hop option then it must be after the base header of the IPv6 header.
  • All headers except the destination header must be present once in the list.
  • If the destination header appears before the routing header, then all the intermediate nodes that are in the routing header examine the destination header.
  • If the destination header is present before the upper layer, then only the destination nodes will examine the destination header.

Sequence of Headers

Below is the sequence given for the arrangement of extension headers of the IPv6 packet:

Extension HeaderDescription
Hop by Hop OptionsAll the devices that are present on the path examine this
Destination Options (with routing options)Packet's destination examine this
Routing HeaderMethods for taking the routing decision.
Fragment HeaderContains fragmented datagram parameters
Authentication HeaderAuthenticity verification
Encapsulation Security PayloadEncrypted data is carried by this

Conclusion

  • 1 is an improved IP protocol over IPv4 in terms of efficiency and complexity.
  • IPv6 header format comprises Version, traffic class, flow label, Payload Length, next header, hop limit, Source address, and destination address.
  • IPv6 fixed header is 40 bytes in length.
  • IPv6 extension header stores the rarely used or unnecessary information and the necessary information is stored in the fixed header.
  • There are some rules defined for the sequence of the extension header of the IPv6