turns printfs back on
[freebsd-src/fkvm-freebsd.git] / contrib / bind9 / doc / rfc / rfc3513.txt
blob49c0fa41247786878a87c89a06a9c3ba98cbc7cb
7 Network Working Group                                          R. Hinden
8 Request for Comments: 3513                                         Nokia
9 Obsoletes: 2373                                               S. Deering
10 Category: Standards Track                                  Cisco Systems
11                                                               April 2003
14        Internet Protocol Version 6 (IPv6) Addressing Architecture
16 Status of this Memo
18    This document specifies an Internet standards track protocol for the
19    Internet community, and requests discussion and suggestions for
20    improvements.  Please refer to the current edition of the "Internet
21    Official Protocol Standards" (STD 1) for the standardization state
22    and status of this protocol.  Distribution of this memo is unlimited.
24 Copyright Notice
26    Copyright (C) The Internet Society (2003).  All Rights Reserved.
28 Abstract
30    This specification defines the addressing architecture of the IP
31    Version 6 (IPv6) protocol.  The document includes the IPv6 addressing
32    model, text representations of IPv6 addresses, definition of IPv6
33    unicast addresses, anycast addresses, and multicast addresses, and an
34    IPv6 node's required addresses.
58 Hinden & Deering            Standards Track                     [Page 1]
60 RFC 3513              IPv6 Addressing Architecture            April 2003
63 Table of Contents
65    1. Introduction.................................................3
66    2. IPv6 Addressing..............................................3
67       2.1 Addressing Model.........................................4
68       2.2 Text Representation of Addresses.........................4
69       2.3 Text Representation of Address Prefixes..................5
70       2.4 Address Type Identification..............................6
71       2.5 Unicast Addresses........................................7
72           2.5.1 Interface Identifiers..............................8
73           2.5.2 The Unspecified Address............................9
74           2.5.3 The Loopback Address...............................9
75           2.5.4 Global Unicast Addresses..........................10
76           2.5.5 IPv6 Addresses with Embedded IPv4 Addresses.......10
77           2.5.6 Local-use IPv6 Unicast Addresses..................11
78       2.6 Anycast Addresses.......................................12
79           2.6.1 Required Anycast Address..........................13
80       2.7 Multicast Addresses.....................................13
81           2.7.1 Pre-Defined Multicast Addresses...................15
82       2.8 A Node's Required Addresses.............................17
83    3. Security Considerations.....................................17
84    4. IANA Considerations.........................................18
85    5. References..................................................19
86       5.1 Normative References....................................19
87       5.2 Informative References..................................19
88    APPENDIX A: Creating Modified EUI-64 format Interface IDs......21
89    APPENDIX B: Changes from RFC-2373..............................24
90    Authors' Addresses.............................................25
91    Full Copyright Statement.......................................26
114 Hinden & Deering            Standards Track                     [Page 2]
116 RFC 3513              IPv6 Addressing Architecture            April 2003
119 1.  Introduction
121    This specification defines the addressing architecture of the IP
122    Version 6 (IPv6) protocol.  It includes the basic formats for the
123    various types of IPv6 addresses (unicast, anycast, and multicast).
125    The authors would like to acknowledge the contributions of Paul
126    Francis, Scott Bradner, Jim Bound, Brian Carpenter, Matt Crawford,
127    Deborah Estrin, Roger Fajman, Bob Fink, Peter Ford, Bob Gilligan,
128    Dimitry Haskin, Tom Harsch, Christian Huitema, Tony Li, Greg
129    Minshall, Thomas Narten, Erik Nordmark, Yakov Rekhter, Bill Simpson,
130    Sue Thomson, Markku Savela, and Larry Masinter.
132 2. IPv6 Addressing
134    IPv6 addresses are 128-bit identifiers for interfaces and sets of
135    interfaces (where "interface" is as defined in section 2 of [IPV6]).
136    There are three types of addresses:
138    Unicast:   An identifier for a single interface.  A packet sent to a
139               unicast address is delivered to the interface identified
140               by that address.
142    Anycast:   An identifier for a set of interfaces (typically belonging
143               to different nodes).  A packet sent to an anycast address
144               is delivered to one of the interfaces identified by that
145               address (the "nearest" one, according to the routing
146               protocols' measure of distance).
148    Multicast: An identifier for a set of interfaces (typically belonging
149               to different nodes).  A packet sent to a multicast address
150               is delivered to all interfaces identified by that address.
152    There are no broadcast addresses in IPv6, their function being
153    superseded by multicast addresses.
155    In this document, fields in addresses are given a specific name, for
156    example "subnet".  When this name is used with the term "ID" for
157    identifier after the name (e.g., "subnet ID"), it refers to the
158    contents of the named field.  When it is used with the term "prefix"
159    (e.g., "subnet prefix") it refers to all of the address from the left
160    up to and including this field.
162    In IPv6, all zeros and all ones are legal values for any field,
163    unless specifically excluded.  Specifically, prefixes may contain, or
164    end with, zero-valued fields.
170 Hinden & Deering            Standards Track                     [Page 3]
172 RFC 3513              IPv6 Addressing Architecture            April 2003
175 2.1 Addressing Model
177    IPv6 addresses of all types are assigned to interfaces, not nodes.
178    An IPv6 unicast address refers to a single interface.  Since each
179    interface belongs to a single node, any of that node's interfaces'
180    unicast addresses may be used as an identifier for the node.
182    All interfaces are required to have at least one link-local unicast
183    address (see section 2.8 for additional required addresses).  A
184    single interface may also have multiple IPv6 addresses of any type
185    (unicast, anycast, and multicast) or scope.  Unicast addresses with
186    scope greater than link-scope are not needed for interfaces that are
187    not used as the origin or destination of any IPv6 packets to or from
188    non-neighbors.  This is sometimes convenient for point-to-point
189    interfaces.  There is one exception to this addressing model:
191       A unicast address or a set of unicast addresses may be assigned to
192       multiple physical interfaces if the implementation treats the
193       multiple physical interfaces as one interface when presenting it
194       to the internet layer.  This is useful for load-sharing over
195       multiple physical interfaces.
197    Currently IPv6 continues the IPv4 model that a subnet prefix is
198    associated with one link.  Multiple subnet prefixes may be assigned
199    to the same link.
201 2.2 Text Representation of Addresses
203    There are three conventional forms for representing IPv6 addresses as
204    text strings:
206    1. The preferred form is x:x:x:x:x:x:x:x, where the 'x's are the
207       hexadecimal values of the eight 16-bit pieces of the address.
209       Examples:
211          FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
213          1080:0:0:0:8:800:200C:417A
215       Note that it is not necessary to write the leading zeros in an
216       individual field, but there must be at least one numeral in every
217       field (except for the case described in 2.).
219    2. Due to some methods of allocating certain styles of IPv6
220       addresses, it will be common for addresses to contain long strings
221       of zero bits.  In order to make writing addresses containing zero
222       bits easier a special syntax is available to compress the zeros.
226 Hinden & Deering            Standards Track                     [Page 4]
228 RFC 3513              IPv6 Addressing Architecture            April 2003
231       The use of "::" indicates one or more groups of 16 bits of zeros.
232       The "::" can only appear once in an address.  The "::" can also be
233       used to compress leading or trailing zeros in an address.
235       For example, the following addresses:
237          1080:0:0:0:8:800:200C:417A  a unicast address
238          FF01:0:0:0:0:0:0:101        a multicast address
239          0:0:0:0:0:0:0:1             the loopback address
240          0:0:0:0:0:0:0:0             the unspecified addresses
242       may be represented as:
244          1080::8:800:200C:417A       a unicast address
245          FF01::101                   a multicast address
246          ::1                         the loopback address
247          ::                          the unspecified addresses
249    3. An alternative form that is sometimes more convenient when dealing
250       with a mixed environment of IPv4 and IPv6 nodes is
251       x:x:x:x:x:x:d.d.d.d, where the 'x's are the hexadecimal values of
252       the six high-order 16-bit pieces of the address, and the 'd's are
253       the decimal values of the four low-order 8-bit pieces of the
254       address (standard IPv4 representation).  Examples:
256          0:0:0:0:0:0:13.1.68.3
258          0:0:0:0:0:FFFF:129.144.52.38
260       or in compressed form:
262          ::13.1.68.3
264          ::FFFF:129.144.52.38
266 2.3 Text Representation of Address Prefixes
268    The text representation of IPv6 address prefixes is similar to the
269    way IPv4 addresses prefixes are written in CIDR notation [CIDR].  An
270    IPv6 address prefix is represented by the notation:
272       ipv6-address/prefix-length
274    where
276       ipv6-address    is an IPv6 address in any of the notations listed
277                       in section 2.2.
282 Hinden & Deering            Standards Track                     [Page 5]
284 RFC 3513              IPv6 Addressing Architecture            April 2003
287       prefix-length   is a decimal value specifying how many of the
288                       leftmost contiguous bits of the address comprise
289                       the prefix.
291    For example, the following are legal representations of the 60-bit
292    prefix 12AB00000000CD3 (hexadecimal):
294       12AB:0000:0000:CD30:0000:0000:0000:0000/60
295       12AB::CD30:0:0:0:0/60
296       12AB:0:0:CD30::/60
298    The following are NOT legal representations of the above prefix:
300       12AB:0:0:CD3/60   may drop leading zeros, but not trailing zeros,
301                         within any 16-bit chunk of the address
303       12AB::CD30/60     address to left of "/" expands to
304                         12AB:0000:0000:0000:0000:000:0000:CD30
306       12AB::CD3/60      address to left of "/" expands to
307                         12AB:0000:0000:0000:0000:000:0000:0CD3
309    When writing both a node address and a prefix of that node address
310    (e.g., the node's subnet prefix), the two can combined as follows:
312       the node address      12AB:0:0:CD30:123:4567:89AB:CDEF
313       and its subnet number 12AB:0:0:CD30::/60
315       can be abbreviated as 12AB:0:0:CD30:123:4567:89AB:CDEF/60
317 2.4 Address Type Identification
319    The type of an IPv6 address is identified by the high-order bits of
320    the address, as follows:
322    Address type         Binary prefix        IPv6 notation   Section
323    ------------         -------------        -------------   -------
324    Unspecified          00...0  (128 bits)   ::/128          2.5.2
325    Loopback             00...1  (128 bits)   ::1/128         2.5.3
326    Multicast            11111111             FF00::/8        2.7
327    Link-local unicast   1111111010           FE80::/10       2.5.6
328    Site-local unicast   1111111011           FEC0::/10       2.5.6
329    Global unicast       (everything else)
331    Anycast addresses are taken from the unicast address spaces (of any
332    scope) and are not syntactically distinguishable from unicast
333    addresses.
338 Hinden & Deering            Standards Track                     [Page 6]
340 RFC 3513              IPv6 Addressing Architecture            April 2003
343    The general format of global unicast addresses is described in
344    section 2.5.4.  Some special-purpose subtypes of global unicast
345    addresses which contain embedded IPv4 addresses (for the purposes of
346    IPv4-IPv6 interoperation) are described in section 2.5.5.
348    Future specifications may redefine one or more sub-ranges of the
349    global unicast space for other purposes, but unless and until that
350    happens, implementations must treat all addresses that do not start
351    with any of the above-listed prefixes as global unicast addresses.
353 2.5 Unicast Addresses
355    IPv6 unicast addresses are aggregable with prefixes of arbitrary
356    bit-length similar to IPv4 addresses under Classless Interdomain
357    Routing.
359    There are several types of unicast addresses in IPv6, in particular
360    global unicast, site-local unicast, and link-local unicast.  There
361    are also some special-purpose subtypes of global unicast, such as
362    IPv6 addresses with embedded IPv4 addresses or encoded NSAP
363    addresses.  Additional address types or subtypes can be defined in
364    the future.
366    IPv6 nodes may have considerable or little knowledge of the internal
367    structure of the IPv6 address, depending on the role the node plays
368    (for instance, host versus router).  At a minimum, a node may
369    consider that unicast addresses (including its own) have no internal
370    structure:
372    |                           128 bits                              |
373    +-----------------------------------------------------------------+
374    |                          node address                           |
375    +-----------------------------------------------------------------+
377    A slightly sophisticated host (but still rather simple) may
378    additionally be aware of subnet prefix(es) for the link(s) it is
379    attached to, where different addresses may have different values for
380    n:
382    |                         n bits                 |   128-n bits   |
383    +------------------------------------------------+----------------+
384    |                   subnet prefix                | interface ID   |
385    +------------------------------------------------+----------------+
387    Though a very simple router may have no knowledge of the internal
388    structure of IPv6 unicast addresses, routers will more generally have
389    knowledge of one or more of the hierarchical boundaries for the
390    operation of routing protocols.  The known boundaries will differ
394 Hinden & Deering            Standards Track                     [Page 7]
396 RFC 3513              IPv6 Addressing Architecture            April 2003
399    from router to router, depending on what positions the router holds
400    in the routing hierarchy.
402 2.5.1 Interface Identifiers
404    Interface identifiers in IPv6 unicast addresses are used to identify
405    interfaces on a link.  They are required to be unique within a subnet
406    prefix.  It is recommended that the same interface identifier not be
407    assigned to different nodes on a link.  They may also be unique over
408    a broader scope.  In some cases an interface's identifier will be
409    derived directly from that interface's link-layer address.  The same
410    interface identifier may be used on multiple interfaces on a single
411    node, as long as they are attached to different subnets.
413    Note that the uniqueness of interface identifiers is independent of
414    the uniqueness of IPv6 addresses.  For example, a global unicast
415    address may be created with a non-global scope interface identifier
416    and a site-local address may be created with a global scope interface
417    identifier.
419    For all unicast addresses, except those that start with binary value
420    000, Interface IDs are required to be 64 bits long and to be
421    constructed in Modified EUI-64 format.
423    Modified EUI-64 format based Interface identifiers may have global
424    scope when derived from a global token (e.g., IEEE 802 48-bit MAC or
425    IEEE EUI-64 identifiers [EUI64]) or may have local scope where a
426    global token is not available (e.g., serial links, tunnel end-points,
427    etc.) or where global tokens are undesirable (e.g., temporary tokens
428    for privacy [PRIV]).
430    Modified EUI-64 format interface identifiers are formed by inverting
431    the "u" bit (universal/local bit in IEEE EUI-64 terminology) when
432    forming the interface identifier from IEEE EUI-64 identifiers.  In
433    the resulting Modified EUI-64 format the "u" bit is set to one (1) to
434    indicate global scope, and it is set to zero (0) to indicate local
435    scope.  The first three octets in binary of an IEEE EUI-64 identifier
436    are as follows:
438        0       0 0       1 1       2
439       |0       7 8       5 6       3|
440       +----+----+----+----+----+----+
441       |cccc|ccug|cccc|cccc|cccc|cccc|
442       +----+----+----+----+----+----+
444    written in Internet standard bit-order , where "u" is the
445    universal/local bit, "g" is the individual/group bit, and "c" are the
446    bits of the company_id.  Appendix A: "Creating Modified EUI-64 format
450 Hinden & Deering            Standards Track                     [Page 8]
452 RFC 3513              IPv6 Addressing Architecture            April 2003
455    Interface Identifiers" provides examples on the creation of Modified
456    EUI-64 format based interface identifiers.
458    The motivation for inverting the "u" bit when forming an interface
459    identifier is to make it easy for system administrators to hand
460    configure non-global identifiers when hardware tokens are not
461    available.  This is expected to be case for serial links, tunnel end-
462    points, etc.  The alternative would have been for these to be of the
463    form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler 1, 2,
464    etc.
466    The use of the universal/local bit in the Modified EUI-64 format
467    identifier is to allow development of future technology that can take
468    advantage of interface identifiers with global scope.
470    The details of forming interface identifiers are defined in the
471    appropriate "IPv6 over <link>" specification such as "IPv6 over
472    Ethernet" [ETHER], "IPv6 over FDDI" [FDDI], etc.
474 2.5.2 The Unspecified Address
476    The address 0:0:0:0:0:0:0:0 is called the unspecified address.  It
477    must never be assigned to any node.  It indicates the absence of an
478    address.  One example of its use is in the Source Address field of
479    any IPv6 packets sent by an initializing host before it has learned
480    its own address.
482    The unspecified address must not be used as the destination address
483    of IPv6 packets or in IPv6 Routing Headers.  An IPv6 packet with a
484    source address of unspecified must never be forwarded by an IPv6
485    router.
487 2.5.3 The Loopback Address
489    The unicast address 0:0:0:0:0:0:0:1 is called the loopback address.
490    It may be used by a node to send an IPv6 packet to itself.  It may
491    never be assigned to any physical interface.   It is treated as
492    having link-local scope, and may be thought of as the link-local
493    unicast address of a virtual interface (typically called "the
494    loopback interface") to an imaginary link that goes nowhere.
496    The loopback address must not be used as the source address in IPv6
497    packets that are sent outside of a single node.  An IPv6 packet with
498    a destination address of loopback must never be sent outside of a
499    single node and must never be forwarded by an IPv6 router.  A packet
500    received on an interface with destination address of loopback must be
501    dropped.
506 Hinden & Deering            Standards Track                     [Page 9]
508 RFC 3513              IPv6 Addressing Architecture            April 2003
511 2.5.4 Global Unicast Addresses
513    The general format for IPv6 global unicast addresses is as follows:
515    |         n bits         |   m bits  |       128-n-m bits         |
516    +------------------------+-----------+----------------------------+
517    | global routing prefix  | subnet ID |       interface ID         |
518    +------------------------+-----------+----------------------------+
520    where the global routing prefix is a (typically hierarchically-
521    structured) value assigned to a site (a cluster of subnets/links),
522    the subnet ID is an identifier of a link within the site, and the
523    interface ID is as defined in section 2.5.1.
525    All global unicast addresses other than those that start with binary
526    000 have a 64-bit interface ID field (i.e., n + m = 64), formatted as
527    described in section 2.5.1.  Global unicast addresses that start with
528    binary 000 have no such constraint on the size or structure of the
529    interface ID field.
531    Examples of global unicast addresses that start with binary 000 are
532    the IPv6 address with embedded IPv4 addresses described in section
533    2.5.5 and the IPv6 address containing encoded NSAP addresses
534    specified in [NSAP].  An example of global addresses starting with a
535    binary value other than 000 (and therefore having a 64-bit interface
536    ID field) can be found in [AGGR].
538 2.5.5 IPv6 Addresses with Embedded IPv4 Addresses
540    The IPv6 transition mechanisms [TRAN] include a technique for hosts
541    and routers to dynamically tunnel IPv6 packets over IPv4 routing
542    infrastructure.  IPv6 nodes that use this technique are assigned
543    special IPv6 unicast addresses that carry a global IPv4 address in
544    the low-order 32 bits.  This type of address is termed an "IPv4-
545    compatible IPv6 address" and has the format:
547    |                80 bits               | 16 |      32 bits        |
548    +--------------------------------------+--------------------------+
549    |0000..............................0000|0000|    IPv4 address     |
550    +--------------------------------------+----+---------------------+
552    Note: The IPv4 address used in the "IPv4-compatible IPv6 address"
553    must be a globally-unique IPv4 unicast address.
555    A second type of IPv6 address which holds an embedded IPv4 address is
556    also defined.  This address type is used to represent the addresses
557    of IPv4 nodes as IPv6 addresses.  This type of address is termed an
558    "IPv4-mapped IPv6 address" and has the format:
562 Hinden & Deering            Standards Track                    [Page 10]
564 RFC 3513              IPv6 Addressing Architecture            April 2003
567    |                80 bits               | 16 |      32 bits        |
568    +--------------------------------------+--------------------------+
569    |0000..............................0000|FFFF|    IPv4 address     |
570    +--------------------------------------+----+---------------------+
572 2.5.6 Local-Use IPv6 Unicast Addresses
574    There are two types of local-use unicast addresses defined.  These
575    are Link-Local and Site-Local.  The Link-Local is for use on a single
576    link and the Site-Local is for use in a single site.  Link-Local
577    addresses have the following format:
579    |   10     |
580    |  bits    |         54 bits         |          64 bits           |
581    +----------+-------------------------+----------------------------+
582    |1111111010|           0             |       interface ID         |
583    +----------+-------------------------+----------------------------+
585    Link-Local addresses are designed to be used for addressing on a
586    single link for purposes such as automatic address configuration,
587    neighbor discovery, or when no routers are present.
589    Routers must not forward any packets with link-local source or
590    destination addresses to other links.
592    Site-Local addresses have the following format:
594    |   10     |
595    |  bits    |         54 bits         |         64 bits            |
596    +----------+-------------------------+----------------------------+
597    |1111111011|        subnet ID        |       interface ID         |
598    +----------+-------------------------+----------------------------+
600    Site-local addresses are designed to be used for addressing inside of
601    a site without the need for a global prefix.  Although a subnet ID
602    may be up to 54-bits long, it is expected that globally-connected
603    sites will use the same subnet IDs for site-local and global
604    prefixes.
606    Routers must not forward any packets with site-local source or
607    destination addresses outside of the site.
618 Hinden & Deering            Standards Track                    [Page 11]
620 RFC 3513              IPv6 Addressing Architecture            April 2003
623 2.6 Anycast Addresses
625    An IPv6 anycast address is an address that is assigned to more than
626    one interface (typically belonging to different nodes), with the
627    property that a packet sent to an anycast address is routed to the
628    "nearest" interface having that address, according to the routing
629    protocols' measure of distance.
631    Anycast addresses are allocated from the unicast address space, using
632    any of the defined unicast address formats.  Thus, anycast addresses
633    are syntactically indistinguishable from unicast addresses.  When a
634    unicast address is assigned to more than one interface, thus turning
635    it into an anycast address, the nodes to which the address is
636    assigned must be explicitly configured to know that it is an anycast
637    address.
639    For any assigned anycast address, there is a longest prefix P of that
640    address that identifies the topological region in which all
641    interfaces belonging to that anycast address reside.  Within the
642    region identified by P, the anycast address must be maintained as a
643    separate entry in the routing system (commonly referred to as a "host
644    route"); outside the region identified by P, the anycast address may
645    be aggregated into the routing entry for prefix P.
647    Note that in the worst case, the prefix P of an anycast set may be
648    the null prefix, i.e., the members of the set may have no topological
649    locality.  In that case, the anycast address must be maintained as a
650    separate routing entry throughout the entire internet, which presents
651    a severe scaling limit on how many such "global" anycast sets may be
652    supported.  Therefore, it is expected that support for global anycast
653    sets may be unavailable or very restricted.
655    One expected use of anycast addresses is to identify the set of
656    routers belonging to an organization providing internet service.
657    Such addresses could be used as intermediate addresses in an IPv6
658    Routing header, to cause a packet to be delivered via a particular
659    service provider or sequence of service providers.
661    Some other possible uses are to identify the set of routers attached
662    to a particular subnet, or the set of routers providing entry into a
663    particular routing domain.
665    There is little experience with widespread, arbitrary use of internet
666    anycast addresses, and some known complications and hazards when
667    using them in their full generality [ANYCST].  Until more experience
668    has been gained and solutions are specified, the following
669    restrictions are imposed on IPv6 anycast addresses:
674 Hinden & Deering            Standards Track                    [Page 12]
676 RFC 3513              IPv6 Addressing Architecture            April 2003
679    o  An anycast address must not be used as the source address of an
680       IPv6 packet.
682    o  An anycast address must not be assigned to an IPv6 host, that is,
683       it may be assigned to an IPv6 router only.
685 2.6.1 Required Anycast Address
687    The Subnet-Router anycast address is predefined.  Its format is as
688    follows:
690    |                         n bits                 |   128-n bits   |
691    +------------------------------------------------+----------------+
692    |                   subnet prefix                | 00000000000000 |
693    +------------------------------------------------+----------------+
695    The "subnet prefix" in an anycast address is the prefix which
696    identifies a specific link.  This anycast address is syntactically
697    the same as a unicast address for an interface on the link with the
698    interface identifier set to zero.
700    Packets sent to the Subnet-Router anycast address will be delivered
701    to one router on the subnet.  All routers are required to support the
702    Subnet-Router anycast addresses for the subnets to which they have
703    interfaces.
705    The subnet-router anycast address is intended to be used for
706    applications where a node needs to communicate with any one of the
707    set of routers.
709 2.7 Multicast Addresses
711    An IPv6 multicast address is an identifier for a group of interfaces
712    (typically on different nodes).  An interface may belong to any
713    number of multicast groups.  Multicast addresses have the following
714    format:
716    |   8    |  4 |  4 |                  112 bits                   |
717    +------ -+----+----+---------------------------------------------+
718    |11111111|flgs|scop|                  group ID                   |
719    +--------+----+----+---------------------------------------------+
721          binary 11111111 at the start of the address identifies the
722          address as being a multicast address.
724                                        +-+-+-+-+
725          flgs is a set of 4 flags:     |0|0|0|T|
726                                        +-+-+-+-+
730 Hinden & Deering            Standards Track                    [Page 13]
732 RFC 3513              IPv6 Addressing Architecture            April 2003
735             The high-order 3 flags are reserved, and must be initialized
736             to 0.
738             T = 0 indicates a permanently-assigned ("well-known")
739             multicast address, assigned by the Internet Assigned Number
740             Authority (IANA).
742             T = 1 indicates a non-permanently-assigned ("transient")
743             multicast address.
745          scop is a 4-bit multicast scope value used to limit the scope
746          of the multicast group.  The values are:
748             0  reserved
749             1  interface-local scope
750             2  link-local scope
751             3  reserved
752             4  admin-local scope
753             5  site-local scope
754             6  (unassigned)
755             7  (unassigned)
756             8  organization-local scope
757             9  (unassigned)
758             A  (unassigned)
759             B  (unassigned)
760             C  (unassigned)
761             D  (unassigned)
762             E  global scope
763             F  reserved
765             interface-local scope spans only a single interface on a
766             node, and is useful only for loopback transmission of
767             multicast.
769             link-local and site-local multicast scopes span the same
770             topological regions as the corresponding unicast scopes.
772             admin-local scope is the smallest scope that must be
773             administratively configured, i.e., not automatically derived
774             from physical connectivity or other, non- multicast-related
775             configuration.
777             organization-local scope is intended to span multiple sites
778             belonging to a single organization.
780             scopes labeled "(unassigned)" are available for
781             administrators to define additional multicast regions.
786 Hinden & Deering            Standards Track                    [Page 14]
788 RFC 3513              IPv6 Addressing Architecture            April 2003
791          group ID identifies the multicast group, either permanent or
792          transient, within the given scope.
794    The "meaning" of a permanently-assigned multicast address is
795    independent of the scope value.  For example, if the "NTP servers
796    group" is assigned a permanent multicast address with a group ID of
797    101 (hex), then:
799       FF01:0:0:0:0:0:0:101 means all NTP servers on the same interface
800       (i.e., the same node) as the sender.
802       FF02:0:0:0:0:0:0:101 means all NTP servers on the same link as the
803       sender.
805       FF05:0:0:0:0:0:0:101 means all NTP servers in the same site as the
806       sender.
808       FF0E:0:0:0:0:0:0:101 means all NTP servers in the internet.
810    Non-permanently-assigned multicast addresses are meaningful only
811    within a given scope.  For example, a group identified by the non-
812    permanent, site-local multicast address FF15:0:0:0:0:0:0:101 at one
813    site bears no relationship to a group using the same address at a
814    different site, nor to a non-permanent group using the same group ID
815    with different scope, nor to a permanent group with the same group
816    ID.
818    Multicast addresses must not be used as source addresses in IPv6
819    packets or appear in any Routing header.
821    Routers must not forward any multicast packets beyond of the scope
822    indicated by the scop field in the destination multicast address.
824    Nodes must not originate a packet to a multicast address whose scop
825    field contains the reserved value 0; if such a packet is received, it
826    must be silently dropped.  Nodes should not originate a packet to a
827    multicast address whose scop field contains the reserved value F; if
828    such a packet is sent or received, it must be treated the same as
829    packets destined to a global (scop E) multicast address.
831 2.7.1 Pre-Defined Multicast Addresses
833    The following well-known multicast addresses are pre-defined.  The
834    group ID's defined in this section are defined for explicit scope
835    values.
837    Use of these group IDs for any other scope values, with the T flag
838    equal to 0, is not allowed.
842 Hinden & Deering            Standards Track                    [Page 15]
844 RFC 3513              IPv6 Addressing Architecture            April 2003
847       Reserved Multicast Addresses:   FF00:0:0:0:0:0:0:0
848                                       FF01:0:0:0:0:0:0:0
849                                       FF02:0:0:0:0:0:0:0
850                                       FF03:0:0:0:0:0:0:0
851                                       FF04:0:0:0:0:0:0:0
852                                       FF05:0:0:0:0:0:0:0
853                                       FF06:0:0:0:0:0:0:0
854                                       FF07:0:0:0:0:0:0:0
855                                       FF08:0:0:0:0:0:0:0
856                                       FF09:0:0:0:0:0:0:0
857                                       FF0A:0:0:0:0:0:0:0
858                                       FF0B:0:0:0:0:0:0:0
859                                       FF0C:0:0:0:0:0:0:0
860                                       FF0D:0:0:0:0:0:0:0
861                                       FF0E:0:0:0:0:0:0:0
862                                       FF0F:0:0:0:0:0:0:0
864    The above multicast addresses are reserved and shall never be
865    assigned to any multicast group.
867       All Nodes Addresses:    FF01:0:0:0:0:0:0:1
868                               FF02:0:0:0:0:0:0:1
870    The above multicast addresses identify the group of all IPv6 nodes,
871    within scope 1 (interface-local) or 2 (link-local).
873       All Routers Addresses:   FF01:0:0:0:0:0:0:2
874                                FF02:0:0:0:0:0:0:2
875                                FF05:0:0:0:0:0:0:2
877    The above multicast addresses identify the group of all IPv6 routers,
878    within scope 1 (interface-local), 2 (link-local), or 5 (site-local).
880       Solicited-Node Address:  FF02:0:0:0:0:1:FFXX:XXXX
882    Solicited-node multicast address are computed as a function of a
883    node's unicast and anycast addresses.  A solicited-node multicast
884    address is formed by taking the low-order 24 bits of an address
885    (unicast or anycast) and appending those bits to the prefix
886    FF02:0:0:0:0:1:FF00::/104 resulting in a multicast address in the
887    range
889       FF02:0:0:0:0:1:FF00:0000
891    to
893       FF02:0:0:0:0:1:FFFF:FFFF
898 Hinden & Deering            Standards Track                    [Page 16]
900 RFC 3513              IPv6 Addressing Architecture            April 2003
903    For example, the solicited node multicast address corresponding to
904    the IPv6 address 4037::01:800:200E:8C6C is FF02::1:FF0E:8C6C.  IPv6
905    addresses that differ only in the high-order bits, e.g., due to
906    multiple high-order prefixes associated with different aggregations,
907    will map to the same solicited-node address thereby, reducing the
908    number of multicast addresses a node must join.
910    A node is required to compute and join (on the appropriate interface)
911    the associated Solicited-Node multicast addresses for every unicast
912    and anycast address it is assigned.
914 2.8 A Node's Required Addresses
916    A host is required to recognize the following addresses as
917    identifying itself:
919       o  Its required Link-Local Address for each interface.
920       o  Any additional Unicast and Anycast Addresses that have been
921          configured for the node's interfaces (manually or
922          automatically).
923       o  The loopback address.
924       o  The All-Nodes Multicast Addresses defined in section 2.7.1.
925       o  The Solicited-Node Multicast Address for each of its unicast
926          and anycast addresses.
927       o  Multicast Addresses of all other groups to which the node
928          belongs.
930    A router is required to recognize all addresses that a host is
931    required to recognize, plus the following addresses as identifying
932    itself:
934       o  The Subnet-Router Anycast Addresses for all interfaces for
935          which it is configured to act as a router.
936       o  All other Anycast Addresses with which the router has been
937          configured.
938       o  The All-Routers Multicast Addresses defined in section 2.7.1.
940 3. Security Considerations
942    IPv6 addressing documents do not have any direct impact on Internet
943    infrastructure security.  Authentication of IPv6 packets is defined
944    in [AUTH].
954 Hinden & Deering            Standards Track                    [Page 17]
956 RFC 3513              IPv6 Addressing Architecture            April 2003
959 4. IANA Considerations
961    The table and notes at http://www.isi.edu/in-
962    notes/iana/assignments/ipv6-address-space.txt should be replaced with
963    the following:
965    INTERNET PROTOCOL VERSION 6 ADDRESS SPACE
967    The initial assignment of IPv6 address space is as follows:
969    Allocation                            Prefix         Fraction of
970                                          (binary)       Address Space
971    -----------------------------------   --------       -------------
972    Unassigned (see Note 1 below)         0000 0000      1/256
973    Unassigned                            0000 0001      1/256
974    Reserved for NSAP Allocation          0000 001       1/128 [RFC1888]
975    Unassigned                            0000 01        1/64
976    Unassigned                            0000 1         1/32
977    Unassigned                            0001           1/16
978    Global Unicast                        001            1/8   [RFC2374]
979    Unassigned                            010            1/8
980    Unassigned                            011            1/8
981    Unassigned                            100            1/8
982    Unassigned                            101            1/8
983    Unassigned                            110            1/8
984    Unassigned                            1110           1/16
985    Unassigned                            1111 0         1/32
986    Unassigned                            1111 10        1/64
987    Unassigned                            1111 110       1/128
988    Unassigned                            1111 1110 0    1/512
989    Link-Local Unicast Addresses          1111 1110 10   1/1024
990    Site-Local Unicast Addresses          1111 1110 11   1/1024
991    Multicast Addresses                   1111 1111      1/256
993    Notes:
995    1. The "unspecified address", the "loopback address", and the IPv6
996       Addresses with Embedded IPv4 Addresses are assigned out of the
997       0000 0000 binary prefix space.
999    2. For now, IANA should limit its allocation of IPv6 unicast address
1000       space to the range of addresses that start with binary value 001.
1001       The rest of the global unicast address space (approximately 85% of
1002       the IPv6 address space) is reserved for future definition and use,
1003       and is not to be assigned by IANA at this time.
1010 Hinden & Deering            Standards Track                    [Page 18]
1012 RFC 3513              IPv6 Addressing Architecture            April 2003
1015 5.  References
1017 5.1  Normative References
1019    [IPV6]    Deering, S. and R. Hinden, "Internet Protocol, Version 6
1020              (IPv6) Specification", RFC 2460, December 1998.
1022    [RFC2026] Bradner, S., "The Internet Standards Process -- Revision
1023              3", BCP 9 , RFC 2026, October 1996.
1025 5.2  Informative References
1027    [ANYCST]  Partridge, C., Mendez, T. and W. Milliken, "Host Anycasting
1028              Service", RFC 1546, November 1993.
1030    [AUTH]    Kent, S. and R. Atkinson, "IP Authentication Header", RFC
1031              2402, November 1998.
1033    [AGGR]    Hinden, R., O'Dell, M. and S. Deering, "An Aggregatable
1034              Global Unicast Address Format", RFC 2374, July 1998.
1036    [CIDR]    Fuller, V., Li, T., Yu, J. and K. Varadhan, "Classless
1037              Inter-Domain Routing (CIDR): An Address Assignment and
1038              Aggregation Strategy", RFC 1519, September 1993.
1040    [ETHER]   Crawford, M., "Transmission of IPv6 Packets over Ethernet
1041              Networks", RFC 2464, December 1998.
1043    [EUI64]   IEEE, "Guidelines for 64-bit Global Identifier (EUI-64)
1044              Registration Authority",
1045              http://standards.ieee.org/regauth/oui/tutorials/EUI64.html,
1046              March 1997.
1048    [FDDI]    Crawford, M., "Transmission of IPv6 Packets over FDDI
1049              Networks", RFC 2467, December 1998.
1051    [MASGN]   Hinden, R. and S. Deering, "IPv6 Multicast Address
1052              Assignments", RFC 2375, July 1998.
1054    [NSAP]    Bound, J., Carpenter, B., Harrington, D., Houldsworth, J.
1055              and A. Lloyd, "OSI NSAPs and IPv6", RFC 1888, August 1996.
1057    [PRIV]    Narten, T. and R. Draves, "Privacy Extensions for Stateless
1058              Address Autoconfiguration in IPv6", RFC 3041, January 2001.
1060    [TOKEN]   Crawford, M., Narten, T. and S. Thomas, "Transmission of
1061              IPv6 Packets over Token Ring Networks", RFC 2470, December
1062              1998.
1066 Hinden & Deering            Standards Track                    [Page 19]
1068 RFC 3513              IPv6 Addressing Architecture            April 2003
1071    [TRAN]    Gilligan, R. and E. Nordmark, "Transition Mechanisms for
1072              IPv6 Hosts and Routers", RFC 2893, August 2000.
1122 Hinden & Deering            Standards Track                    [Page 20]
1124 RFC 3513              IPv6 Addressing Architecture            April 2003
1127 APPENDIX A: Creating Modified EUI-64 format Interface Identifiers
1129    Depending on the characteristics of a specific link or node there are
1130    a number of approaches for creating Modified EUI-64 format interface
1131    identifiers.  This appendix describes some of these approaches.
1133 Links or Nodes with IEEE EUI-64 Identifiers
1135    The only change needed to transform an IEEE EUI-64 identifier to an
1136    interface identifier is to invert the "u" (universal/local) bit.  For
1137    example, a globally unique IEEE EUI-64 identifier of the form:
1139    |0              1|1              3|3              4|4              6|
1140    |0              5|6              1|2              7|8              3|
1141    +----------------+----------------+----------------+----------------+
1142    |cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|mmmmmmmmmmmmmmmm|
1143    +----------------+----------------+----------------+----------------+
1145    where "c" are the bits of the assigned company_id, "0" is the value
1146    of the universal/local bit to indicate global scope, "g" is
1147    individual/group bit, and "m" are the bits of the manufacturer-
1148    selected extension identifier.  The IPv6 interface identifier would
1149    be of the form:
1151    |0              1|1              3|3              4|4              6|
1152    |0              5|6              1|2              7|8              3|
1153    +----------------+----------------+----------------+----------------+
1154    |cccccc1gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|mmmmmmmmmmmmmmmm|
1155    +----------------+----------------+----------------+----------------+
1157    The only change is inverting the value of the universal/local bit.
1159 Links or Nodes with IEEE 802 48 bit MAC's
1161    [EUI64] defines a method to create a IEEE EUI-64 identifier from an
1162    IEEE 48bit MAC identifier.  This is to insert two octets, with
1163    hexadecimal values of 0xFF and 0xFE, in the middle of the 48 bit MAC
1164    (between the company_id and vendor supplied id).  For example, the 48
1165    bit IEEE MAC with global scope:
1178 Hinden & Deering            Standards Track                    [Page 21]
1180 RFC 3513              IPv6 Addressing Architecture            April 2003
1183    |0              1|1              3|3              4|
1184    |0              5|6              1|2              7|
1185    +----------------+----------------+----------------+
1186    |cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|
1187    +----------------+----------------+----------------+
1189    where "c" are the bits of the assigned company_id, "0" is the value
1190    of the universal/local bit to indicate global scope, "g" is
1191    individual/group bit, and "m" are the bits of the manufacturer-
1192    selected extension identifier.  The interface identifier would be of
1193    the form:
1195    |0              1|1              3|3              4|4              6|
1196    |0              5|6              1|2              7|8              3|
1197    +----------------+----------------+----------------+----------------+
1198    |cccccc1gcccccccc|cccccccc11111111|11111110mmmmmmmm|mmmmmmmmmmmmmmmm|
1199    +----------------+----------------+----------------+----------------+
1201    When IEEE 802 48bit MAC addresses are available (on an interface or a
1202    node), an implementation may use them to create interface identifiers
1203    due to their availability and uniqueness properties.
1205 Links with Other Kinds of Identifiers
1207    There are a number of types of links that have link-layer interface
1208    identifiers other than IEEE EIU-64 or IEEE 802 48-bit MACs.  Examples
1209    include LocalTalk and Arcnet.  The method to create an Modified EUI-
1210    64 format identifier is to take the link identifier (e.g., the
1211    LocalTalk 8 bit node identifier) and zero fill it to the left.  For
1212    example, a LocalTalk 8 bit node identifier of hexadecimal value 0x4F
1213    results in the following interface identifier:
1215    |0              1|1              3|3              4|4              6|
1216    |0              5|6              1|2              7|8              3|
1217    +----------------+----------------+----------------+----------------+
1218    |0000000000000000|0000000000000000|0000000000000000|0000000001001111|
1219    +----------------+----------------+----------------+----------------+
1221    Note that this results in the universal/local bit set to "0" to
1222    indicate local scope.
1224 Links without Identifiers
1226    There are a number of links that do not have any type of built-in
1227    identifier.  The most common of these are serial links and configured
1228    tunnels.  Interface identifiers must be chosen that are unique within
1229    a subnet-prefix.
1234 Hinden & Deering            Standards Track                    [Page 22]
1236 RFC 3513              IPv6 Addressing Architecture            April 2003
1239    When no built-in identifier is available on a link the preferred
1240    approach is to use a global interface identifier from another
1241    interface or one which is assigned to the node itself.  When using
1242    this approach no other interface connecting the same node to the same
1243    subnet-prefix may use the same identifier.
1245    If there is no global interface identifier available for use on the
1246    link the implementation needs to create a local-scope interface
1247    identifier.  The only requirement is that it be unique within a
1248    subnet prefix.  There are many possible approaches to select a
1249    subnet-prefix-unique interface identifier.  These include:
1251       Manual Configuration
1252       Node Serial Number
1253       Other node-specific token
1255    The subnet-prefix-unique interface identifier should be generated in
1256    a manner that it does not change after a reboot of a node or if
1257    interfaces are added or deleted from the node.
1259    The selection of the appropriate algorithm is link and implementation
1260    dependent.  The details on forming interface identifiers are defined
1261    in the appropriate "IPv6 over <link>" specification.  It is strongly
1262    recommended that a collision detection algorithm be implemented as
1263    part of any automatic algorithm.
1290 Hinden & Deering            Standards Track                    [Page 23]
1292 RFC 3513              IPv6 Addressing Architecture            April 2003
1295 APPENDIX B: Changes from RFC-2373
1297    The following changes were made from RFC-2373 "IP Version 6
1298    Addressing Architecture":
1300    -  Clarified text in section 2.2 to allow "::" to represent one or
1301       more groups of 16 bits of zeros.
1302    -  Changed uniqueness requirement of Interface Identifiers from
1303       unique on a link to unique within a subnet prefix.  Also added a
1304       recommendation that the same interface identifier not be assigned
1305       to different machines on a link.
1306    -  Change site-local format to make the subnet ID field 54-bit long
1307       and remove the 38-bit zero's field.
1308    -  Added description of multicast scop values and rules to handle the
1309       reserved scop value 0.
1310    -  Revised sections 2.4 and 2.5.6 to simplify and clarify how
1311       different address types  are identified.  This was done to insure
1312       that implementations do not build in any knowledge about global
1313       unicast format prefixes.  Changes include:
1314          o  Removed Format Prefix (FP) terminology
1315          o  Revised list of address types to only include exceptions to
1316             global unicast and a singe entry that identifies everything
1317             else as Global Unicast.
1318          o  Removed list of defined prefix exceptions from section 2.5.6
1319             as it is now the main part of section 2.4.
1320    -  Clarified text relating to EUI-64 identifiers to distinguish
1321       between IPv6's "Modified EUI-64 format" identifiers and IEEE EUI-
1322       64 identifiers.
1323    -  Combined the sections on the Global Unicast Addresses and NSAP
1324       Addresses into a single section on Global Unicast Addresses,
1325       generalized the Global Unicast format, and cited [AGGR] and [NSAP]
1326       as examples.
1327    -  Reordered sections 2.5.4 and 2.5.5.
1328    -  Removed section 2.7.2 Assignment of New IPv6 Multicast Addresses
1329       because this is being redefined elsewhere.
1330    -  Added an IANA considerations section that updates the IANA IPv6
1331       address allocations and documents the NSAP and AGGR allocations.
1332    -  Added clarification that the "IPv4-compatible IPv6 address" must
1333       use global IPv4 unicast addresses.
1334    -  Divided references in to normative and non-normative sections.
1335    -  Added reference to [PRIV] in section 2.5.1
1336    -  Added clarification that routers must not forward multicast
1337       packets outside of the scope indicated in the multicast address.
1338    -  Added clarification that routers must not forward packets with
1339        source address of the unspecified address.
1340    -  Added clarification that routers must drop packets received on an
1341       interface with destination address of loopback.
1342    -  Clarified the definition of IPv4-mapped addresses.
1346 Hinden & Deering            Standards Track                    [Page 24]
1348 RFC 3513              IPv6 Addressing Architecture            April 2003
1351    -  Removed the ABNF Description of Text Representations Appendix.
1352    -  Removed the address block reserved for IPX addresses.
1353    -  Multicast scope changes:
1354          o  Changed name of scope value 1 from "node-local" to
1355             "interface-local"
1356          o  Defined scope value 4 as "admin-local"
1357    -  Corrected reference to RFC1933 and updated references.
1358    -  Many small changes to clarify and make the text more consistent.
1360 Authors' Addresses
1362    Robert M. Hinden
1363    Nokia
1364    313 Fairchild Drive
1365    Mountain View, CA 94043
1366    USA
1368    Phone: +1 650 625-2004
1369    EMail: hinden@iprg.nokia.com
1372    Stephen E. Deering
1373    Cisco Systems, Inc.
1374    170 West Tasman Drive
1375    San Jose, CA 95134-1706
1376    USA
1378    Phone: +1 408 527-8213
1379    EMail: deering@cisco.com
1402 Hinden & Deering            Standards Track                    [Page 25]
1404 RFC 3513              IPv6 Addressing Architecture            April 2003
1407 Full Copyright Statement
1409    Copyright (C) The Internet Society (2003).  All Rights Reserved.
1411    This document and translations of it may be copied and furnished to
1412    others, and derivative works that comment on or otherwise explain it
1413    or assist in its implementation may be prepared, copied, published
1414    and distributed, in whole or in part, without restriction of any
1415    kind, provided that the above copyright notice and this paragraph are
1416    included on all such copies and derivative works.  However, this
1417    document itself may not be modified in any way, such as by removing
1418    the copyright notice or references to the Internet Society or other
1419    Internet organizations, except as needed for the purpose of
1420    developing Internet standards in which case the procedures for
1421    copyrights defined in the Internet Standards process must be
1422    followed, or as required to translate it into languages other than
1423    English.
1425    The limited permissions granted above are perpetual and will not be
1426    revoked by the Internet Society or its successors or assigns.
1428    This document and the information contained herein is provided on an
1429    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
1430    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
1431    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
1432    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
1433    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1435 Acknowledgement
1437    Funding for the RFC Editor function is currently provided by the
1438    Internet Society.
1458 Hinden & Deering            Standards Track                    [Page 26]