IPv6 Header and Fields – Exclusive Details
As we discussed earlier, IPv6 is the improved version of the internet protocol. The IPv6 header is one of the major improvements over the IPv4 header. The header format has been greatly simplified. Some header fields have been removed, and others have moved to the optional IPv6 Extension Header. The IPv6 header is only twice the size of the IPv4 header because the IPv6 address is 128-bit. It has greatly evolved from its IPv4 predecessor. The header of IPv6 is larger but takes up a smaller percentage of the overall header space. Some fields, for example, the Options Field and Header Checksum, have been removed and replaced with improved functions in the IPv6 Extension Header.
IPv6 Header Format
The figure below illustrates the IPv4 header, which contains 20 octets and 12 basic header fields, not including the Options field. Some fields have remained the same in the IPv6 header, some have changed names and positions, and some IPv4 fields are no longer required.
The improved and simplified IPv6 header, as shown in the Figure below, consists of 40 octets (largely due to the 128 bit both of the source and destination IPv6 addresses) and 8 header fields (3 IPv4 basic header fields and 5 additional header fields). As shown in the figure, some fields have kept the same names as IPv4, some fields have changed names or positions, and some new fields have been added.
IPv6 Header Field Name
- Version – This field has a 4-bit binary value set to 0110, representing this as an IPv6 packet.
- Traffic Class – This 8-bit field is equal to the IPv4 Differentiated Services (DS) field further divided into two parts. The first 6 bits are used for the Type of Service to let the Router know what services will be provided to this packet. The last 2 bits are for Explicit Congestion Notification (ECN).
- Flow Label – This 20-bit field suggests that all packets with the same flow label receive the same type of handling by routers. The flow label keeps the sequential flow of the packets belonging to a communication. The source of the packet labels the sequence to help the router show that a particular packet belongs to a specific flow of information. This field helps avoid re-ordering of data packets. It is for real-time media and streaming.
- Payload Length—This 16-bit field indicates the length of the data portion of the IPv6 packet. It tells the routers how much information a particular packet contains in its payload.
- Next Header – This 8-bit field is equal to the IPv4 Protocol field. So that field indicates either the type of Extension Header or, if the Extension Header is not present, it indicates the Upper Layer PDU. The values for the type of upper-layer PDU are the same as IPv4’s
- Hop Limit—Hop Limit replaced the IPv4 TTL field. It stops packets from looping in the network infinitely. The value has decreased by 1 at each router that forwards the packet. When the value reaches 0, the packet is discarded, and an ICMPv6 Time Exceed message is forwarded to the sending host, indicating that the packet did not reach its destination because the hop limit was exceeded.
- Source Address – This 128-bit field identifies the IPv6 address of the originator host.
- Destination Address – This 128-bit field identifies the IPv6 address of the destination host.
The above-mentioned fields are fixed for the IP version 6 packet header. An IP version 6 packet may also contain extension headers (EH), which give optional network layer information. Extension headers are optional and placed between the IP version 6 header and the payload. Extension Headers are also used for security, fragmentation, routing headers, hop-by-hop option headers, mobility support, and more.