Because ipv6 allows multiple addresses for different reasons. I assume one of those addresses star with FE80 which is for your local lan devices to talk to each other and that long one is your actual global address to access the internet. Without seeing the actual prefixes its hard to tell.
The third one is is the link local address, it has a scope of “link”.
I’d guess the other one are a host address ( a /128) and a regular /64 address.Could also be a /64 privacy address and a /64 “standard” address (SLAAC, DHCP, static)
Can’t be a static address, both of the other ones are dynamic.
Also I think it’s a /128 and /64 because I think (or imagine) to be able to see a three digit and a two dogot prefix behind the black bars. It’s also what is on my machine, and I’m a lazy bum who didn’t do any config besides setting a DNS server of my choice. My guess would also either be a SLAAC address and one getting from the DHCP (usually the router) or one of them is a generated privacy address.(Long story short: I agree with you except for the very last word).
Global unicast, link-local, loopback, unique local
Just to add to the other replies: it would be the same in Windows. It’s how ipv6 functions in general. The system will figure out which address to use, you shouldn’t need to use them directly in almost any case.
Without being able to see the two global addresses, it looks like one’s much shorter than the other and they both have the dynamic flag, so my guess is one is from DHCPv6 and the other is SLAAC.
So they’re possibly something like:
2001:db8:1234:5678::10 2001:db8:1234:5678:9abc:def0:1234:5678The
fe80link local address is it’s own thing. Every IPv6 interface gets one and they’re only valid on that network.Doesn’t SLAAC give the link-local address?
No. SLAAC is where you listen for a router advertisement and generate an address based on that. Link local addresses don’t need RAs.
Huh. I searched around for a bit, and there are some articles that call link-local address assignment SLAAC with no mention of global address SLAAC. Wikipedia in particular does this, and it seems maybe they’re calling the global address configuration NDP? I don’t care either way, I was just confused seeing some articles saying that, and some saying what you’re saying.
The link local one is like the equivalent of the ipv4 rfc1918 addresses, like 192.168.1.1; its used for local lan connections. For the globally-routed addresses, the router advertises its 64-bit network prefix; all the following methods are about configuring the remaining 64 bits to make up the complete 128 bit address.
If the router is running DHCPv6, there is a ‘fixed’ one that stays constant. Its assigned by the router using DHCPv6 and should stay relatively constant as long as your router keeps your mac address mapping in memory. Its probably shorter like ::1a or something; this is the one you should use for hosting services; the constant address is useful if you send someone your IP address or want to create a DNS AAAA record.
With the right network configuration flags, you may also have a fixed address using SLAAC wherein the host configures itself. Unlike the short DHCPv6-type addresses, it looks completely random but its not; its derived the same way every time you connect to that specific network using some hashing algorithm techniques. But if you connect to a different network it will derive a different random-looking 64 bits, but also stable for that network. The idea here is that IPv6 used to use the mac address for the last 64 bits, but this meant someone could track you moving your machine from network to network by matching against the last 64 bits of the address, so this method was developed to prevent that privacy leak but still allow some kind of stability. You can also use this one for hosting since its stable.
Linux will also configure truly random, dynamic IPv6 address. It will change by default once a day. This is used as the default for new outgoing connections. This is meant for privacy, since your outbound traffic will come from a new source every day and its harder to track you over time. In reality the advertising networks just track you by your 64-bit prefix instead, meaning you’re tracked by your household instead of down to the individual machine (so very similar to NAT for ipv4 where the entire household shares a single IPv4). There is a 5m window overlap where there are two dynamic IPs right before the old one expires; this lets the existing connections close out safely.
The scope tells you who can use that address to connect to you, and the ‘dynamic’ field tells you if your computer things it may change (it may not know enough).
Your computer has 2 global addresses.



