This address, 2a03:2880:f800:16::, is a modern IPv6 address which has 128 bits in it, this represents 16 bytes or octets.
Your address is split in 4 24-bit chunks, each chunk is placed on a corner of the image and is used to represent
a color by simply splitting those 24 bits in 3 8-bit bytes (or octets), each of these bytes represents one of the primary colors: red, green, blue. For example,
your top-left chunk of 2880f8 is mapped into a color with:
- 0x28 for red (this is 40 in decimal out of 255 levels of red),
- 0x80 for green (this is 128 in decimal out of 255 levels of green),
- 0xf8 for blue (this is 248 in decimal out of 255 levels of blue),
- The combination of the above renders as:
.
Then, linear interpolation is used to have a two-dimensional gradient between
all the four corners.
The astute reader will have noticed that 4 times 24 bits is only 96 bits out of the 128 bits of the IPv6 address... Indeed, 32 bits of the
address are ignored. These are:
- the most significant 16 bits, which are often the same as they indicate roughly on which continent you are located (for techies the RIR);
- 16 bits in the middle of the interface identifier which are often the same 0xFFFE for EUI-64 based addresses.
In general, the top half of the image will never change from the same network location (it is linked to your Internet Service Provider's prefix) but
the bottom part can change daily (especially when using IPv6 privacy extensions).