Why IPv6?

In this lesson, we'll get an introduction to IP version 6.

Why IPV6?

  • IPv4 was initially designed for a research network that would interconnect some research labs and universities. For this purpose, 32 bit addresses, i.e., 232=4,294,967,2964.32^{32}=4,294,967,296\approx4.3 billion addresses seemed sufficient. Also, 32 bits was an incredibly convenient address size for software-based routers.

However, the popularity of the Internet, i.e., the number of smartphones and Internet of Things devices, was not anticipated. We’ve made do with 4.34.3 billion addresses so far by reusing them and with NAT boxes. Nonetheless, we are running out of addresses. Hence, IPv6 was designed to tackle these limitations of IPv4.

IPv6 Features

IPv6 has some distinguishing pros and cons.

Pros

  • Simplified Header: All IPv4 options are moved to the end of the IPv6 header. IPv6 header is twice as large as IPv4 headers but only because IPv6 addresses are four times longer.

  • Larger Address Space: IPv6 addresses face 4 times as many bits as IPv4. So all IPv6 addresses are 128 bits wide. This implies that there are 340,282,366,920,938,463,463,374,607,431,768,211,456340,282,366,920,938,463,463,374,607,431,768,211,456 232×4=21283.4×10382^{32\times4} =2^{128} \approx 3.4\times10^{38} \approx 340 undecillion addresses different IPv6 addresses. As the surface of the Earth is about 510,072,000510,072,000 km2km^2, this implies that there are about 6.67×10236.67\times10^{23} IPv6 addresses per square meter on Earth. Compared to IPv4, which offers only 88 addresses per square kilometer, this is a significant improvement on paper.

Cons

  • IPv6 is a complete redesign over IPv4 and hence is not backward compatible. This means that devices configured over IPv4 can NOT access websites on servers configured with IPv6!

  • Upgrading to IPv6 enabled hardware is an expensive shift for ISPs and is not directly translatable in terms of profit. This is part of the reason why the world has not shifted entirely to IPv6.

Textual representation of IPv6 addresses

It’s sometimes necessary to write IPv6 addresses in text format, e.g., when manually configuring addresses or for documentation purposes.

The preferred format for writing IPv6 addresses is x:x:x:x:x:x:x:x, where the x‘s are hexadecimal digits representing the eight 16-bit parts of the address. Here are a few examples of IPv6 addresses:

  • ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
  • 2001:DB8:0:0:8:800:200C:417A
  • FE80:0:0:0:219:E3FF:FED7:1204

IPv6 addresses often contain a long sequence of bits set to 0. In this case, a compact notation has been defined. With this notation, :: is used to indicate one or more groups of 16 bit blocks containing only bits set to 00. For example:

  • 2001:DB8:0:0:8:800:200C:417A is represented as 2001:DB8::8:800:200C:417A
  • FF01:0:0:0:0:0:0:101 is represented as FF01::101
  • 0:0:0:0:0:0:0:1 is represented as ::1
  • 0:0:0:0:0:0:0:0 is represented as ::

An IPv6 prefix can be represented as address/length, where length is the length of the prefix in bits. For example,the three notations below correspond to the same IPv6 prefix:

  • 2001:0DB8:0000:CD30:0000:0000:0000:0000/60
  • 2001:0DB8::CD30:0:0:0:0/60
  • 2001:0DB8:0:CD30::/60

Here’s a drawing that represents how an IPv6 address is written in text form.

Quick Quiz!

1

What’s a compact way of representing the IPv6 address: FE00:0:0:0:219:A34F:F3D7:1204?

A)

FE00::219:A34F:F3D7:1204

B)

FE00::219:A34F:F3D7::

C)

FE::::219:A34F:F3D7:12:4

Question 1 of 30 attempted

In the next lesson, we’ll study IPv6 address types!

Get hands-on with 1400+ tech skills courses.