IPv6 Address Types and Scopes Explained

An IPv6 address has several properties that answer different questions. Its delivery type tells you whether a packet targets one interface, a group or one of several interfaces assigned the same address. Its scope defines the region in which that address has meaning.
A third question is whether the destination can actually be reached. That depends on the address's permitted use, available routes and network policy. Keeping these properties separate prevents common mistakes, such as treating a unique-local address as link-local or assuming every global-scope address is a public Internet endpoint.
Unicast, Multicast and Anycast Describe Delivery
Unicast identifies a single interface. Multicast identifies a group of interfaces, with traffic intended for the group's members within its scope. IPv6 has no broadcast address; multicast provides the group delivery functions that would otherwise require broadcast.
Anycast makes the same service address available at multiple interfaces or locations. Routing directs a packet toward one member, using the routing system's notion of the best path. The selected server need not be geographically closest to the sender, and anycast does not guarantee an even distribution of requests.
Multicast addresses have an identifiable ff00::/8 prefix. Anycast addresses come from unicast address space, so you cannot identify anycast from the address alone. You need to know how the address is assigned and routed.
These are delivery models, rather than three scope levels. A link-local unicast destination and a link-local multicast destination share a scope boundary while serving different sets of recipients. Anycast can also operate within a restricted routing region.
Recognize the Main Unicast Categories
A device can have several IPv6 addresses on the same interface. Read each address's prefix and purpose individually. One entry in an interface listing does not determine the classification of all the others.
Link-Local Addresses Stay on One Link
The fe80::/10 prefix identifies link-local unicast addresses. They support communication with neighbors on the same link, including essential local IPv6 operations. A host does not need a public allocation to communicate with a neighbor using a link-local address.
Routers must not forward packets with link-local source or destination addresses onto another link. Adding a route does not allow a router to forward link-local packets onto another link. Link-local communication therefore cannot directly reach a host across an ordinary routed connection.
For a hypothetical laptop with two separate network links, fe80::6b2 could identify a neighbor on either link. Knowing the address alone would leave the intended link ambiguous. A local zone identifier distinguishes the intended link.
Unique-Local Addresses Can Cross Internal Routers
Unique-local addresses, or ULAs, occupy fc00::/7. The locally assigned form sets the locally assigned bit, or L bit, to 1 and falls within fd00::/8. The half with L set to zero is left for a possible future definition and is not an alternative local assignment pool.
ULA prefixes use a pseudorandom 40-bit Global ID to make independently generated assignments very unlikely to collide. Their scope is global. Their intended routing is limited to a site and to other sites that explicitly agree to exchange those routes; they are not intended for global Internet routing.
Consider the illustrative ULA fd7b:2c4a:9136:20::6b2. Its /48 site prefix is fd7b:2c4a:9136::/48, and 20 is the hexadecimal subnet identifier in a conventional /64 layout. An internal router can carry traffic between that subnet and another appropriately routed ULA subnet.
Public Global Unicast Addresses
Addresses allocated for ordinary public IPv6 networks come from 2000::/3. In hexadecimal, that block covers addresses beginning with 2 or 3. This prefix is a useful initial recognition rule for ordinary public addressing, but the block also contains special-purpose reservations.
For example, 2001:db8:7712::6b2 looks structurally like a global unicast address. Its more specific 2001:db8::/32 prefix reserves it for documentation. The address is reserved for examples and is not available for assignment to a public server.
Global scope also includes addresses outside 2000::/3, such as ULAs. Scope describes applicability and uniqueness boundaries. Allocation status and routing permissions determine whether an address is suitable for a particular deployment.
Loopback and Unspecified Addresses Have Special Roles
The loopback address ::1 sends traffic back to the same node. It is treated as having link-local scope on an imaginary loopback link, but it cannot communicate with another machine on a physical link. A connection to ::1 on a laptop reaches that laptop's own network stack.
The unspecified address :: indicates the absence of an address and has no scope. It is not assigned to an interface as an ordinary host address. Certain initialization traffic can use it as a source, but it is not a valid packet destination, and a router must not forward packets carrying it as their source.
These two almost identical-looking strings have entirely different purposes. Expanding their compressed notation leaves all 128 bits zero for :: and only the final bit set for ::1.
Read the Scope Field in a Multicast Address
An IPv6 multicast address begins with ff, followed by flag and scope fields. The scope value is encoded in the fourth hexadecimal digit when the leading zeros are written out. In ff02::1, that digit is 2, meaning link-local scope; the address identifies the all-nodes group on the link.
The assigned scope values are:
- 1: interface-local.
- 2: link-local.
- 3: realm-local.
- 4: admin-local.
- 5: site-local.
- 8: organization-local.
- e: global.
The scope field limits the region of multicast delivery. A global-scope group address does not guarantee that the sender's network can deliver multicast traffic across the Internet. Group membership, multicast routing and applicable policy still determine where traffic can go.
In ff02::1, the 0 is the flags value and the 2 is the scope value. The group identifier comes after those fields.
Separate a Zone Identifier from an Interface Identifier
A scope names a kind of region, such as a link. A zone is a particular instance of that region. Two independent links are two link-local zones, even though both use the same link-local address range.
In an address such as fe80::6b2%7, the portion before the percent sign is the 128-bit IPv6 address. The suffix identifies a zone on the local host. Which link the number 7 selects depends on that host's interface mapping; the number is not part of the IPv6 address.
Suppose a hypothetical computer maps one link to zone 7 and another to zone 12. The strings fe80::6b2%7 and fe80::6b2%12 can then select different neighbors on different links despite having identical address bits. Copying %7 onto another computer does not ensure that it selects the same physical network.
An interface identifier is a different concept. In a conventional /64 unicast layout, it is the lower 64-bit address field used to distinguish an interface within the subnet. The interface identifier belongs to the IPv6 address; the zone suffix supplies local context for using a scoped address.
Account for Special-Purpose Prefixes and Exceptions
To classify a special-purpose address, check the most specific reserved prefix that contains it. A smaller block may have different rules from the larger block that contains it, especially within space reserved for protocol assignments.
- 2001:db8::/32 and 3fff::/20 are documentation prefixes. They belong in examples, rather than deployed connectivity or public route advertisements.
- 2001:2::/48 is reserved for benchmarking. Its registry entry permits forwarding but marks it as not globally reachable.
- 100::/64 is reserved for routing traffic to be discarded. It is not globally reachable, even though its special-purpose registry entry permits forwarding.
- 64:ff9b::/96 and 64:ff9b:1::/48 are translation prefixes with different global-reachability registry values: true for the former and false for the latter.
- 2001:1::1/128 is a specific Port Control Protocol (PCP) anycast assignment marked globally reachable. Its enclosing 2001::/23 protocol-assignment entry has broader restrictions that explicitly allow more specific allocations to differ.
In the special-purpose address registry, Forwardable means that a router may forward a packet with a destination in the block between its external interfaces. Globally Reachable indicates whether that forwarding is permitted beyond the specified administrative domain. Neither field reports whether a particular service is running or reachable today.
Another recognizable form is ::ffff:198.51.100.27, an IPv4-mapped representation. Software can use this notation to represent an IPv4 peer through an IPv6 socket interface. In that arrangement, the network packets remain IPv4; the displayed form does not establish an IPv6 route to the peer.
The old fec0::/10 site-local unicast prefix is deprecated. It should not be selected for a new private addressing plan. New implementations must not support its original special site-local behavior. ULAs provide an alternative for internal addressing.
Determine Actual Reachability Separately
An ordinary global unicast address can be assigned to an interface while the network lacks a working external IPv6 route. A remote network also needs a route back to the source. Neither condition can be inferred from the address's hexadecimal characters.
Filtering adds another independent condition. An IPv6 gateway can permit responses to established outbound flows while restricting unsolicited inbound connections. A host behind it can therefore have a global unicast address without making every listening service publicly accessible. The address on which the service listens and the host's firewall rules also affect access.







