Introduction IPv6 Header Format
IPV6 header format is of 40 bytes in length, contains information essential to routing and delivery, consist of 8 fields, Version, Traffic Class, Flow Label, Payload length, next header, HOP limit, Source address and destination address, where each has its own features and provides essential data required to transmit the data. Version is 4 bit field, traffic class is of 8 bit, flow label is of 20 bits, payload length is 2 byte field, next header is of 8 bit, hop limit is 8 bit field, the source address is of 16 bytes and the destination address is of 16 bytes.
List of IPv6 Header Format Component
IPv6 Header Format Component, the data packet of IPv6 encompasses two main parts i.e. header and the payload. The IPv6 consists of 40 bytes long fixed header which contains the following fields.
Let’s see the significance of the individual components of IPv6 Header in details-
It signifies the version of the Internet protocol in 4-bit sequence i.e. 0110. This field does not hold much importance as the IPv6 and IPv4 packets are not determined based on the version field but by the type of the protocol present inside the layer 2 envelopes.
This field is similar to the Service Field of IPv4 packet. It signifies the priority of the IPv6 packet. It is responsible to handle the traffic based on the priority of the packet. In case of congestion on the router, it discards the packets with low priority.
It uses 8 bits of memory to control traffic congestion.
|0||No specific traffic|
|2||Unattended data traffic|
|4||Attended bulk data traffic|
The source node can set the priorities but the destination can’t expect the same set of priorities as the router can change the priorities on the way.
- This label ensures that the packets maintain the sequential flow belonging to the same communication. With the help of the source, the label router identifies which packet belongs to which flow of information. It also helps to avoid the reordering of the data packets.
- Flow label must be set to 0 in case the router and host don’t support the flow label functionality. It uses 20 bits of memory for its functioning.
4)Payload Length (16-bits):
Payload length indicates the router about the size of the information contained by a particular packet. Payload length also consists of the upper layer packet and extension header (if any). If the payload length becomes greater than the 65,535 bytes then the payload length field becomes 0.
5)Next Header (8-bits):
Next Header signifies the Extension Header type, in some cases when the Extension Header is not present it signifies the protocols present inside the upper layer packet like UDP, TCP, etc. UDP (17) and TCP (6) are the most common Next Headers but other types of headers are also possible. If compare with the IPv4 protocol, the Next Header is similar to the IPv4 protocol field.
6)Hop Limit (8-bits):
This field makes sure that the packet does not go into an infinite loop, every time the packet passes the link (router) this field is decremented by 1 and when it finally reaches where the package is discarded. This field also set an upper threshold on the maximum numbers of links between two nodes of the IPv6 protocol. It allows a maximum of 255 hops between the nodes and anything after that will get discarded.
7)Source Address (128 bits):
This 128-bit source address field signifies the origin address of the package.
8)Destination Address (128 bits):
This 128-bit destination address field signifies the intended recipient address of the packet.
9)Extension Headers IPv6 Header Format:
- Extension Headers are introduced in IPv6 to overcome the limitation of Option Field of IPv4. Unlike IPv4, In IPv6 only information that is really necessary is defined in the Fixed Header and all those information that are not so important or don’t get frequently used are defined in the Extension Header. Extension Header is present in between the Upper-Layer Header and the Fixed Header. Each Extension Header has a unique value that differentiates it from the other Extension Headers.
- In case extension headers are being used then Fixed Header’s Next Header’s field will point to the first Extension Header. Similarly, if there are multiple Extension Header then it works in a similar fashion.
IPv6 packet can have one or more than one extension headers, these headers should present in a specific sequence as mentioned below:
|Order||Header Type||Next Header Code|
|1||Basic IPv6 Header||–|
|2||Hop by Hop option||0|
|3||Destination options (with routing options)||60|
|7||Encapsulation Security Payload Header||50|
|No next Header||59|
Rules of Headers
There are some predefined rules that define the order of the headers, let’s have a look at these rule sets
- If Hop by Hop option is present then it should be present after the IPv6 base Header.
- Except for Destination Header, all other Headers can appear only once in the list.
- In case the Destination Header is placed before the Routing Header then the Destination Header will be examined by all the intermediate nodes present in the Routing Header.
- In case the Destination Header is placed prior to Upper Layer then the Destination Header will be examined only by the Destination Node.
Sequence of Headers
Let’s have a look at the sequence in which all the Extension Header should be arranged in an IPv6 packet
|Hop by Hop Options||Examined by all devices on the path|
|Destination Options (with routing options)||Examined by the destination of the packet|
|Routing Header||Methods to take a routing decision|
|Fragment Header||Contains parameters of fragmented datagram done by the source|
|Authentication Header||Verify authenticity|
|Encapsulation Security Payload||Carries Encrypted data|
We have learned the IPv6 Header format and the different components present in the Header. We have seen the significance of each component and how these components are different than that of the IPv4 protocol. We have also learned the different rule sets that should be taken into consideration while sequencing the header type.
This has been a guide to IPv6 Header Format. Here we have discuss the basic concept, Components and the sequence where ipv6 packets are arranged. You can also go through our other suggested articles to learn more –