IPv6 Address Architecture
IPv6 Address Architecture refers to the design and structure of the 128-bit address space used in the Internet Protocol Version 6 (IPv6), which is the successor to IPv4. The architecture is defined in RFC 4291 and is designed to accommodate a vast number of unique IP addresses, providing a solution to the address exhaustion problem of IPv4.
Address Types
IPv6 addresses are categorized into three main types:
- Unicast Addresses: These are used to identify a single interface in a network. A packet sent to a unicast address is delivered to the specific interface associated with that address.
- Anycast Addresses: These serve as identifiers for a set of interfaces, typically belonging to different nodes. A packet sent to an anycast address is delivered to the nearest interface (in terms of routing distance) identified by that address.
- Multicast Addresses: These are identifiers for a set of interfaces. A packet sent to a multicast address is delivered to all interfaces identified by that address.
Address Representation
IPv6 addresses are represented as eight groups of four hexadecimal digits, separated by colons, for example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334
. To simplify the representation, there are rules to compress zeros:
- Consecutive sections of zeros can be replaced with
::
, but this can only occur once in an address to avoid ambiguity. - Leading zeros within a 16-bit block can be omitted.
Special Addresses
- Unspecified Address:
::
or0:0:0:0:0:0:0:0
is used to indicate the absence of an address. - Loopback Address:
::1
is used by a node to send a packet to itself.
Address Components
An IPv6 address typically consists of the following components:
- Site Prefix: The leftmost bits of the address that indicate the public topology, usually provided by an ISP or Regional Internet Registry (RIR).
- Subnet ID: A 16-bit field that is used within an organization to identify subnets within its site topology.
- Interface ID: The rightmost 64 bits that uniquely identify an interface on a link. This can be automatically generated from the MAC address of the interface or manually configured.
Address Allocation
The high-order part of the IPv6 address is assigned to registries, which then allocate portions of the address space to organizations.
Transition from IPv4
IPv6 addressing architecture also includes mechanisms for facilitating the transition from IPv4, such as address mapping between IPv6 and IPv4 during the coexistence of both protocols.
RFC 4291, which defines the IPv6 Addressing Architecture, obsoletes the earlier RFC 3513 and is considered the authoritative reference for IPv6 addressing standards.