Using 128 bits rather than 32

ffff:ffff:ffff:ffff:aaaa:aaaa:aaaa:aaaa

The first(upper) 64 bits is the network part

the lower 64 bits is the host part

local link and SLAAC use the card's MAC address to compute the lower part

Address types

Local link reserved prefix fe80:0000:0000:0000 (or fe80::)

    inet6 fe80::4abc:6a1f:fe5a:3baa/64 scope link 
       valid_lft forever preferred_lft forever

Unique local addresses (the ip6 version of 192.168.0.0/16)

The block fd00::/8 is defined for /48 prefixes, formed by setting the forty least-significant bits of the prefix to a randomly generated bit string. This results in the format fdxx:xxxx:xxxx:: for a prefix in this range. RFC 4193 offers a suggestion for generating the random identifier to obtain a minimum-quality result if the user does not have access to a good source of random numbers.

Other stuff is global and assigned by the ISP

Neat

1. Ping other local hosts on IPv6 network.
ping6 -I enp4s0 ff02::1
or
ping ff02::1%enp4s0

2. Ping routers

ping6 -I enp4s0 ff05::2

https://en.wikipedia.org/wiki/IPv6_address#Multicast

3. See Addresses
ip -6 addr (linux)
ifconfig (mac)
ipconfig (win)

4. See neighbourhood (linux)
ip -6 neigh show