As earlier we discuss that IPv6 is the improved version of the internet protocol. The IPv6 header is one of the major improvements over IPv4 header. The header format has been greatly simplified. Some of the header fields have 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 removed and replaced with improved functions in the IPv6 Extension Header.
IPv6 Header Format
The figure below illustrates the IPv4 header containing 20 octets and 12 basic header fields, not including the Options field. Some fields have remained the same in IPv6 header, some fields have changed names and positions, and some IPv4 fields are no longer required.
The improved and simplified IPv6 header as shown in 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 also some new field has been added.
IPv6 Header Field Name
- Version – This field has a 4-bit binary value set to 0110 that represents 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 used for Type of Service to let the Router Known what services to 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. Payload length 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 then it indicates the Upper Layer PDU. The values for the type of Upper Layer PDU are same as IPv4’s
- Hop Limit– Hop Limit replaced the IPv4 TTL field. It stops packet to loop in the network infinitely. The value has decreased 1 at each router that forwards the packet. When the value reaches 0; the packet discarded, and an ICMPv6 Time Exceed message forward to the sending host,; indicating that the packet did not reach its destination because the hop limit 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 mention fields fixed for IPv6 packet header. An IPv6 packet may also contain extension headers (EH), which give optional network layer information. Extension headers are optional and placed between the IPv6 header and the payload. Extension Header are also used for security, fragmentation, routing header, hop by hop option header, to support mobility and more.