<chapter id="ipv6-overview-7"><title>Planning an IPv6 Addressing Scheme (Overview)</title><highlights><para>This chapter presents an overview of the Solaris Internet Protocol version
6 (IPv6) implementation. This implementation includes the associated daemon
and utilities that support the IPv6 address space.</para><para>IPv6 and IPv4 addresses coexist in the Solaris networking environment.
Systems that are configured with IPv6 addresses retain their IPv4 addresses,
if these addresses already exist. Operations that involve IPv6 addresses do
not adversely affect IPv4 operations, and vice versa.</para><para>The following major topics are discussed:</para><itemizedlist><listitem><para><olink targetptr="ipv6-overview-8" remap="internal">Major Features of IPv6</olink></para>
</listitem><listitem><para><olink targetptr="ipv6-overview-1" remap="internal">IPv6 Network Overview</olink></para>
</listitem><listitem><para><olink targetptr="ipv6-overview-10" remap="internal">IPv6 Addressing Overview</olink></para>
</listitem><listitem><para><olink targetptr="chapter1-40" remap="internal">IPv6 Neighbor Discovery Protocol
Overview</olink></para>
</listitem><listitem><para><olink targetptr="chapter1-42" remap="internal">IPv6 Address Autoconfiguration</olink></para>
</listitem><listitem><para><olink targetptr="ipv6-overview-160" remap="internal">Overview of IPv6 Tunnels</olink></para>
</listitem>
</itemizedlist><para>For more detailed information about IPv6, consult the following chapters.</para><itemizedlist><listitem><para>IPv6 network planning &ndash; <olink targetptr="ipv6-planning-1" remap="internal">Chapter&nbsp;4, Planning an IPv6 Network (Tasks)</olink></para>
</listitem><listitem><para>IPv6-related tasks &ndash; <olink targetptr="ipv6-config-tasks-1" remap="internal">Chapter&nbsp;7, Enabling IPv6 on a Network (Tasks)</olink> and<olink targetptr="ipv6-admintasks-1" remap="internal">Chapter&nbsp;8, Administering a TCP/IP Network
(Tasks)</olink>.</para>
</listitem><listitem><para>IPv6 details &ndash; <olink targetptr="ipv6-ref-76" remap="internal">Chapter&nbsp;11,
IPv6 in Depth (Reference)</olink></para>
</listitem>
</itemizedlist>
</highlights><sect1 id="ipv6-overview-8"><title>Major Features of IPv6</title><para>The defining feature of IPv6 is increased address space in comparison
to IPv4. IPv6 also improves Internet capabilities in numerous areas, as outlined
in this section.</para><sect2 id="ipv6-overview-9"><title>Expanded Addressing</title><para>IP address size increases from 32 bits in IPv4 to 128 bits in IPv6,
to support more levels of addressing hierarchy. In addition, IPv6 provides
many more addressable IPv6 systems. For more information, see <olink targetptr="ipv6-overview-10" remap="internal">IPv6 Addressing Overview</olink>.</para>
</sect2><sect2 id="ipv6-overview-6"><title>Address Autoconfiguration and Neighbor
Discovery</title><para>The IPv6 <emphasis>Neighbor Discovery (ND)</emphasis> protocol facilitates
the autoconfiguration of IPv6 addresses. <emphasis>Autoconfiguration</emphasis> is
the ability of an IPv6 host to automatically generate its own IPv6 address,
which makes address administration easier and less time-consuming. For more
information, see <olink targetptr="chapter1-42" remap="internal">IPv6 Address Autoconfiguration</olink>.</para><para>The Neighbor Discovery protocol corresponds to a combination of
these IPv4 protocols: Address Resolution Protocol (ARP), Internet Control
Message Protocol (ICMP), Router Discovery (RDISC), and ICMP Redirect. IPv6
routers use Neighbor Discovery to advertise the IPv6 site prefix. IPv6 hosts
use Neighbor Discovery for various purposes, which include soliciting the
prefix from an IPv6 router. For more information, see <olink targetptr="chapter1-40" remap="internal">IPv6 Neighbor Discovery Protocol Overview</olink>.</para>
</sect2><sect2 id="ipv6-overview-111"><title>Header Format Simplification</title><para>The IPv6 header format either drops or makes optional certain IPv4 header
fields. This change keeps the bandwidth cost of the IPv6 header as low as
possible, despite the increased address size. Even though IPv6 addresses are
four times longer than IPv4 addresses, the IPv6 header is only twice the size
of the IPv4 header.</para>
</sect2><sect2 id="ipv6-overview-220"><title>Improved Support for IP Header Options</title><para>Changes in the way IP header options are encoded allow for more efficient
forwarding. Also, IPv6 options have less stringent limits on their length.
The changes provide greater flexibility for introducing new options in the
future.</para>
</sect2><sect2 id="ipv6-overview-11"><title>Application Support for IPv6 Addressing</title><para>Many critical Solaris network services recognize and support IPv6 addresses,
for example:</para><itemizedlist><listitem><para>Name services, such as DNS, LDAP, and NIS. For more information
on IPv6 support by these name services, see <olink targetdoc="sysadv5" remap="external"><citetitle remap="book">System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)</citetitle></olink>.</para>
</listitem><listitem><para>Authentication and privacy applications, such as IP Security
Architecture (IPsec) and Internet Key Exchange (IKE). For more information,
see <olink targetptr="ipsectm-1" remap="internal">Part&nbsp;III, IP Security</olink>.</para>
</listitem><listitem><para>Differentiated services, as provided by IP Quality of Service
(IPQoS). For more information, see <olink targetptr="ipqostm-1" remap="internal">Part&nbsp;VI,
IP Quality of Service (IPQoS)</olink>.</para>
</listitem><listitem><para>Failover detection, as provided by IP network multipathing
(IPMP). For more information, see <olink targetptr="ipmptm-1" remap="internal">Part&nbsp;V,
IPMP</olink>.</para>
</listitem>
</itemizedlist>
</sect2><sect2 id="ipv6-overview-2"><title>Additional IPv6 Resources</title><para>In addition to this Part, you can obtain information about IPv6 from
the sources that are listed in the following sections.</para><sect3 id="ipv6-overview-4"><title>IPv6 Requests for Comments and Internet
Drafts</title><para>Many RFCs are available regarding IPv6. The following table lists the
major IPv6 articles and their Internet Engineering Task Force (IETF) web locations
as of this writing.</para><table frame="topbot" pgwide="100" id="ipv6-overview-tbl-12"><title>IPv6&ndash;Related
RFCs and Internet Drafts</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colname="colspec0" colwidth="19.70*"/><colspec colname="colspec2" colwidth="23.26*"/><colspec colname="colspec5" colwidth="56.08*"/><thead><row rowsep="1"><entry><para>RFC or Internet Draft</para>
</entry><entry><para>Subject</para>
</entry><entry><para>Location</para>
</entry>
</row>
</thead><tbody><row><entry><para>RFC 2461, <citetitle>Neighbor Discovery for IP Version 6 (IPv6)</citetitle></para>
</entry><entry><para>Describes the features and functions of IPv6 Neighbor Discovery protocol</para>
</entry><entry><para><ulink url="http://www.ietf.org/rfc/rfc2461.txt?number-2461" type="text_url">http://www.ietf.org/rfc/rfc2461.txt$number=2461</ulink> </para>
</entry>
</row><row><entry><para>RFC 3306, <citetitle>Unicast&mdash;Prefix&mdash;Based IPv6 Multicast
Addresses</citetitle></para>
</entry><entry><para>Describes the format and types of IPv6 multicast addresses</para>
</entry><entry><para><ulink url="ftp://ftp.rfc-editor.org/in-notes/rfc3306.txt" type="text_url">ftp://ftp.rfc-editor.org/in-notes/rfc3306.txt</ulink></para>
</entry>
</row><row><entry><para>RFC 3484: <citetitle>Default Address Selection for Internet Protocol
version 6 (IPv6) </citetitle></para>
</entry><entry><para>Describes the algorithms used in IPv6 default address selection</para>
</entry><entry><para><ulink url="http://www.ietf.org/rfc/rfc3484.txt?number=3484" type="text_url">http://www.ietf.org/rfc/rfc3484?number=3484</ulink> </para>
</entry>
</row><row><entry><para>RFC 3513, <citetitle>Internet Protocol version 6 (IPv6) Addressing Architecture</citetitle></para>
</entry><entry><para>Contains complete details about the types of IPv6 addresses and includes
many examples</para>
</entry><entry><para><ulink url="http://www.ietf.org/rfc/rfc3513.txt?number=3513" type="text_url">http://www.ietf.org/rfc/rfc3513.txt?number=3513</ulink></para>
</entry>
</row><row><entry><para>RFC 3587,<citetitle> IPv6 Global Unicast Address Format</citetitle></para>
</entry><entry><para>Defines the standard format for IPv6 unicast addresses</para>
</entry><entry><para><ulink url="http://www.ietf.org/rfc/rfc3587.txt?number=3587" type="text_url">http://www.ietf.org/rfc/rfc3587.txt?number=3587</ulink></para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect3><sect3 id="ipv6-overview-5"><title>Web Sites</title><para>The following web sites provide useful information about IPv6.</para><table frame="topbot" pgwide="100" id="ipv6-overview-tbl-13"><title>IPv6&ndash;Related
Web Sites</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colwidth="18.77*"/><colspec colwidth="27.04*"/><colspec colwidth="53.20*"/><thead><row rowsep="1"><entry><para>Web Site</para>
</entry><entry><para>Description</para>
</entry><entry><para>Location</para>
</entry>
</row>
</thead><tbody><row><entry><para>IPv6 Forum</para>
</entry><entry><para>Links to IPv6&ndash;related presentations, events, classes, and implementations
worldwide are available from this society's web site</para>
</entry><entry><para><ulink url="http://www.ipv6forum.com" type="text">http://www.ipv6forum.com</ulink></para>
</entry>
</row><row><entry><para>Internet Educational Task Force IPv6 Working Group</para>
</entry><entry><para>Links to all relevant IPv6 RFCs and Internet Drafts are on the home
page of this IETF working group</para>
</entry><entry><para><ulink url="http://www.ietf.org/html.charters/ipv6-charter.html" type="text">http://www.ietf.org/html.charters/ipv6-charter.html</ulink> </para>
</entry>
</row><row><entry><para>UK IPv6 Resource Center</para>
</entry><entry><para>Materials and links that are related to the <emphasis>6bone</emphasis>,
the international test IPv6 network, and University of Lancaster IPv6 projects
are on this web site of University of Lancaster UK</para>
</entry><entry><para><ulink url="http://www.cs-ipv6.lancs.ac.uk" type="text">http://www.cs-ipv6.lancs.ac.uk</ulink></para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect3>
</sect2>
</sect1><sect1 id="ipv6-overview-1"><title>IPv6 Network Overview</title><para>This section introduces terms that are fundamental to the IPv6 network
topology. The following figure shows the basic parts of an IPv6 network.</para><figure id="ipv6-overview-fig-23"><title>Basic Components of an IPv6 Network</title><mediaobject><imageobject><imagedata entityref="IPv6-nw-members" width="100"/>
</imageobject><textobject><simpara>The following text describes the figure.</simpara>
</textobject>
</mediaobject>
</figure><para>The figure depicts an IPv6 network and its connection to an ISP. The
internal network consists of Links 1, 2, 3, and 4. Each link is populated
by hosts and terminated by a router. Link 4, which is the network's DMZ, is
terminated on one end by the boundary router. The boundary router runs an
IPv6 tunnel to an ISP, which provides Internet connectivity for the network.
Links 2 and 3 are administered as Subnet 8a. Subnet 8b consists only of systems
on Link 1. Subnet 8c is contiguous with the DMZ on Link 4.</para><para>As illustrated in <olink targetptr="ipv6-overview-fig-23" remap="internal">Figure 3&ndash;1</olink>,
an IPv6 network has essentially the same components as an IPv4 network. However,
IPv6 terminology differs slightly from IPv4 terminology. Here is a list of
familiar terms for network components as they are used in an IPv6 context.</para><variablelist><varlistentry><term><emphasis role="strong">node</emphasis></term><listitem><para>Any system with an IPv6 address and interface that is configured
for IPv6 support. This generic term applies to both hosts and routers.</para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">IPv6 router</emphasis></term><listitem><para>A node that forwards IPv6 packets.  At least one of the router's
interfaces must be configured for IPv6 support. An IPv6 router can also advertise
the registered IPv6 site prefix for the enterprise over the internal network. </para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">IPv6 host</emphasis></term><listitem><para>A node with an IPv6 address. An IPv6 host can have more than
one interface that is configured for IPv6 support. As in IPv4, IPv6 hosts
do not forward packets.</para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">link</emphasis></term><listitem><para>A single, contiguous network medium that is bounded on either
end by a router.</para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">neighbor</emphasis></term><listitem><para>An IPv6 node that is on the same link as the local node.</para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">IPv6 subnet</emphasis></term><listitem><para>The administrative segment of an IPv6 network. Components
of an IPv6 subnet can directly correspond to all nodes on a link, as in IPv4.
Nodes on a link can be administered in separate subnets, if required. Additionally,
IPv6 does support multilink subnets, where nodes on more than one link can
be components of a single subnet. Links 2 and 3 in <olink targetptr="ipv6-overview-fig-23" remap="internal">Figure 3&ndash;1</olink> are components of
multilink Subnet 8a.</para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">IPv6 tunnel</emphasis></term><listitem><para>A tunnel that provides a virtual point-to-point path between
an IPv6 node and another IPv6 node endpoint. IPv6 supports manually configurable
tunnels and automatic 6to4 tunnels.</para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">boundary router</emphasis></term><listitem><para>The router at the edge of a network that provides one end
of the IPv6 tunnel to an endpoint outside the local network. This router must
have at least one IPv6 interface to the internal network. For the external
network, the router can have an IPv6 interface or an IPv4 interface.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1><sect1 id="ipv6-overview-10"><title>IPv6 Addressing Overview</title><para>IPv6 addresses are assigned to interfaces, rather than to nodes, in
recognition that a node can have more than one interface. Moreover, you can
assign more than one IPv6 address to an interface.</para><note><para>For complete technical information about the IPv6 address format,
go to RFC 2374, <ulink url="http://www.ietf.org/rfc/rfc2374.txt?number=2374" type="text_url">IPv6 Global Unicast Address Format</ulink> </para>
</note><para>IPv6 defines three address types:</para><variablelist><varlistentry><term><emphasis role="strong">unicast</emphasis></term><listitem><para>Identifies an interface of an individual node.</para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">multicast</emphasis></term><listitem><para>Identifies a group of interfaces, usually on different nodes.
Packets that are sent to the multicast address go to all members of the <emphasis>multicast group</emphasis>.</para>
</listitem>
</varlistentry><varlistentry><term><emphasis role="strong">anycast</emphasis></term><listitem><para>Identifies a group of interfaces, usually on different nodes.
Packets that are sent to the anycast address go to the <emphasis>anycast group</emphasis> member
node that is physically closest to the sender.</para>
</listitem>
</varlistentry>
</variablelist><sect2 id="ipv6-overview-123"><title>Parts of the IPv6 Address</title><para>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 contain a hexadecimal
number, in contrast to the dotted-decimal notation of IPv4 addresses. In the
next figure, the x's represent hexadecimal numbers.</para><figure id="ipv6-overview-fig-2"><title>Basic IPv6 Address Format</title><mediaobject><imageobject><imagedata entityref="basic-IPv6-address"/>
</imageobject><textobject><simpara>The figure shows the three parts of an IPv6 address,
which are described in the next text.</simpara>
</textobject>
</mediaobject>
</figure><para>The leftmost three fields (48 bits) contain the <emphasis>site
prefix</emphasis>. The prefix describes the <emphasis>public topology</emphasis> that
is usually allocated to your site by an ISP or Regional Internet Registry
(RIR). </para><para>The next field is the 16-bit <emphasis>subnet ID</emphasis>, which you
(or another administrator) allocate for your site. The subnet ID describes
the <emphasis>private topology</emphasis>, also known as the <emphasis>site
topology</emphasis>, because it is internal to your site.</para><para>The rightmost four fields (64 bits) contain the <emphasis>interface
ID</emphasis>, also referred to as a <emphasis>token.</emphasis> The interface
ID is either automatically configured from the interface's MAC address or
manually configured in EUI-64 format.</para><para>Consider again the address in <olink targetptr="ipv6-overview-fig-2" remap="internal">Figure
3&ndash;2</olink>:</para><para><literal>2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b</literal> </para><para>This example shows all 128 bits of an IPv6 address. The first 48 bits, <literal>2001:0db8:3c4d</literal>, contain the site prefix, representing the public
topology. The next 16 bits, <literal>0015</literal>, contain the subnet ID,
representing the private topology for the site. The lower order, rightmost
64 bits, <literal>0000:0000:1a2f:1a2b</literal>, contain the interface ID. </para>
</sect2><sect2 id="ipv6-overview-24"><title>Abbreviating IPv6 Addresses</title><para>Most IPv6 addresses do not occupy all of their possible 128 bits. This
condition results in fields that are padded with zeros or contain only zeros. </para><para>The IPv6 addressing architecture allows you use the two-colon (::) notation
to represent contiguous 16-bit fields of zeros. For example, you might abbreviate
the IPv6 address in <olink targetptr="ipv6-overview-fig-2" remap="internal">Figure 3&ndash;2</olink> by
replacing the two contiguous fields of zeros in the interface ID with two
colons. The resulting address is <literal>2001:0db8:3c4d:0015::1a2f:1a2b</literal>.
Other fields of zeros can be represented as a single 0. You can also omit
any leading zeros in a field, such as changing <literal>0db8</literal> to <literal>db8</literal>.</para><para>So the address <literal>2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b</literal> can
be abbreviated as <literal>2001:db8:3c4d:15::1a2f:1a2b</literal>. </para><para>You can use the two colon notation to replace any contiguous fields
of all zeros in the IPv6 address. For example, the IPv6 address <literal>2001:0db8:3c4d:0015:0000:d234::3eee:0000</literal> can be collapsed into <literal>2001:db8:3c4d:15:0:d234:3eee::</literal>.</para>
</sect2><sect2 id="ipv6-overview-170"><title>Prefixes in IPv6</title><para>The leftmost fields of the IPv6 address contain the prefix, which is
used for routing IPv6 packets. IPv6 prefixes have the following format:</para><para><replaceable>prefix</replaceable>/<replaceable>length in bits</replaceable></para><para>Prefix length is stated in classless inter-domain routing (CIDR) notation.
CIDR notation is a slash at the end of the address that is followed by the
prefix length in bits. For information on CIDR format IP addresses, refer
to <olink targetptr="exlvx" remap="internal">Designing Your CIDR IPv4 Addressing Scheme</olink>.</para><para>The <emphasis>site prefix</emphasis> of an IPv6 address occupies
up to 48 of the leftmost bits of the IPv6 address. For example, the site prefix
of the IPv6 address <literal>2001:db8:3c4d:0015:0000:0000:1a2f:1a2b/48</literal> is
contained in the leftmost 48 bits, <literal>2001:db8:3c4d</literal>. You use
the following representation, with zeros compressed, to represent this prefix:</para><para><literal>2001:db8:3c4d::/48</literal></para><note><para>The prefix <literal>2001:db8::/32</literal> is a special IPv6
prefix that is used specifically for documentation examples. </para>
</note><para>You can also specify a <emphasis>subnet prefix</emphasis>, which
defines the internal topology of the network to a router. The example IPv6
address has the following subnet prefix.</para><para><literal>2001:db8:3c4d:15::/64</literal></para><para>The subnet prefix always contains 64 bits. These bits include 48 bits
for the site prefix, in addition to 16 bits for the subnet ID.</para><para>The following prefixes have been reserved for special use:</para><variablelist><varlistentry><term><literal>2002::/16</literal></term><listitem><para>Indicates that a 6to4 routing prefix follows.</para>
</listitem>
</varlistentry><varlistentry><term><literal>fe80::/10</literal></term><listitem><para>Indicates that a link-local address follows.</para>
</listitem>
</varlistentry><varlistentry><term><literal>ff00::/8</literal></term><listitem><para>Indicates that a multicast address follows.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="ipv6-overview-190"><title>Unicast Addresses</title><para>IPv6 includes two different unicast address assignments:</para><itemizedlist><listitem><para>Global unicast address</para>
</listitem><listitem><para>Link-local address</para>
</listitem>
</itemizedlist><para>The type of unicast address is determined by the leftmost  (high order)
contiguous bits in the address, which contain the prefix. </para><para>The unicast address format is organized in the following hierarchy:</para><itemizedlist><listitem><para>Public topology</para>
</listitem><listitem><para>Site (private) topology </para>
</listitem><listitem><para>Interface ID</para>
</listitem>
</itemizedlist><sect3 id="ipv6-overview-130"><title>Global Unicast Address</title><para>The global unicast address is globally unique in the Internet. The example
IPv6 address that is shown in <olink targetptr="ipv6-overview-170" remap="internal">Prefixes
in IPv6</olink> is a global unicast address. The next figure shows the scope
of the global unicast address, as compared to the parts of the IPv6 address.</para><figure id="ipv6-overview-fig-3"><title>Parts of the Global Unicast Address</title><mediaobject><imageobject><imagedata entityref="IPv6-global-unicast"/>
</imageobject><textobject><simpara>The figure divides a unicast address into its public
topology, the site prefix and its site topology, the subnet ID, and interface
ID.</simpara>
</textobject>
</mediaobject>
</figure><sect4 id="ipv6-overview-122"><title>Public Topology</title><para>The site prefix defines the <emphasis>public topology</emphasis> of
your network to a router. You obtain the site prefix for your enterprise from
an ISP or Regional Internet Registry (RIR). </para>
</sect4><sect4 id="ipv6-overview-13"><title>Site Topology and IPv6 Subnets</title><para>IN IPv6, the <emphasis>subnet ID</emphasis> defines an administrative
subnet of the network and is up to 16 bits in length. You assign a subnet
ID as part of IPv6 network configuration. The <emphasis>subnet prefix</emphasis> defines
the site topology to a router by specifying the specific link to which the
subnet has been assigned. </para><para>IPv6 subnets are conceptually the same as IPv4 subnets, in that each
subnet is usually associated with a single hardware link. However, IPv6 subnet
IDs are expressed in hexadecimal notation, rather than in dotted decimal notation.</para>
</sect4><sect4 id="ipv6-overview-16"><title>Interface ID</title><para>The <emphasis>interface ID</emphasis> identifies an interface of a particular
node. An interface ID must be unique within the subnet. IPv6 hosts can use
the Neighbor Discovery protocol to automatically generate their own interface
IDs. Neighbor Discovery automatically generates the interface ID, based on
the MAC or EUI-64 address of the host's interface. You can also manually assign
interface IDs, which is recommended for IPv6 routers and IPv6-enabled servers.
For instructions on how to create a manual EUI-64 address, refer to RFC 3513 <ulink url="http://www.ietf.org/rfc/rfc3513.txt?number=3513" type="text">Internet
Protocol Version 6 (IPv6) Addressing Architecture</ulink>.</para>
</sect4>
</sect3><sect3 id="ipv6-overview-18"><title>Transitional Global Unicast Addresses</title><para>For transition purposes, the IPv6 protocol includes the ability to embed
an IPv4 address within an IPv6 address. This type of IPv4 address facilitates
the tunneling of IPv6 packets over existing IPv4 networks. One example of
a transitional global unicast address is the 6to4 address. For more information
on 6to4 addressing, refer to <olink targetptr="ipv6-ref-50" remap="internal">6to4 Automatic
Tunnels</olink>.</para>
</sect3><sect3 id="ipv6-overview-15"><title>Link-Local Unicast Address</title><para>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 example shows the format of the link-local address.</para><example id="ipv6-overview-ex-19"><title>Parts of the Link-Local Unicast Address</title><mediaobject><imageobject><imagedata entityref="link-local-unicast"/>
</imageobject><textobject><simpara>The figure illustrates the format of an IPv6 link local
address, which is described in the next context.</simpara>
</textobject>
</mediaobject><para>A <emphasis>link-local prefix</emphasis> has the following format:</para><para><literal>fe80::</literal><replaceable>interface-ID</replaceable><literal>/10</literal></para><para>The following is an example of a link-local address:</para><para><literal>fe80::23a1:b152</literal></para>
</example><variablelist><varlistentry><term><literal>fe80</literal></term><listitem><para>Hexadecimal representation of the 10-bit binary prefix 1111111010.
This prefix identifies the type of IPv6 address as link local.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>interface-ID</replaceable></term><listitem><para>Hexadecimal address of the interface, which is usually derived
from the 48-bit MAC address.</para>
</listitem>
</varlistentry>
</variablelist><para>When you enable IPv6 during Solaris installation, the lowest numbered
interface on the local machine is configured with a link-local address. Each
interface requires at least one link-local address to identify the node to
other nodes on the local link. Therefore, you need to manually configure link-local
addresses for additional interfaces of a node. After configuration, the node
uses its link-local addresses for automatic address configuration and neighbor
discovery. </para>
</sect3>
</sect2><sect2 id="ipv6-overview-101"><title>Multicast Addresses</title><para>IPv6 supports the use of multicast addresses. The multicast address
identifies a <emphasis>multicast group</emphasis>, which is a group of interfaces,
usually on different nodes. An interface can belong to any number of multicast
groups. If the first 16 bits of an IPv6 address is <literal>ff00</literal><replaceable>n</replaceable>, the address is a multicast address.</para><para>Multicast addresses are used for sending information or services to
all interfaces that are defined as members of the multicast group. For example,
one use of multicast addresses is  to communicate with all IPv6 nodes on the
local link.</para><para>When an interface's IPv6 unicast address is created, the kernel automatically
makes the interface a member of certain multicast groups. For example, the
kernel makes each node a member of the Solicited Node multicast group, which
is used by the Neighbor Discovery protocol to detect reachability. The kernel
also automatically makes a node a member of the All-Nodes or All Routers multicast
groups.</para><para>For detailed information about multicast addresses, refer to <olink targetptr="ipv6-overview-201" remap="internal">IPv6 Multicast Addresses in Depth</olink>. For
technical information, see <ulink url="ftp://ftp.rfc-editor.org/in-notes/rfc3306.txt" type="text_url">RFC 3306,
Unicast-Prefix-based IPv6 Multicast Addresses</ulink>, which explains the
multicast address format. For more information about the proper use of multicast
addresses and groups, <ulink url="ftp://ftp.rfc-editor.org/in-notes/rfc3307.txt" type="text_url">RFC 3307, Allocation Guidelines for IPv6 Multicast Addresses</ulink>.</para>
</sect2><sect2 id="ipv6-overview-118"><title>Anycast Addresses and Groups</title><para>IPv6 anycast addresses identify a group of interfaces on different IPv6
nodes. Each group of interfaces is known as an <emphasis>anycast group</emphasis>.
When a packet is sent to the anycast address, the anycast group member that
is physically closest to the sender receives the packet.</para><note><para>The Solaris Operating System (Solaris OS) implementation of IPv6
does not support the creation of anycast addresses and groups. However, Solaris
IPv6 nodes can send packets to anycast addresses. For more information, see <olink targetptr="ipv6-ref-56" remap="internal">Considerations for Tunnels to a 6to4 Relay Router</olink>.</para>
</note>
</sect2>
</sect1><sect1 id="chapter1-40"><title>IPv6 Neighbor Discovery Protocol Overview</title><para>IPv6 introduces the Neighbor Discovery protocol, which uses messaging
as the means to handle the interaction between neighbor nodes. <emphasis>Neighbor
nodes</emphasis> are IPv6 nodes that are on the same link. For example, by
issuing neighbor discovery-related messages, a node can learn a neighbor's
link-local address. Neighbor Discovery controls the following major activities
on the IPv6 local link:</para><itemizedlist><listitem><para><emphasis role="strong">Router discovery</emphasis> &ndash; Aids
hosts in locating routers on the local link.</para>
</listitem><listitem><para><emphasis role="strong">Address autoconfiguration</emphasis> &ndash;
 Enables a node to automatically configure IPv6 addresses for its interfaces.</para>
