IPv6, or Internet Protocol Version 6, is the next generation of Internet Protocol and is designed to replace the aging IPv4, or Internet Protocol Version 4.


    Why do we need IPv6?

    In order to understand why we need IPv6, we need to quickly understand IPv4 and its limitations.

    In the early days of the internet, in order for computers and other devices to communicate, the US Government funded ARPANET, or Advanced Research Projects Agency Network, adopted a new standard called IPv4. This protocol governed how traffic moved around the internet at the time and continues to be in use today.

    However, IPv4 has a major limitation. As it uses 32-bit addresses, it’s limited to 232 addresses which means there’s a maximum of just 4,294,967,296, or about 4 Billion addresses. Subtracting private networks along with multicast addresses and you’re left with a lot less. While this may not have been a problem back in 1983 when IPv4 was adopted by ARPANET, with the rise of personal computing, mobile computing, and IoT, we’re quickly running out of addresses.

    To solve this issue, IPv6 was invented by the IETF, or Internet Engineering Task Force. Unlike IPv6 which uses just 32-bit addresses, IPv6 uses 128-bit addresses raising the total amount of IP addresses from roughly 4.3 Billion to 3.4 x 1038 , or 340 undecillion (trillion trillion) addresses.


    What do IPv6 addresses look like?


    If you’ve ever used the internet, you’re probably very familiar with the IPv4 address. The address is simply four groups of three digits separated by periods.

    The following are examples IPv4 addresses:



    IPv6 addresses are quite different compared to IPv4 addresses. Due to its 128-bit addressing, IPv6 uses eight groups of four alphanumeric characters separated by colons. Any groups of zeros can be written as simply a single zero or can be omitted altogether.

    The following are examples of the same IPv6 address:

    • 2620:2761:abcd:0000:0000:0000:2126:3462
    • 2620:2761:abcd:0:0:0:2126:3462
    • 2620:2761:abcd::2126:3462