Skip to main content

IPv4 vs IPv6: Packet structures and difference between ipv4 and ipv6


IPv4 vs IPv6: Significant Size Difference

There is significant difference in size between IPv6 and IPv4 addresses. IPv6 addresses, being 128 bits in length, indeed offer a vastly larger address space compared to IPv4’s 32-bit addresses. This expanded address space allows for an exponentially greater number of unique addresses, ensuring that devices connected to the Internet will not face the issue of address exhaustion, which was becoming a concern with IPv4 due to the rapid growth of internet-connected devices worldwide.

It effectively distinguishes between the roles of IP addresses and MAC addresses in networking. IP addresses serve as identifiers for devices within a network and are akin to postal codes, directing data packets to their intended destinations on the Internet. MAC addresses, on the other hand, are unique identifiers assigned to network interface cards (NICs) and function as hardware addresses within a local network. They play a crucial role in local network communication, ensuring that data is correctly routed to the intended device within the network. While IP addresses are visible to the broader Internet and are essential for global communication, MAC addresses operate at a lower level and are primarily used for communication within a local network.

IPv4 and IPv6 have a significant size difference, mainly in address length and packet header size.

1. Address size (the big difference)

  • IPv4: 32 bits
    Example: 192.168.1.1
    Total addresses: about 4.3 billion
  • IPv6: 128 bits
    Example: 2001:0db8:85a3::8a2e:0370:7334
    Total addresses: about 3.4 × 1038

➡️ IPv6 addresses are 4× longer in bits and astronomically more numerous.

2. Packet header size

  • IPv4 header:
    • Minimum: 20 bytes
    • Maximum: 60 bytes (due to optional fields)
  • IPv6 header:
    • Fixed: 40 bytes
    • No header options (uses extension headers instead)

➡️ IPv6 headers are larger than the minimum IPv4 header, but simpler and more predictable.

3. Efficiency trade-off

Feature IPv4 IPv6
Address size32 bits128 bits
Header size20–60 bytes40 bytes
Header complexityVariableFixed
NAT neededCommonNot required
Routing efficiencyLowerHigher

Even though IPv6 headers are bigger, routing is often faster because:

  • Fixed header size
  • Fewer fields to process
  • No checksum in the header

4. Is the size difference “significant” in practice?

  • Yes for:
    • Address storage
    • Logs and databases
    • Human readability
  • Usually no for:
    • Network performance on modern links
    • Bandwidth usage (40 bytes is tiny compared to typical packet sizes)

Summary

  • IPv6 uses much larger addresses
  • IPv6 headers are larger but simpler
  • The size increase enables massive scalability and cleaner networking

Structural Bit Calculation of IPv4 and IPv6

Yes. Let’s calculate the number of bits step-by-step using the actual structure of IPv4 and IPv6 addresses. This is the clearest justification.

IPv4: Structural Bit Calculation

Example IPv4 Address

192.168.1.1

Total:IPv4 = 32 bits

IPv6: Structural Bit Calculation

2001:0db8:85a3:0000:0000:8a2e:0370:7334
8 × 16 bits = 128 bits

IPv6 = 128 bits

 

What is the main difference between IPv4 and IPv6?


IPv4 was introduced in the 1970s. You may be aware that once we connect our devices to the internet, they are assigned a unique id. More specifically, when two routers begin communicating, they are assigned a unique IP address. Then our gadgets, such as PDAs, computers, and other mobile devices, connect to the internet via nearby routing devices. There could be a lot of intermediary routers in front of them. The main differences between IPv4 and IPv6 systems are discussed in this article. 


We know that IPv4 applications can still be used in IPv6 networks. Because the IPv6 system is backwards compatible with the IPv4 system. When you buy new hardware, it comes pre-configured with IPv6.



Difference in number of addressing bits in IPv4 vs. IPv6

IPv4 addresses are 32 bits long, while IPv6 addresses are 128 bits long. You may be aware that the number of internet-connected gadgets is currently 5-6 times the total number of people on the planet. To assign IP addresses to all devices, IPv4 is insufficient. On the other hand, the number of internet-connected gadgets is rapidly increasing. In this condition, IPv4 can only provide IP addresses to about 20% of the world's population.

IPv4 can only assign IP addresses to 2^(32) devices, however IPv6 can assign IP addresses to 2^(128) devices. If you tally up the numbers, you'll realize that we can assign IPv6 addresses to each and every sand particle in deserts. 



