What is the Difference Between IPv4 and IPv6 Header

The main difference between IPv4 and IPv6 Header is that the source and destination addresses of IPv4 header are 32 bit long while the source and destination addresses of IPv6 header are 128 bits long.

A computer network is a collection of devices connected together to communicate with each other. Data travels from the source device to the destination device in the network by going through various layers. Network layer models define these layers. The latest network layer model is the TCP/IP model. The internet layer in this model transmits the packets between devices and uses the Internet Protocol (IP). There are two IP versions as IPv4 and IPv6. In the internet layer, the data is added with extra information. The data with all this information is called the header. The modified packet can be an IPv4 header or IPv6 header depending on the protocol of the network.

Key Areas Covered

1. What is IPv4 Header
     – Definition, Features
2. What is IPv6 Header
     – Definition, Features
3. What is the Difference Between IPv4 and IPv6 Header
     – Comparison of Key Differences

Key Terms

Internet Protocol, IPv4 Header, IPv6 Header

Difference Between IPv4 and IPv6 Header - Comparison Summary

What is IPv4 Header

A packet in a network that uses IPv4 creates an IPv4 header. It is as follows.

Difference Between IPv4 and IPv6 Header

Version – It is a 4-bit field that describes the IP type that is being used.

Header Length – It is a 4-bit field that gives the length of the IPv4 header in 32-bit words.

DiffServ – It is an 8-bit field that represents precedence, delay, throughput, reliability etc. Moreover, It is the Type of Service (ToS) field.

Total Length – It is a 16-bit field that describes the whole length of the packet.

Identification – It is a 16-bit field. When a particular packet belongs to a sequence of packets, all of them gets the same identification number. This helps to recognize them at the receiving end.

Flag – It is a 3-bit field that explains the fragmentation options.

Fragment – It indicates the fragment to which the packet belongs.

Time To Live (TTL) – It is an 8-bit field that indicates the time in seconds or number of router hops the packet can have before discarding.

Protocol – It is an 8-bit field that describes the protocol of receiving the data payload.

Header Checksum – It helps to verify the validity of the header.

Source IP address – It is a 32-bit address that describes the address of the device that sends the packet.

Destination IP address – It is a 32-bit address that describes the address of the receiving end.

Options – It is used for tasks such as testing, security, etc.

Data – It represents the real data that should be transmitted.

What is IPv6 Header

A packet in a network that uses IPv6 creates an IPv6 header. It is as follows.

Main Difference - IPv4 vs IPv6 Header

Version – It is a 4-bit field that describes the IP type that is being used.

Traffic class – It is an 8-bit field that describes the packet’s class or priority. Moreover, it is similar to the IPv4 ToS field.

Flow label – It is 20-bit long. Moreover, it indicates the position of the packet in a set of packets and helps to prioritize the packets, especially when transmitting voice.

Payload length – It is 16-bit long and displays the length of IPv6 payload with the extension headers and upper layer protocol data.

Next Header – It is an 8-bit field that shows the type of the first extension or the protocol in the upper layer.

Hop Limit – It is 8-bit long. It indicates the maximum number of routers the packet is capable of passing. This is similar to TTL field in IPv4 header.

Source address – It is 128 bits long. It is the address of the device that sends the packet.

Destination address – It is also 128 bits long. It is the address of the device that receives the packet.

Data – It represents the real data that should be transmitted.

Difference Between IPv4 and IPv6 Header

Definition

A packet with additional information which transmits from source to destination that uses Internet Protocol version 4 is called IPv4 header. A packet with additional information which transmits from source to destination that uses Internet Protocol version 6 is called IPv6 header. These definitions explain the main difference between IPv4 and IPv6 Header.

Complexity

Another difference between IPv4 and IPv6 Header is their complexity. IPv4 header is complex while IPv6 header is simple.

Fields

Also, fields such as header length, identification, flags etc. are available in IPv4 header. However, these are not present in the IPv6 header.

Option Fields

IPv4 contains a field for options while IPv6 contains a field called next header for extensions. Hence, this is another difference between IPv4 and IPv6 Header.

Source Address

The source address is also a major difference between IPv4 and IPv6 Header. The source address of IPv4 header is 32 bits while the source address of IPv6 header is 128 bits.

Destination Address

Moreover, the destination address of IPv6 header is 32 bits while destination address of IPv6 header is 128 bits.

Maximum Number of Hops

IPv4 header has a field called TTL to indicate the number of hops while IPv6 header has filed called hop limit to indicate the number of hops. This is also a difference between IPv4 and IPv6 Header

Conclusion

When transmitting data, the original data is added with extra information. That new packet is called a header. The header can be IPv4 or IPv6 depending on the Internet Protocol of the network. The main difference between IPv4 and IPv6 Header is that the source and destination addresses of IPv4 header are 32 bit long while the source and destination addresses of IPv6 header are 128 bits long.

Reference:

1. Asymmetric Encryption Algorithms, Diffie-Hellman, RSA, ECC, ElGamal, DSA, Available here.
2. Asymmetric Encryption Algorithms, Diffie-Hellman, RSA, ECC, ElGamal, DSA, Available here.

Image Courtesy:

1. “IP packet” By Nicolargo – Own work (CC BY-SA 3.0) via Commons Wikimedia
2. “IPv6 header (1)” By Ere at Norwegian Wikipedia – Own work (Public Domain) via Commons Wikimedia

About the Author: Lithmee

Lithmee holds a Bachelor of Science degree in Computer Systems Engineering and is reading for her Master’s degree in Computer Science. She is passionate about sharing her knowldge in the areas of programming, data science, and computer systems.

Leave a Reply