IPv6 Addressing Overview
IPv6 addresses are assigned to interfaces, rather than to nodes, in recognition thata node can have more than one interface. Moreover, you can assign morethan one IPv6 address to an interface.
Note - For complete technical information about the IPv6 address format, go to RFC 2374,IPv6 Global Unicast Address Format
IPv6 defines three address types:
- unicast
Identifies an interface of an individual node.
- multicast
Identifies a group of interfaces, usually on different nodes. Packets that are sent to the multicast address go to all members of the multicast group.
- anycast
Identifies a group of interfaces, usually on different nodes. Packets that are sent to the anycast address go to the anycast group member node that is physically closest to the sender.
Parts of the IPv6 Address
An IPv6 address is 128 bits in length and consists of eight,16-bit fields, with each field bounded by a colon. Each field must containa hexadecimal number, in contrast to the dotted-decimal notation of IPv4 addresses. Inthe next figure, the x's represent hexadecimal numbers.
Figure3-2 Basic IPv6 Address Format
The leftmost three fields (48 bits) contain the site prefix. The prefix describes thepublic topology that is usually allocated to your site by an ISP orRegional Internet Registry (RIR).
The next field is the 16-bit subnet ID, which you (or another administrator) allocatefor your site. The subnet ID describes the private topology, also known as thesite topology, because it is internal to your site.
The rightmost four fields (64 bits) contain the interface ID, also referred to asa token. The interface ID is either automatically configured from the interface's MACaddress or manually configured in EUI-64 format.
Consider again the address in Figure3-2:
2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
This example shows all 128 bits of an IPv6 address. The first48 bits, 2001:0db8:3c4d, contain the site prefix, representing the public topology. The next16 bits, 0015, contain the subnet ID, representing the private topology for thesite. The lower order, rightmost 64 bits, 0000:0000:1a2f:1a2b, contain the interface ID.
Abbreviating IPv6 Addresses
Most IPv6 addresses do not occupy all of their possible 128 bits.This condition results in fields that are padded with zeros or contain onlyzeros.
The IPv6 addressing architecture allows you use the two-colon (::) notation to representcontiguous 16-bit fields of zeros. For example, you might abbreviate the IPv6 addressin Figure3-2 by replacing the two contiguous fields of zeros in the interfaceID with two colons. The resulting address is 2001:0db8:3c4d:0015::1a2f:1a2b. Other fields of zeros canbe represented as a single 0. You can also omit any leading zerosin a field, such as changing 0db8 to db8.
So the address 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b can be abbreviated as 2001:db8:3c4d:15::1a2f:1a2b.
You can use the two colon notation to replace any contiguous fields ofall zeros in the IPv6 address. For example, the IPv6 address 2001:0db8:3c4d:0015:0000:d234::3eee:0000can be collapsed into 2001:db8:3c4d:15:0:d234:3eee::.
Prefixes in IPv6
The leftmost fields of the IPv6 address contain the prefix, which is usedfor routing IPv6 packets. IPv6 prefixes have the following format:
prefix/length in bits
Prefix length is stated in classless inter-domain routing (CIDR) notation. CIDR notation isa slash at the end of the address that is followed bythe prefix length in bits. For information on CIDR format IP addresses, refer toDesigning Your CIDR IPv4 Addressing Scheme.
The site prefix of an IPv6 address occupies up to 48 of the leftmostbits of the IPv6 address. For example, the site prefix of the IPv6address 2001:db8:3c4d:0015:0000:0000:1a2f:1a2b/48 is contained in the leftmost 48 bits, 2001:db8:3c4d. You use the followingrepresentation, with zeros compressed, to represent this prefix:
2001:db8:3c4d::/48
Note - The prefix 2001:db8::/32 is a special IPv6 prefix that is used specifically fordocumentation examples.
You can also specify a subnet prefix, which defines the internal topology of the networkto a router. The example IPv6 address has the following subnet prefix.
2001:db8:3c4d:15::/64
The subnet prefix always contains 64 bits. These bits include 48 bits forthe site prefix, in addition to 16 bits for the subnet ID.
The following prefixes have been reserved for special use:
- 2002::/16
Indicates that a 6to4 routing prefix follows.
- fe80::/10
Indicates that a link-local address follows.
- ff00::/8
Indicates that a multicast address follows.
See AlsoWhat is an IPv6 Address?
Unicast Addresses
IPv6 includes two different unicast address assignments:
Global unicast address
Link-local address
The type of unicast address is determined by the leftmost (highorder) contiguous bits in the address, which contain the prefix.
The unicast address format is organized in the following hierarchy:
Public topology
Site (private) topology
Interface ID
Global Unicast Address
The global unicast address is globally unique in the Internet. The example IPv6address that is shown in Prefixes in IPv6 is a global unicast address. Thenext figure shows the scope of the global unicast address, as compared tothe parts of the IPv6 address.
Figure3-3 Parts of the Global Unicast Address
Public Topology
The site prefix defines the public topology of your network to a router. Youobtain the site prefix for your enterprise from an ISP or Regional InternetRegistry (RIR).
Site Topology and IPv6 Subnets
IN IPv6, the subnet ID defines an administrative subnet of the network and isup to 16 bits in length. You assign a subnet ID as partof IPv6 network configuration. The subnet prefix defines the site topology to a routerby specifying the specific link to which the subnet has been assigned.
IPv6 subnets are conceptually the same as IPv4 subnets, in that each subnetis usually associated with a single hardware link. However, IPv6 subnet IDs areexpressed in hexadecimal notation, rather than in dotted decimal notation.
Interface ID
The interface ID identifies an interface of a particular node. An interface ID mustbe unique within the subnet. IPv6 hosts can use the Neighbor Discovery protocolto automatically generate their own interface IDs. Neighbor Discovery automatically generates the interfaceID, based on the MAC or EUI-64 address of the host's interface. Youcan also manually assign interface IDs, which is recommended for IPv6 routers andIPv6-enabled servers. For instructions on how to create a manual EUI-64 address, referto RFC 3513 Internet Protocol Version 6 (IPv6) Addressing Architecture.
Transitional Global Unicast Addresses
For transition purposes, the IPv6 protocol includes the ability to embed an IPv4address within an IPv6 address. This type of IPv4 address facilitates the tunnelingof IPv6 packets over existing IPv4 networks. One example of a transitional globalunicast address is the 6to4 address. For more information on 6to4 addressing, referto 6to4 Automatic Tunnels.
Link-Local Unicast Address
The link-local unicast address can be used only on the local network link.Link-local addresses are not valid nor recognized outside the enterprise. The following exampleshows the format of the link-local address.
Example3-1 Parts of the Link-Local Unicast Address
A link-local prefix has the following format:
fe80::interface-ID/10
The following is an example of a link-local address:
fe80::23a1:b152
- fe80
Hexadecimal representation of the 10-bit binary prefix 1111111010. This prefix identifies the type of IPv6 address as link local.
- interface-ID
Hexadecimal address of the interface, which is usually derived from the 48-bit MAC address.
When you enable IPv6 during Oracle Solaris installation, the lowest numbered interface onthe local machine is configured with a link-local address. Each interface requires atleast one link-local address to identify the node to other nodes on thelocal link. Therefore, you need to manually configure link-local addresses for additional interfacesof a node. After configuration, the node uses its link-local addresses for automaticaddress configuration and neighbor discovery.
Multicast Addresses
IPv6 supports the use of multicast addresses. The multicast address identifies a multicast group,which is a group of interfaces, usually on different nodes. An interface canbelong to any number of multicast groups. If the first 16 bits ofan IPv6 address is ff00n, the address is a multicast address.
Multicast addresses are used for sending information or services to all interfaces thatare defined as members of the multicast group. For example, one use ofmulticast addresses is to communicate with all IPv6 nodes on the locallink.
When an interface's IPv6 unicast address is created, the kernel automatically makes theinterface a member of certain multicast groups. For example, the kernel makes eachnode a member of the Solicited Node multicast group, which is used bythe Neighbor Discovery protocol to detect reachability. The kernel also automatically makes anode a member of the All-Nodes or All Routers multicast groups.
For detailed information about multicast addresses, refer to IPv6 Multicast Addresses in Depth. For technical information, seeRFC 3306, Unicast-Prefix-based IPv6 Multicast Addresses, which explains the multicast address format. For more information about the properuse of multicast addresses and groups, RFC 3307, Allocation Guidelines for IPv6 Multicast Addresses.
Anycast Addresses and Groups
IPv6 anycast addresses identify a group of interfaces on different IPv6 nodes. Eachgroup of interfaces is known as an anycast group. When a packet is sentto the anycast address, the anycast group member that is physically closest tothe sender receives the packet.
Note - The Oracle Solaris implementation of IPv6 does not support the creation of anycastaddresses and groups. However, Oracle Solaris IPv6 nodes can send packets to anycastaddresses. For more information, see Considerations for Tunnels to a 6to4 Relay Router.