IPv4 vs. IPv6 Header Differences

The IPv4 header is 24 bytes long. We need only 8 bytes for source and destination addresses, and the remaining 16 bytes are used for 12 extra fields. The IPv6 header is only 40 bytes long. The source address is 16 bytes long, the destination address is 16 bytes long, and the header generation portion is 8 bytes long. In comparison to IPv4 networks, IPv6 networks employ a simpler header.



IPv6 has an auto-configuration feature

One of the most significant advantages is that IPv6 is auto-configurable. If you're familiar with IP addresses, you'll notice that devices connected to the same routers use the same prefixes. It is not auto-configurable for IPv4. In the case of IPv6, however, IP addresses are automatically assigned. In this situation, the router sends a prefix link, and connected devices are immediately assigned IP addresses with the same prefix.



IP addresses in IPv4 and IPv6 examples

IPv6 addresses are 128 bits long. Each sub block of the address block is split into eight sub blocks. Each portion has a 16-bit hexadecimal value. As an example,

Example of 128 bit IPv6 addresses 

2010:0BB8:0000:0000:1212:A3AA:0FEF:0714

The IP address given above can be written as

2010:BB8:0:0:1212:A3AA:FEF:714

2010:BB8: : 1212:A3AA:FEF:714

In IPv6, consecutive zeros can be replaced with "::" as illustrated above.


We've already talked abut that the IPv6 network system can still utilize IPv4 addresses. I'll show how IPv4 addresses are represented in IPv6 networks.

For instance, consider the IPv4 address 192.168.0.3. Then, with IPv6, it's referred as 

0:0:0:0:0:0:192.168.0.3

: : 192.168.0.3



How to find out what your internet-connected device's IP address is

When your device is connected to the internet, there are a number of websites where you can check your IP address. You may find your IP address by typing URL address "https://www.iplocation.net" into your browser.

What are the valid ipv6 addresses that can be used for communication across the Internet?




People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

Online Simulator for ASK, FSK, and PSK

Try our new Digital Signal Processing Simulator!   Start Simulator for binary ASK Modulation Message Bits (e.g. 1,0,1,0) Carrier Frequency (Hz) Sampling Frequency (Hz) Run Simulation Simulator for binary FSK Modulation Input Bits (e.g. 1,0,1,0) Freq for '1' (Hz) Freq for '0' (Hz) Sampling Rate (Hz) Visualize FSK Signal Simulator for BPSK Modulation ...

Constellation Diagrams of ASK, PSK, and FSK

📘 Overview of Energy per Bit (Eb / N0) 🧮 Online Simulator for constellation diagrams of ASK, FSK, and PSK 🧮 Theory behind Constellation Diagrams of ASK, FSK, and PSK 🧮 MATLAB Codes for Constellation Diagrams of ASK, FSK, and PSK 📚 Further Reading 📂 Other Topics on Constellation Diagrams of ASK, PSK, and FSK ... 🧮 Simulator for constellation diagrams of m-ary PSK 🧮 Simulator for constellation diagrams of m-ary QAM BASK (Binary ASK) Modulation: Transmits one of two signals: 0 or -√Eb, where Eb​ is the energy per bit. These signals represent binary 0 and 1.    BFSK (Binary FSK) Modulation: Transmits one of two signals: +√Eb​ ( On the y-axis, the phase shift of 90 degrees with respect to the x-axis, which is also termed phase offset ) or √Eb (on x-axis), where Eb​ is the energy per bit. These signals represent binary 0 and 1.  BPSK (Binary PSK) Modulation: Transmits one of two signals...

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...

