So the funny thing is that in the 1990s already
IPv6 was proposed and was announced as the future standard.
Now the fun part is that even nowadays most sites are still using IPv4.
But let's talk about some of the basics of IPv6. What do you need to know about it?
Well, you need to know that addresses in IPv6 are 128 bits.
That's a long address and that's why they are written in hexadecimal.
So believe it or not, this FE 80, 12, 23, 3345 etc. That's valid IPv6 address.
Now in IPv6 leading zeros can be omitted as well as long strings of zeros.
And that means that you can have an address like FE81 between
the columns. That's all zeros and you don't have to write them.
When you refer to IPv6 addresses +port, then you put the address between square brackets.
That's because in the normal notation behind the IP address you put a colon and then the port. Well, for
IPv6 we have columns in the IPv6 address, and that's why you put the IPv6 address between square brackets.
The default subnet mask in IPv6 is 64 and that
is because subnetting in IPv6 is not so very important.
And in a note bit of the address IPv6 may have the device Mac address.
That is nice.
In IPv6 you can do auto assignment of IP addresses which means that the node discovers the
network that it is on and it will set its node address according to its Mac address.
In IPv6 there's a couple of addresses that are reserved.
These include 1, 128, which is localhost, colon colon which is the unspecified address
equivalent to IPv400000 which is the default route. And then we have 2003 which
is the global unicast address and FD008 which is unique local address.
These are private addresses. They are not routable on the Internet, but you can use them for testing if you want.
FE 8064 are the so called link local addresses.
These are also local only addresses. They are not routable, but they are addresses
that are automatically assigned to nodes in your IP network. And finally there is
FF08 which is used for multicast and multicast is a group packet so you
can use it to reach out a specific group of devices.
Now in IPv6 the nice thing is that you don't always have to set an address, you can obtain it.
So how does that work? Well, every IPv6 node by default is getting fe80
and an fe80 address is automatically assigned. It has fe80 as the start and
it uses the Mac address of the node as the node part.
Obviously you can statically assign an IP that's pretty uncommon. You can
use Dhcpv6 which is a Dhcp server for IPv6 and there is
this beautiful thing called stateless address auto configuration or slaac.
So how does that work?
Well, a router solicitation is sent to the multicast address FF022 which
is the or routers multicast group and the router sends back an
IP address which allows the host to learn about the network prefix.
If you like this, and you should because it's convenient, you
do need to install the RADVD package to use this functionality.
As I told you before, IPv6 is here, some people are using it, but in real life you
can get pretty far if you know nothing about it and you only understand your IPv4 stack.