Whole document tree
    

Whole document tree

Network part, also known as prefix

3.2. Network part, also known as prefix

Designers defined some address types and left a lot of scope for future definitions as currently unknown requirements arise. RFC 2373 [July 1998] / IP Version 6 Addressing Architecture defines the current addressing scheme but there is already a new draft available: draft-ietf-ipngwg-addr-arch-*.txt.

Now lets take a look at the different types of prefixes (and therefore address types):

3.2.2. Site local address type

These are addresses similar to the RFC 1918 / Address Allocation for Private Internets in IPv4 today, with the added advantage that everyone who use this address type has the capability to use the given 16 bits for a maximum number of 65536 subnets. Comparable with the 10.0.0.0/8 in IPv4 today.

Another advantage: because it's possible to assign more than one address to an interface with IPv6, you can also assign such a site local address in addition to a global one.

It begins with:

fec<emphasis>x:  <- most commonly used.</emphasis>
fed<emphasis>x:</emphasis>
fee<emphasis>x:</emphasis>
fef<emphasis>x:</emphasis>
   

(where "x" is any hex character, normally "0")

3.2.3. Global address type "Aggregatable global unicast"

Today, there is one global address type defined (the first design, called "provider based," was thrown away some years ago RFC 1884 / IP Version 6 Addressing Architecture [obsolete], you will find some remains in older Linux kernel sources).

It begins with (x are hex characters)

2<emphasis>xxx</emphasis>: 
3<emphasis>xxx</emphasis>:
   

There are some further subtypes defined, see below:

3.2.3.2. 6to4 addresses

These addresses, designed for a special tunneling mechanism [RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds and RFC 2893 / Transition Mechanisms for IPv6 Hosts and Routers], encode a given IPv4 address and a possible subnet and begin with

2002:
    

For example, representing 192.168.1.1/5:

2002:c0a8:0101:5::1
    

A small shell command line can help you generating such address out of a given IPv4 one:

ipv4="1.2.3.4"; sla="5"; printf "2002:%02x%02x:%02x%02x:%04x::1" `echo $ipv4 | tr "." " "` $sla
    

See also tunneling using 6to4 and information about 6to4 relay routers.

3.2.4. Multicast addresses

Multicast addresses are used for related services.

They alway start with (xx is the scope value)

ff<emphasis>x</emphasis>y:
   

They are split into scopes and types:

3.2.4.2. Multicast types

There are many types already defined/reserved (see RFC 2373 / IP Version 6 Addressing Architecture for details). Some examples are:

  • All Nodes Address: ID = 1h, addresses all hosts on the local node (ff01:0:0:0:0:0:0:1) or the connected link (ff02:0:0:0:0:0:0:1).

  • All Routers Address: ID = 2h, addresses all routers on the local node (ff01:0:0:0:0:0:0:2), on the connected link (ff02:0:0:0:0:0:0:2), or on the local site (ff05:0:0:0:0:0:0:2)