IPv6 Unspecified Address (::)

Learn about the IPv6 unspecified address :: (all zeros). Understand when it is used as a source address, in routing tables, and its equivalence to IPv4's 0.0.0.0.

IPv6 Special

Detailed Explanation

The IPv6 Unspecified Address: ::

The unspecified address `::' (all 128 bits set to zero) indicates the absence of an address. It is the IPv6 equivalent of IPv4’s 0.0.0.0.

Representations

Format Value
Compressed ::
Expanded 0000:0000:0000:0000:0000:0000:0000:0000
CIDR ::/128

When Is :: Used?

Context Meaning
Source address Host has no address yet (e.g., during DHCPv6)
Listening socket Bind to all interfaces (`::' = IPv6 equivalent of 0.0.0.0)
Routing table Default route (::/0 = "all destinations")
Configuration "No address configured"

Programming Usage

// Listen on all IPv6 (and often IPv4) interfaces
server.listen(3000, '::');

// Equivalent to IPv4:
server.listen(3000, '0.0.0.0');

Key Rules

  1. Never used as a destination — you cannot send packets to ::
  2. Valid as source only in specific situations (DAD, DHCPv6 solicit)
  3. Not the same as ::1 — :: is unspecified, ::1 is loopback
  4. Routers must never forward packets with :: as source

Duplicate Address Detection (DAD)

When an interface first comes up, it sends a Neighbor Solicitation from :: (unspecified) to verify its tentative address is not already in use:

Source: :: (unspecified)
Destination: ff02::1:ff[last 24 bits]  (solicited-node multicast)

If no reply is received, the address is considered unique and is assigned to the interface.

Use Case

A server application binds to :: (the unspecified address) on port 443, allowing it to accept incoming HTTPS connections on all network interfaces for both IPv4 and IPv6 traffic.

Try It — IP Address Analyzer

Open full tool