</listitem><listitem><para><emphasis role="strong">Prefix discovery</emphasis> &ndash; Enables
nodes to discover the known subnet prefixes that have been allocated to a
link. Nodes use prefixes to distinguish destinations that are on the local
link from those destinations that are only reachable through a router.</para>
</listitem><listitem><para><emphasis role="strong">Address resolution</emphasis> &ndash;
Helps nodes to determine the link-local address of a neighbor, given only
the destinations's IP address.</para>
</listitem><listitem><para><emphasis role="strong">Next-hop determination</emphasis> &ndash;
Uses an algorithm to determine the IP address of a packet recipient one hop
that is beyond the local link. The next-hop can be a router or the destination
node.</para>
</listitem><listitem><para><emphasis role="strong">Neighbor unreachability detection</emphasis> &ndash;
Aids nodes to determine if a neighbor is no longer reachable.   For both routers
and hosts, address resolution can be repeated.</para>
</listitem><listitem><para><emphasis role="strong">Duplicate address detection</emphasis> &ndash;
Enables a node to determine if an address that the node wants to use is not
already in use.</para>
</listitem><listitem><para><emphasis role="strong">Redirection</emphasis> &ndash; Enables
a router to inform a host of a better first-hop node to use to reach a particular
destination.</para>
</listitem>
</itemizedlist><para>Neighbor Discovery uses the following ICMP message types for communication
among nodes on a link:</para><itemizedlist><listitem><para>Router solicitation</para>
</listitem><listitem><para>Router advertisement</para>
</listitem><listitem><para>Neighbor solicitation</para>
</listitem><listitem><para>Neighbor advertisement</para>
</listitem><listitem><para>Redirection</para>
</listitem>
</itemizedlist><para>For detailed information on Neighbor Discovery messages and other Neighbor
Discovery protocol topics, refer to <olink targetptr="ipv6-ref-34" remap="internal">IPv6 Neighbor
Discovery Protocol</olink>. For technical information on Neighbor Discovery,
see <ulink url="http://www.ietf.org/rfc/rfc2461.txt?number=2461" type="text_url">RFC 2461, Neighbor Discovery for IP Version 6 (IPv6)</ulink>.</para>
</sect1><sect1 id="chapter1-42"><title>IPv6 Address Autoconfiguration</title><para>A major feature of IPv6 is a host's ability to autoconfigure an interface.
Through Neighbor Discovery, the host locates an IPv6 router on the local link
and requests a site prefix. The host does the following, as part of the autoconfiguration
process:</para><itemizedlist><listitem><para>Creates a link-local address for each interface, which does
not require a router on the link.</para>
</listitem><listitem><para>Verifies the address's uniqueness on a link, which does not
require a router on the link.</para>
</listitem><listitem><para>Determines if the global addresses should be obtained through
the stateless mechanism, the stateful mechanism, or both mechanisms. (Requires
a router on the link.)</para>
</listitem>
</itemizedlist><note><para>Stateful autoconfiguration is achieved through DHCPv6. DHCPv6
is not supported in the current Solaris release.</para>
</note><sect2 id="chapter1-49"><title>Stateless Autoconfiguration Overview</title><para>Stateless autoconfiguration requires no manual configuration of hosts,
minimal (if any) configuration of routers, and no additional servers. The
stateless mechanism enables a host to generate its own addresses. The stateless
mechanism  uses  local information as well as nonlocal information that is
advertised by routers to generate the addresses.</para><para>You can implement temporary addresses for an interface, which are also
autoconfigured. You enable a temporary address token for one or more interfaces
on a host. However, unlike standard, autoconfigured IPv6 addresses, a temporary
address consists of the site prefix and a randomly generated 64 bit number.
This random number becomes the interface ID portion of the IPv6 address. A
link-local address is not generated with the temporary address as the interface
ID.</para><para>Routers advertise all prefixes that have been assigned on the link.
IPv6 hosts use Neighbor Discovery to obtain a subnet prefix from a local router.
Hosts automatically create IPv6 addresses by combining the subnet prefix with
an interface ID that is generated from an interface's MAC address. In the
absence of routers, a host can generate only link-local addresses. Link-local
addresses can only be used for communication with nodes on the same link.</para><note><para>Do not use stateless autoconfiguration to create the IPv6 addresses
of servers. Hosts automatically generate interface IDs that are based on hardware-specific
information during autoconfiguration. The current interface ID could become
invalid if the existing interface is swapped for a new interface. </para>
</note>
</sect2>
</sect1>&ipv6-tunnels;
</chapter>