📘 Overview of BER and SNR 🧮 Online Simulator for BER calculation of m-ary QAM and m-ary PSK 🧮 MATLAB Code for BER calculation of M-ary QAM, M-ary PSK, QPSK, BPSK, ... 📚 Further Reading 📂 View Other Topics on M-ary QAM, M-ary PSK, QPSK ... 🧮 Online Simulator for Constellation Diagram of m-ary QAM 🧮 Online Simulator for Constellation Diagram of m-ary PSK 🧮 MATLAB Code for BER calculation of ASK, FSK, and PSK 🧮 MATLAB Code for BER calculation of Alamouti Scheme 🧮 Different approaches to calculate BER vs SNR What is Bit Error Rate (BER)? The abbreviation BER stands for Bit Error Rate, which indicates how many corrupted bits are received (after the demodulation process) compared to the total number of bits sent in a communication process. BER = (number of bits received in error) / (total number of tran...

Theoretical BER vs SNR for m-ary PSK and QAM

Relationship Between Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR) The relationship between Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR) is a fundamental concept in digital communication systems. Here’s a detailed explanation: BER (Bit Error Rate): The ratio of the number of bits incorrectly received to the total number of bits transmitted. It measures the quality of the communication link. SNR (Signal-to-Noise Ratio): The ratio of the signal power to the noise power, indicating how much the signal is corrupted by noise. Relationship The BER typically decreases as the SNR increases. This relationship helps evaluate the performance of various modulation schemes. BPSK (Binary Phase Shift Keying) Simple and robust. BER in AWGN channel: BER = 0.5 × erfc(√SNR) Performs well at low SNR. QPSK (Quadrature...

Q-function in BER vs SNR Calculation

Q-function in BER vs. SNR Calculation In the context of Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR) calculations, the Q-function plays a significant role, especially in digital communications and signal processing . What is the Q-function? The Q-function is a mathematical function that represents the tail probability of the standard normal distribution. Specifically, it is defined as: Q(x) = (1 / sqrt(2Ï€)) ∫â‚“∞ e^(-t² / 2) dt In simpler terms, the Q-function gives the probability that a standard normal random variable exceeds a value x . This is closely related to the complementary cumulative distribution function of the normal distribution. The Role of the Q-function in BER vs. SNR The Q-function is widely used in the calculation of the Bit Error Rate (BER) in communication systems, particularly in systems like Binary Phase Shift Ke...

Fading : Slow & Fast and Large & Small Scale Fading

📘 Overview 📘 LARGE SCALE FADING 📘 SMALL SCALE FADING 📘 SLOW FADING 📘 FAST FADING 🧮 MATLAB Codes 📚 Further Reading LARGE SCALE FADING The term 'Large scale fading' is used to describe variations in received signal power over a long distance, usually just considering shadowing.  Assume that a transmitter (say, a cell tower) and a receiver  (say, your smartphone) are in constant communication. Take into account the fact that you are in a moving vehicle. An obstacle, such as a tall building, comes between your cell tower and your vehicle's line of sight (LOS) path. Then you'll notice a decline in the power of your received signal on the spectrogram. Large-scale fading is the term for this type of phenomenon. SMALL SCALE FADING  Small scale fading is a term that describes rapid fluctuations in the received signal power on a small time scale. This includes multipath propagation effects as well as movement-induced Doppler fr...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...

🧮 MATLAB Code for BPSK, M-ary PSK, and M-ary QAM Together 🧮 MATLAB Code for M-ary QAM 🧮 MATLAB Code for M-ary PSK 📚 Further Reading MATLAB Script for BER vs. SNR for M-QAM, M-PSK, QPSK, BPSK % Written by Salim Wireless clc; clear; close all; num_symbols = 1e5; snr_db = -20:2:20; psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); for i = 1:length(psk_orders) psk_order = psk_orders(i); for j = 1:length(snr_db) data_symbols = randi([0, psk_order-1], 1, num_symbols); modulated_signal = pskmod(data_symbols, psk_order, pi/psk_order); received_signal = awgn(modulated_signal, snr_db(j), 'measured'); demodulated_symbols = pskdemod(received_signal, psk_order, pi/psk_order); ber_psk_results(i, j) = sum(data_symbols ~= demodulated_symbols) / num_symbols; end end for i...

Wiener Filter Theory: Equations, Error Signal, and MSE

  Assuming known stationary signal and noise spectra and additive noise, the Wiener filter is a filter used in signal processing to provide an estimate of a desired or target random process through linear time-invariant (LTI) filtering of an observed noisy process. The mean square error between the intended process and the estimated random process is reduced by the Wiener filter. Fig: Block diagram view of the FIR Wiener filter for discrete series. An input signal x[n] is convolved with the Wiener filter g[n] and the result is compared to a reference signal s[n] to obtain the filtering error e[n]. In the big picture, the signal is attenuated and added with noise, then the signal is passed through a Wiener filter. And the function of the Wiener filter is to minimize the mean square error between the filter output of the received signal and the reference signal by adjusting the Wiener filter tap coefficient.   Description...